Files
i2p.itoopie/apps/sam/python/doc/epydoc/html/private/SocketServer.BaseServer-class.html
2004-08-02 14:00:56 +00:00

279 lines
12 KiB
HTML

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>SocketServer.BaseServer</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
<tr valign="center">
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<font size="-1"><b class="breadcrumbs">
Module&nbsp;SocketServer ::
Class&nbsp;BaseServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="..\private\SocketServer.BaseServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class BaseServer</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a>,
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a></dd></dl>
<hr/>
<pre class="literalblock">
Base class for server classes.
Methods for the caller:
- __init__(server_address, RequestHandlerClass)
- serve_forever()
- handle_request() # if you do not use serve_forever()
- fileno() -&gt; int # for select()
Methods that may be overridden:
- server_bind()
- server_activate()
- get_request() -&gt; request, client_address
- verify_request(request, client_address)
- server_close()
- process_request(request, client_address)
- close_request(request)
- handle_error()
Methods for derived classes:
- finish_request(request, client_address)
Class variables that may be overridden by derived classes or
instances:
- address_family
- socket_type
- allow_reuse_address
Instance variables:
- RequestHandlerClass
- socket
</pre>
<hr/>
<!-- =========== START OF METHOD SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Method Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>server_address</span>,
<span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
<br />
Constructor.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#close_request" class="summary-sig-name"><code>close_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>request</span>)</span></code>
<br />
Called to clean up an individual request.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#finish_request" class="summary-sig-name"><code>finish_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>request</span>,
<span class=summary-sig-arg>client_address</span>)</span></code>
<br />
Finish one request by instantiating RequestHandlerClass.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_error" class="summary-sig-name"><code>handle_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>request</span>,
<span class=summary-sig-arg>client_address</span>)</span></code>
<br />
Handle an error gracefully.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#handle_request" class="summary-sig-name"><code>handle_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle one request, possibly blocking.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#process_request" class="summary-sig-name"><code>process_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>request</span>,
<span class=summary-sig-arg>client_address</span>)</span></code>
<br />
Call finish_request.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever" class="summary-sig-name"><code>serve_forever</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle one request at a time until doomsday.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#server_activate" class="summary-sig-name"><code>server_activate</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called by constructor to activate the server.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#server_close" class="summary-sig-name"><code>server_close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called to clean-up the server.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="..\private\SocketServer.BaseServer-class.html#verify_request" class="summary-sig-name"><code>verify_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>request</span>,
<span class=summary-sig-arg>client_address</span>)</span></code>
<br />
Verify the request.</td></tr>
</table><br />
<!-- =========== START OF METHOD DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Method Details</th></tr>
</table>
<a name="__init__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>server_address</span>,
<span class=sig-arg>RequestHandlerClass</span>)</span>
<br /><i>(Constructor)</i>
</h3>
Constructor. May be extended, do not override.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="close_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">close_request</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>request</span>)</span>
</h3>
Called to clean up an individual request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="finish_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">finish_request</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>request</span>,
<span class=sig-arg>client_address</span>)</span>
</h3>
Finish one request by instantiating RequestHandlerClass.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="handle_error"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">handle_error</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>request</span>,
<span class=sig-arg>client_address</span>)</span>
</h3>
<p>Handle an error gracefully. May be overridden.</p>
The default is to print a traceback and continue.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="handle_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">handle_request</span>(<span class=sig-arg>self</span>)</span>
</h3>
Handle one request, possibly blocking.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="process_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">process_request</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>request</span>,
<span class=sig-arg>client_address</span>)</span>
</h3>
<p>Call finish_request.</p>
Overridden by ForkingMixIn and ThreadingMixIn.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="serve_forever"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">serve_forever</span>(<span class=sig-arg>self</span>)</span>
</h3>
Handle one request at a time until doomsday.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="server_activate"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">server_activate</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Called by constructor to activate the server.</p>
May be overridden.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="server_close"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">server_close</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Called to clean-up the server.</p>
May be overridden.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="verify_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">verify_request</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>request</span>,
<span class=sig-arg>client_address</span>)</span>
</h3>
<p>Verify the request. May be overridden.</p>
Return True if we should proceed with this request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
<tr valign="center">
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
<td align="right"><a href="http://epydoc.sourceforge.net"
><font size="-2">http://epydoc.sf.net</font></a></td>
</tr>
</table>
</body>
</html>