279 lines
12 KiB
HTML
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"> <a class="navbar" href="i2p-module.html">Home</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </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 SocketServer ::
|
|
Class BaseServer
|
|
</b></font></br>
|
|
</td>
|
|
<td><table cellpadding="0" cellspacing="0">
|
|
<tr><td align="right"><font size="-2">[<b>show private</b> | hide private]</font></td></tr>
|
|
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a> | <a href="..\private\SocketServer.BaseServer-class.html" target="_top">no 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() -> int # for select()
|
|
|
|
Methods that may be overridden:
|
|
|
|
- server_bind()
|
|
- server_activate()
|
|
- get_request() -> 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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> <a class="navbar" href="i2p-module.html">Home</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </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>
|