Updated Python I2P version 0.91 by sunshine

This commit is contained in:
sunshine
2004-08-02 14:00:56 +00:00
committed by zzz
parent 4373956a3f
commit 4ed4ce8240
155 changed files with 25204 additions and 0 deletions

View File

@ -0,0 +1,100 @@
/* Body color */
body { background: #ffffff; color: #000000; }
/* Tables */
table.summary, table.details, table.index
{ background: #e8f0f8; color: #000000; }
tr.summary, tr.details, tr.index
{ background: #70b0f0; color: #000000;
text-align: left; font-size: 120%; }
tr.group { background: #c0e0f8; color: #000000;
text-align: left; font-size: 120%;
font-style: italic; }
/* Documentation page titles */
h2.module { margin-top: 0.2em; }
h2.class { margin-top: 0.2em; }
/* Headings */
h1.heading { font-size: +140%; font-style: italic;
font-weight: bold; }
h2.heading { font-size: +125%; font-style: italic;
font-weight: bold; }
h3.heading { font-size: +110%; font-style: italic;
font-weight: normal; }
/* Base tree */
pre.base-tree { font-size: 80%; margin: 0; }
/* Details Sections */
table.func-details { background: #e8f0f8; color: #000000;
border: 2px groove #c0d0d0;
padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
h3.func-detail { background: transparent; color: #000000;
margin: 0 0 1em 0; }
table.var-details { background: #e8f0f8; color: #000000;
border: 2px groove #c0d0d0;
padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
h3.var-details { background: transparent; color: #000000;
margin: 0 0 1em 0; }
/* Function signatures */
.sig { background: transparent; color: #000000;
font-weight: bold; }
.sig-name { background: transparent; color: #006080; }
.sig-arg, .sig-kwarg, .sig-vararg
{ background: transparent; color: #008060; }
.sig-default { background: transparent; color: #602000; }
.summary-sig { background: transparent; color: #000000; }
.summary-sig-name { background: transparent; color: #204080; }
.summary-sig-arg, .summary-sig-kwarg, .summary-sig-vararg
{ background: transparent; color: #008060; }
/* Doctest blocks */
.py-src { background: transparent; color: #000000; }
.py-prompt { background: transparent; color: #005050;
font-weight: bold;}
.py-string { background: transparent; color: #006030; }
.py-comment { background: transparent; color: #003060; }
.py-keyword { background: transparent; color: #600000; }
.py-output { background: transparent; color: #404040; }
pre.doctestblock { background: #f4faff; color: #000000;
padding: .5em; margin: 1em;
border: 1px solid #708890; }
table pre.doctestblock
{ background: #dce4ec; color: #000000;
padding: .5em; margin: 1em;
border: 1px solid #708890; }
/* Variable values */
pre.variable { background: #dce4ec; color: #000000;
padding: .5em; margin: 0;
border: 1px solid #708890; }
.variable-linewrap { background: transparent; color: #604000; }
.variable-ellipsis { background: transparent; color: #604000; }
.variable-quote { background: transparent; color: #604000; }
.re { background: transparent; color: #000000; }
.re-char { background: transparent; color: #006030; }
.re-op { background: transparent; color: #600000; }
.re-group { background: transparent; color: #003060; }
.re-ref { background: transparent; color: #404040; }
/* Navigation bar */
table.navbar { background: #a0c0ff; color: #0000ff;
border: 2px groove #c0d0d0; }
th.navbar { background: #a0c0ff; color: #0000ff; }
th.navselect { background: #70b0ff; color: #000000; }
.nomargin { margin: 0; }
/* Links */
a:link { background: transparent; color: #0000ff; }
a:visited { background: transparent; color: #204080; }
a.navbar:link { background: transparent; color: #0000ff;
text-decoration: none; }
a.navbar:visited { background: transparent; color: #204080;
text-decoration: none; }
/* Lists */
ul { margin-top: 0; }

View File

@ -0,0 +1,13 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title> API Documentation </title>
</head>
<frameset cols="20%,80%">
<frameset rows="30%,70%">
<frame src="public/toc.html" name="moduleListFrame">
<frame src="public/toc-everything.html" name="moduleFrame">
</frameset>
<frame src="public/i2p-module.html" name="mainFrame">
</frameset>
</html>

View File

@ -0,0 +1,645 @@
<?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>BaseHTTPServer.BaseHTTPRequestHandler</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;BaseHTTPServer ::
Class&nbsp;BaseHTTPRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/BaseHTTPServer.BaseHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class BaseHTTPRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<b>BaseHTTPRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a>,
<a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></dd></dl>
<hr/>
<pre class="literalblock">
HTTP request handler base class.
The following explanation of HTTP serves to guide you through the
code as well as to expose any misunderstandings I may have about
HTTP (so you don't need to read the code to figure out I'm wrong
:-).
HTTP (HyperText Transfer Protocol) is an extensible protocol on
top of a reliable stream transport (e.g. TCP/IP). The protocol
recognizes three parts to a request:
1. One line identifying the request type and path
2. An optional set of RFC-822-style headers
3. An optional data part
The headers and data are separated by a blank line.
The first line of the request has the form
&lt;command&gt; &lt;path&gt; &lt;version&gt;
where &lt;command&gt; is a (case-sensitive) keyword such as GET or POST,
&lt;path&gt; is a string containing path information for the request,
and &lt;version&gt; should be the string &quot;HTTP/1.0&quot; or &quot;HTTP/1.1&quot;.
&lt;path&gt; is encoded using the URL encoding scheme (using %xx to signify
the ASCII character with hex code xx).
The specification specifies that lines are separated by CRLF but
for compatibility with the widest range of clients recommends
servers also handle LF. Similarly, whitespace in the request line
is treated sensibly (allowing multiple spaces between components
and allowing trailing whitespace).
Similarly, for output, lines ought to be separated by CRLF pairs
but most clients grok LF characters just fine.
If the first line of the request has the form
&lt;command&gt; &lt;path&gt;
(i.e. &lt;version&gt; is left out) then this is assumed to be an HTTP
0.9 request; this form has no optional headers and data part and
the reply consists of just the data.
The reply form of the HTTP 1.x protocol again has three parts:
1. One line giving the response code
2. An optional set of RFC-822-style headers
3. The data
Again, the headers and data are separated by a blank line.
The response code line has the form
&lt;version&gt; &lt;responsecode&gt; &lt;responsestring&gt;
where &lt;version&gt; is the protocol version (&quot;HTTP/1.0&quot; or &quot;HTTP/1.1&quot;),
&lt;responsecode&gt; is a 3-digit response code indicating success or
failure of the request, and &lt;responsestring&gt; is an optional
human-readable string explaining what the response code means.
This server parses the request and the headers, and then calls a
function specific to the request type (&lt;command&gt;). Specifically,
a request SPAM will be handled by a method do_SPAM(). If no
such method exists the server sends an error response to the
client. If it exists, it is called with no arguments:
do_SPAM()
Note that the request name is case sensitive (i.e. SPAM and spam
are different requests).
The various request details are stored in instance variables:
- client_address is the client IP address in the form (host,
port);
- command, path and version are the broken-down request line;
- headers is an instance of mimetools.Message (or a derived
class) containing the header information;
- rfile is a file object open for reading positioned at the
start of the optional input data part;
- wfile is a file object open for writing.
IT IS IMPORTANT TO ADHERE TO THE PROTOCOL FOR WRITING!
The first thing to be written must be the response line. Then
follow 0 or more header lines, then a blank line, and then the
actual data (if any). The meaning of the header lines depends on
the command executed by the server; in most cases, when data is
returned, there should be at least one header line of the form
Content-type: &lt;type&gt;/&lt;subtype&gt;
where &lt;type&gt; and &lt;subtype&gt; should be registered MIME types,
e.g. &quot;text/html&quot; or &quot;text/plain&quot;.
</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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the client address formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current date and time formatted for a message header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Send the blank line ending the MIME headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle multiple requests if necessary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle a single HTTP 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current time formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an error.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>format</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an arbitrary message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>size</span>)</span></code>
<br />
Log an accepted 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Parse a request (internal).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send and log an error reply.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>keyword</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Send a MIME header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send the response header and log the response code.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the server software version string.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>classobj</code></font></td>
<td><a name="MessageClass"></a><b><code>MessageClass</code></b> = <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'BaseHTTP/0.3'"><code><span class="variable-quote">'</span>BaseHTTP/0.3<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="address_string"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">address_string</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Return the client address formatted for logging.</p>
This version looks up the full hostname using gethostbyaddr(), and
tries to find a name that contains at least one dot.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="date_time_string"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">date_time_string</span>(<span class=sig-arg>self</span>)</span>
</h3>
Return the current date and time formatted for a message header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="end_headers"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">end_headers</span>(<span class=sig-arg>self</span>)</span>
</h3>
Send the blank line ending the MIME headers.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="handle"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">handle</span>(<span class=sig-arg>self</span>)</span>
</h3>
Handle multiple requests if necessary.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SocketServer.BaseRequestHandler-class.html#handle"><code>SocketServer.BaseRequestHandler.handle</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="handle_one_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">handle_one_request</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Handle a single HTTP request.</p>
You normally don't need to override this method; see the class
__doc__ string for information on how to handle specific HTTP commands
such as GET and POST.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="log_date_time_string"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">log_date_time_string</span>(<span class=sig-arg>self</span>)</span>
</h3>
Return the current time formatted for logging.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="log_error"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">log_error</span>(<span class=sig-arg>self</span>,
<span class="sig-vararg">*args</span>)</span>
</h3>
<p>Log an error.</p>
<p>This is called when a request cannot be fulfilled. By default it
passes the message on to log_message().</p>
<p>Arguments are the same as for log_message().</p>
XXX This should go to the separate error log.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="log_message"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">log_message</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>format</span>,
<span class="sig-vararg">*args</span>)</span>
</h3>
<p>Log an arbitrary message.</p>
<p>This is used by all other logging functions. Override it if you have
specific logging wishes.</p>
<p>The first argument, FORMAT, is a format string for the message to be
logged. If the format string contains any % escapes requiring
parameters, they should be specified as subsequent arguments (it's just
like printf!).</p>
The client host and current date/time are prefixed to every
message.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="log_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">log_request</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>code</span>=<span class=sig-default>'-'</span>,
<span class=sig-arg>size</span>=<span class=sig-default>'-'</span>)</span>
</h3>
<p>Log an accepted request.</p>
This is called by send_reponse().
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="parse_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">parse_request</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Parse a request (internal).</p>
<p>The request should be stored in self.raw_requestline; the results
are in self.command, self.path, self.request_version and
self.headers.</p>
Return True for success, False for failure; on failure, an error is
sent back.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_error"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_error</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>code</span>,
<span class=sig-arg>message</span>=<span class=sig-default>None</span>)</span>
</h3>
<p>Send and log an error reply.</p>
<p>Arguments are the error code, and a detailed message. The detailed
message defaults to the short entry matching the response code.</p>
This sends an error response (so it must be called before any output
has been generated), logs the error, and finally sends a piece of HTML
explaining the error to the user.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_header"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_header</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>keyword</span>,
<span class=sig-arg>value</span>)</span>
</h3>
Send a MIME header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_response"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_response</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>code</span>,
<span class=sig-arg>message</span>=<span class=sig-default>None</span>)</span>
</h3>
<p>Send the response header and log the response code.</p>
Also send two standard headers with the server software version and
the current date.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="version_string"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">version_string</span>(<span class=sig-arg>self</span>)</span>
</h3>
Return the server software version string.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="error_message_format"></a>
<h3>error_message_format</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'''</span>&lt;head&gt;
&lt;title&gt;Error response&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Error response&lt;/h1&gt;
&lt;p&gt;Error code %(code)d.
&lt;p&gt;Message: %(message)s.
&lt;p&gt;Error code explanation: %(code)s = %(explain)s.
<span class="variable-ellipsis">...</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="monthname"></a>
<h3>monthname</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>list</code>
</dd>
<span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug'] </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="protocol_version"></a>
<h3>protocol_version</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'HTTP/1.0'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="responses"></a>
<h3>responses</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>dict</code>
</dd>
<span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
{100: ('Continue', 'Request received, please continue'),
101: ('Switching Protocols',
'Switching to new protocol; obey Upgrade header'),
200: ('OK', 'Request fulfilled, document follows'),
201: ('Created', 'Document created, URL follows'),
202: ('Accepted', 'Request accepted, processing continues off-line'),
203: ('Non-Authoritative Information', 'Request fulfilled from cache'<span class="variable-linewrap">\</span>
),
<span class="variable-ellipsis">...</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="server_version"></a>
<h3>server_version</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'BaseHTTP/0.3'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>BaseHTTP/0.3<span class="variable-quote">'</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="sys_version"></a>
<h3>sys_version</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'Python/2.3.4'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="weekdayname"></a>
<h3>weekdayname</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>list</code>
</dd>
<span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] </pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,212 @@
<?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>BaseHTTPServer.HTTPServer</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;BaseHTTPServer ::
Class&nbsp;HTTPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/BaseHTTPServer.HTTPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="BaseHTTPServer.HTTPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class HTTPServer</h2>
<pre class="base-tree">
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<b>HTTPServer</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></dd></dl>
<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="BaseHTTPServer.HTTPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Override server_bind to store the server name.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</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#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#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 CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="server_bind"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">server_bind</span>(<span class=sig-arg>self</span>)</span>
</h3>
Override server_bind to store the server name.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SocketServer.TCPServer-class.html#server_bind"><code>SocketServer.TCPServer.server_bind</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="allow_reuse_address"></a>
<h3>allow_reuse_address</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="1"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,466 @@
<?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>CGIHTTPServer.CGIHTTPRequestHandler</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;CGIHTTPServer ::
Class&nbsp;CGIHTTPRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/CGIHTTPServer.CGIHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class CGIHTTPRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
|
<a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a> --+
|
<b>CGIHTTPRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></dd></dl>
<hr/>
<p>Complete HTTP server with GET, HEAD and POST commands.</p>
<p>GET and HEAD also support running CGI scripts.</p>
The POST command is *only* implemented for CGI scripts.
<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="CGIHTTPServer.CGIHTTPRequestHandler-class.html#do_POST" class="summary-sig-name"><code>do_POST</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a POST 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="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_cgi" class="summary-sig-name"><code>is_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Test whether self.path corresponds to a CGI script.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_executable" class="summary-sig-name"><code>is_executable</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Test whether argument path is an executable file.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_python" class="summary-sig-name"><code>is_python</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Test whether argument path is a Python script.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#run_cgi" class="summary-sig-name"><code>run_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Execute a CGI script.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Version of send_head that support CGI scripts</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>source</span>,
<span class=summary-sig-arg>outputfile</span>)</span></code>
<br />
Copy all data between two file objects.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a GET 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a HEAD 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Guess the type of a file.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Helper to produce a directory listing (absent index.html).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Translate a /-separated PATH to the local filename syntax.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the client address formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current date and time formatted for a message header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Send the blank line ending the MIME headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle multiple requests if necessary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle a single HTTP 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current time formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an error.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>format</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an arbitrary message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>size</span>)</span></code>
<br />
Log an accepted 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Parse a request (internal).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send and log an error reply.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>keyword</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Send a MIME header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send the response header and log the response code.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the server software version string.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></b> = <span title="['/cgi-bin', '/htbin']"><code>['/cgi-bin',&nbsp;'/htbin'] </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></b> = <span title="True"><code>True </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></b> = <span title="True"><code>True </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="do_POST"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">do_POST</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Serve a POST request.</p>
This is only implemented for CGI scripts.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="is_cgi"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">is_cgi</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Test whether self.path corresponds to a CGI script.</p>
<p>Return a tuple (dir, rest) if self.path requires running a CGI
script, None if not. Note that rest begins with a slash if it is not
empty.</p>
The default implementation tests whether the path begins with one of
the strings in the list self.cgi_directories (and the next character is
a '/' or the end of the string).
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="is_executable"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">is_executable</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
Test whether argument path is an executable file.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="is_python"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">is_python</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
Test whether argument path is a Python script.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="run_cgi"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">run_cgi</span>(<span class=sig-arg>self</span>)</span>
</h3>
Execute a CGI script.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_head"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_head</span>(<span class=sig-arg>self</span>)</span>
</h3>
Version of send_head that support CGI scripts
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head"><code>SimpleHTTPServer.SimpleHTTPRequestHandler.send_head</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="cgi_directories"></a>
<h3>cgi_directories</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>list</code>
</dd>
<span title="['/cgi-bin', '/htbin']"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
['/cgi-bin', '/htbin'] </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="have_fork"></a>
<h3>have_fork</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="False"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
False </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="have_popen2"></a>
<h3>have_popen2</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="True"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
True </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="have_popen3"></a>
<h3>have_popen3</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="True"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
True </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="rbufsize"></a>
<h3>rbufsize</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="0"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,405 @@
<?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>SimpleHTTPServer.SimpleHTTPRequestHandler</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;SimpleHTTPServer ::
Class&nbsp;SimpleHTTPRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class SimpleHTTPRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
|
<b>SimpleHTTPRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a>,
<a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></dd></dl>
<hr/>
<p>Simple HTTP request handler with GET and HEAD commands.</p>
<p>This serves files from the current directory and any of its
subdirectories. It assumes that all files are plain text files unless
they have the extension &quot;.html&quot; in which case it assumes they
are HTML files.</p>
The GET and HEAD requests are identical except that the HEAD request
omits the actual contents of the file.
<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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>source</span>,
<span class=summary-sig-arg>outputfile</span>)</span></code>
<br />
Copy all data between two file objects.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a GET 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a HEAD 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Guess the type of a file.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Helper to produce a directory listing (absent index.html).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Common code for GET and HEAD commands.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Translate a /-separated PATH to the local filename syntax.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the client address formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current date and time formatted for a message header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Send the blank line ending the MIME headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle multiple requests if necessary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle a single HTTP 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current time formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an error.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>format</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an arbitrary message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>size</span>)</span></code>
<br />
Log an accepted 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Parse a request (internal).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send and log an error reply.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>keyword</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Send a MIME header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send the response header and log the response code.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the server software version string.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="copyfile"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">copyfile</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>source</span>,
<span class=sig-arg>outputfile</span>)</span>
</h3>
<p>Copy all data between two file objects.</p>
<p>The SOURCE argument is a file object open for reading (or anything
with a read() method) and the DESTINATION argument is a file object
open for writing (or anything with a write() method).</p>
The only reason for overriding this would be to change the block
size or perhaps to replace newlines by CRLF -- note however that this
the default server uses this to copy binary data as well.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="do_GET"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">do_GET</span>(<span class=sig-arg>self</span>)</span>
</h3>
Serve a GET request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="do_HEAD"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">do_HEAD</span>(<span class=sig-arg>self</span>)</span>
</h3>
Serve a HEAD request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="guess_type"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">guess_type</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
<p>Guess the type of a file.</p>
<p>Argument is a PATH (a filename).</p>
<p>Return value is a string of the form type/subtype, usable for a MIME
Content-type header.</p>
The default implementation looks the file's extension up in the
table self.extensions_map, using text/plain as a default; however it
would be permissible (if slow) to look inside the data to make a better
guess.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="list_directory"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">list_directory</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
<p>Helper to produce a directory listing (absent index.html).</p>
Return value is either a file object, or None (indicating an error).
In either case, the headers are sent, making the interface the same as
for send_head().
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_head"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_head</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Common code for GET and HEAD commands.</p>
<p>This sends the response code and MIME headers.</p>
Return value is either a file object (which has to be copied to the
outputfile by the caller unless the command was HEAD, and must be
closed by the caller under all circumstances), or None, in which case
the caller has nothing further to do.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="translate_path"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">translate_path</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
<p>Translate a /-separated PATH to the local filename syntax.</p>
Components that mean special things to the local file system (e.g.
drive or directory names) are ignored. (XXX They should probably be
diagnosed.)
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="extensions_map"></a>
<h3>extensions_map</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>dict</code>
</dd>
<span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
{'': 'application/octet-stream',
'.bin': 'application/octet-stream',
'.dll': 'application/octet-stream',
'.mp2': 'audio/mpeg',
'.obj': 'application/octet-stream',
'.ra': 'audio/x-pn-realaudio',
'.sgm': 'text/x-sgml',
'.texi': 'application/x-texinfo',
<span class="variable-ellipsis">...</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="server_version"></a>
<h3>server_version</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'SimpleHTTP/0.6'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span> </pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,102 @@
<?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.BaseRequestHandler</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;BaseRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.BaseRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.BaseRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class BaseRequestHandler</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a>,
<a href="SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a>,
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></dd></dl>
<hr/>
<p>Base class for request handler classes.</p>
<p>This class is instantiated for each request to be handled. The
constructor sets the instance variables request, client_address and
server, and then calls the handle() method. To implement a specific
service, all you need to do is to derive a class which defines a handle()
method.</p>
The handle() method can find the request as self.request, the client
address as self.client_address, and the server (in case it needs access
to per-server information) as self.server. Since a separate instance is
created for each request, the handle() method can define arbitrary other
instance variariables.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>request</span>,
<span class=summary-sig-arg>client_address</span>,
<span class=summary-sig-arg>server</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="handle"></a><span class="summary-sig"><span class="summary-sig-name">handle</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
</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>

View File

@ -0,0 +1,278 @@
<?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>

View File

@ -0,0 +1,98 @@
<?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.DatagramRequestHandler</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;DatagramRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.DatagramRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.DatagramRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class DatagramRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<b>DatagramRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></dd></dl>
<hr/>
Define self.rfile and self.wfile for datagram sockets.
<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><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</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>

View File

@ -0,0 +1,172 @@
<?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.ForkingMixIn</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;ForkingMixIn
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.ForkingMixIn-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.ForkingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class ForkingMixIn</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></dd></dl>
<hr/>
Mix-in class to handle each request in a new process.
<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="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal routine to wait for died children.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-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 />
Fork a new subprocess to process the request.</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="collect_children"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">collect_children</span>(<span class=sig-arg>self</span>)</span>
</h3>
Internal routine to wait for died children.
<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>
Fork a new subprocess to process the request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="active_children"></a>
<h3>active_children</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>NoneType</code>
</dd>
<span title="None"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="max_children"></a>
<h3>max_children</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="40"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,158 @@
<?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.StreamRequestHandler</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;StreamRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.StreamRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.StreamRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class StreamRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<b>StreamRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a>,
<a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></dd></dl>
<hr/>
Define self.rfile and self.wfile for stream sockets.
<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><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="rbufsize"></a>
<h3>rbufsize</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="-1"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="wbufsize"></a>
<h3>wbufsize</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="0"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,383 @@
<?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.TCPServer</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;TCPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.TCPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.TCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class TCPServer</h2>
<pre class="base-tree">
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<b>TCPServer</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a>,
<a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a>,
<a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a></dd></dl>
<hr/>
<pre class="literalblock">
Base class for various socket-based server classes.
Defaults to synchronous IP stream (i.e., TCP).
Methods for the caller:
- __init__(server_address, RequestHandlerClass)
- serve_forever()
- handle_request() # if you don't 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)
- 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
- request_queue_size (only for stream sockets)
- allow_reuse_address
Instance variables:
- server_address
- 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="SocketServer.TCPServer-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="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called by constructor to bind the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</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#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#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 CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="..\private\SocketServer.BaseServer-class.html#__init__"><code>SocketServer.BaseServer.__init__</code></a></dd>
</dl>
</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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="..\private\SocketServer.BaseServer-class.html#close_request"><code>SocketServer.BaseServer.close_request</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="fileno"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">fileno</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Return socket file number.</p>
Interface required by select().
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="get_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">get_request</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Get the request and client address from the socket.</p>
May be overridden.
<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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="..\private\SocketServer.BaseServer-class.html#server_activate"><code>SocketServer.BaseServer.server_activate</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="server_bind"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">server_bind</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Called by constructor to bind the socket.</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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="..\private\SocketServer.BaseServer-class.html#server_close"><code>SocketServer.BaseServer.server_close</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="address_family"></a>
<h3>address_family</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="2"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="allow_reuse_address"></a>
<h3>allow_reuse_address</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="False"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
False </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="request_queue_size"></a>
<h3>request_queue_size</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="5"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="socket_type"></a>
<h3>socket_type</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="1"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,156 @@
<?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.ThreadingMixIn</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;ThreadingMixIn
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.ThreadingMixIn-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.ThreadingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class ThreadingMixIn</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></dd></dl>
<hr/>
Mix-in class to handle each request in a new thread.
<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="SocketServer.ThreadingMixIn-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 />
Start a new thread to process the 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="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</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 />
Same as in BaseServer but as a thread.</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False </code>
</span></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="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>
Start a new thread to process the request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="process_request_thread"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">process_request_thread</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>request</span>,
<span class=sig-arg>client_address</span>)</span>
</h3>
<p>Same as in BaseServer but as a thread.</p>
In addition, exception handling is done here.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="daemon_threads"></a>
<h3>daemon_threads</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="False"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
False </pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,288 @@
<?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.UDPServer</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;UDPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/SocketServer.UDPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SocketServer.UDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class UDPServer</h2>
<pre class="base-tree">
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<b>UDPServer</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></dd></dl>
<hr/>
UDP server class.
<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="SocketServer.UDPServer-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="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.UDPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called by constructor to bind the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</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#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#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 CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SocketServer.TCPServer-class.html#close_request"><code>SocketServer.TCPServer.close_request</code></a> <i>(inherited documentation)</i>
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="get_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">get_request</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Get the request and client address from the socket.</p>
May be overridden.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SocketServer.TCPServer-class.html#get_request"><code>SocketServer.TCPServer.get_request</code></a> <i>(inherited documentation)</i>
</dd>
</dl>
</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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SocketServer.TCPServer-class.html#server_activate"><code>SocketServer.TCPServer.server_activate</code></a> <i>(inherited documentation)</i>
</dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="allow_reuse_address"></a>
<h3>allow_reuse_address</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="False"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
False </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="max_packet_size"></a>
<h3>max_packet_size</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="8192"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="socket_type"></a>
<h3>socket_type</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="2"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,100 @@
/* Body color */
body { background: #ffffff; color: #000000; }
/* Tables */
table.summary, table.details, table.index
{ background: #e8f0f8; color: #000000; }
tr.summary, tr.details, tr.index
{ background: #70b0f0; color: #000000;
text-align: left; font-size: 120%; }
tr.group { background: #c0e0f8; color: #000000;
text-align: left; font-size: 120%;
font-style: italic; }
/* Documentation page titles */
h2.module { margin-top: 0.2em; }
h2.class { margin-top: 0.2em; }
/* Headings */
h1.heading { font-size: +140%; font-style: italic;
font-weight: bold; }
h2.heading { font-size: +125%; font-style: italic;
font-weight: bold; }
h3.heading { font-size: +110%; font-style: italic;
font-weight: normal; }
/* Base tree */
pre.base-tree { font-size: 80%; margin: 0; }
/* Details Sections */
table.func-details { background: #e8f0f8; color: #000000;
border: 2px groove #c0d0d0;
padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
h3.func-detail { background: transparent; color: #000000;
margin: 0 0 1em 0; }
table.var-details { background: #e8f0f8; color: #000000;
border: 2px groove #c0d0d0;
padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
h3.var-details { background: transparent; color: #000000;
margin: 0 0 1em 0; }
/* Function signatures */
.sig { background: transparent; color: #000000;
font-weight: bold; }
.sig-name { background: transparent; color: #006080; }
.sig-arg, .sig-kwarg, .sig-vararg
{ background: transparent; color: #008060; }
.sig-default { background: transparent; color: #602000; }
.summary-sig { background: transparent; color: #000000; }
.summary-sig-name { background: transparent; color: #204080; }
.summary-sig-arg, .summary-sig-kwarg, .summary-sig-vararg
{ background: transparent; color: #008060; }
/* Doctest blocks */
.py-src { background: transparent; color: #000000; }
.py-prompt { background: transparent; color: #005050;
font-weight: bold;}
.py-string { background: transparent; color: #006030; }
.py-comment { background: transparent; color: #003060; }
.py-keyword { background: transparent; color: #600000; }
.py-output { background: transparent; color: #404040; }
pre.doctestblock { background: #f4faff; color: #000000;
padding: .5em; margin: 1em;
border: 1px solid #708890; }
table pre.doctestblock
{ background: #dce4ec; color: #000000;
padding: .5em; margin: 1em;
border: 1px solid #708890; }
/* Variable values */
pre.variable { background: #dce4ec; color: #000000;
padding: .5em; margin: 0;
border: 1px solid #708890; }
.variable-linewrap { background: transparent; color: #604000; }
.variable-ellipsis { background: transparent; color: #604000; }
.variable-quote { background: transparent; color: #604000; }
.re { background: transparent; color: #000000; }
.re-char { background: transparent; color: #006030; }
.re-op { background: transparent; color: #600000; }
.re-group { background: transparent; color: #003060; }
.re-ref { background: transparent; color: #404040; }
/* Navigation bar */
table.navbar { background: #a0c0ff; color: #0000ff;
border: 2px groove #c0d0d0; }
th.navbar { background: #a0c0ff; color: #0000ff; }
th.navselect { background: #70b0ff; color: #000000; }
.nomargin { margin: 0; }
/* Links */
a:link { background: transparent; color: #0000ff; }
a:visited { background: transparent; color: #204080; }
a.navbar:link { background: transparent; color: #0000ff;
text-decoration: none; }
a.navbar:visited { background: transparent; color: #204080;
text-decoration: none; }
/* Lists */
ul { margin-top: 0; }

View File

@ -0,0 +1,84 @@
<?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>exceptions.Exception</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;exceptions ::
Class&nbsp;Exception
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/exceptions.Exception-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="exceptions.Exception-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Exception</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="..\private\i2p.Error-class.html"><code>Error</code></a></dd></dl>
<hr/>
Common base class for all exceptions.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="__getitem__"></a><span class="summary-sig"><span class="summary-sig-name">__getitem__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="__str__"></a><span class="summary-sig"><span class="summary-sig-name">__str__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
</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>

View File

@ -0,0 +1,13 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title> API Documentation </title>
</head>
<frameset cols="20%,80%">
<frameset rows="30%,70%">
<frame src="toc.html" name="moduleListFrame">
<frame src="toc-everything.html" name="moduleFrame">
</frameset>
<frame src="i2p-module.html" name="mainFrame">
</frameset>
</html>

View File

@ -0,0 +1,224 @@
<?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>Help</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 bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Help&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%">
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/help.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="help.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<center><h2> API Documentation </h2></center>
<p> This document contains the API (Application Programming Interface)
documentation for this project. Documentation for the Python
objects defined by the project is divided into separate pages for each
package, module, and class. The API documentation also includes two
pages containing information about the project as a whole: a trees
page, and an index page. </p>
<h2> Object Documentation </h2>
<p>Each <b>Package Documentation</b> page contains:
<ul>
<li> A description of the package. </li>
<li> A list of the modules and sub-packages contained by the
package. </li>
<li> A summary of the classes defined by the package. </li>
<li> A summary of the functions defined by the package. </li>
<li> A summary of the variables defined by the package. </li>
<li> A detailed description of each function defined by the
package. </li>
<li> A detailed description of each variable defined by the
package. </li>
</ul></p>
<p>Each <b>Module Documentation</b> page contains:
<ul>
<li> A description of the module. </li>
<li> A summary of the classes defined by the module. </li>
<li> A summary of the functions defined by the module. </li>
<li> A summary of the variables defined by the module. </li>
<li> A detailed description of each function defined by the
module. </li>
<li> A detailed description of each variable defined by the
module. </li>
</ul></p>
<p>Each <b>Class Documentation</b> page contains:
<ul>
<li> A class inheritance diagram. </li>
<li> A list of known subclasses. </li>
<li> A description of the class. </li>
<li> A summary of the methods defined by the class. </li>
<li> A summary of the instance variables defined by the class. </li>
<li> A summary of the class (static) variables defined by the
class. </li>
<li> A detailed description of each method defined by the
class. </li>
<li> A detailed description of each instance variable defined by the
class. </li>
<li> A detailed description of each class (static) variable defined
by the class. </li>
</ul></p>
<h2> Project Documentation </h2>
<p> The <b>Trees</b> page contains the module and class hierarchies:
<ul>
<li> The <i>module hierarchy</i> lists every package and module, with
modules grouped into packages. At the top level, and within each
package, modules and sub-packages are listed alphabetically. </li>
<li> The <i>class hierarchy</i> lists every class, grouped by base
class. If a class has more than one base class, then it will be
listed under each base class. At the top level, and under each base
class, classes are listed alphabetically. </li>
</ul></p>
<p> The <b>Index</b> page contains indices of terms and
identifiers:
<ul>
<li> The <i>term index</i> lists every term indexed by any object's
documentation. For each term, the index provides links to each
place where the term is indexed. </li>
<li> The <i>identifier index</i> lists the (short) name of every package,
module, class, method, function, variable, and parameter. For each
identifier, the index provides a short description, and a link to
its documentation. </li>
</ul></p>
<h2> The Table of Contents </h2>
<p> The table of contents occupies the two frames on the left side of
the window. The upper-left frame displays the <i>project
contents</i>, and the lower-left frame displays the <i>module
contents</i>: </p>
<center>
<table class="summary" border="1" cellspacing="0" cellpadding="3">
<tr heigh="30%">
<td align="center">
<font size="-1">Project<br>Contents<hr>...</font></td>
<td align="center" rowspan="2" width="70%">
API<br>Documentation<br>Frame<br><br><br>
</td>
</tr>
<tr>
<td align="center">
<font size="-1">Module<br>Contents<hr>&nbsp;<br>...<br>&nbsp;</font>
</td>
</tr>
</table><br>
</center>
<p> The <b>project contents frame</b> contains a list of all packages
and modules that are defined by the project. Clicking on an entry
will display its contents in the module contents frame. Clicking on a
special entry, labeled "Everything," will display the contents of
the entire project. </p>
<p> The <b>module contents frame</b> contains a list of every
submodule, class, type, exception, function, and variable defined by a
module or package. Clicking on an entry will display its
documentation in the API documentation frame. Clicking on the name of
the module, at the top of the frame, will display the documentation
for the module itself. </p>
<p> The "<b>frames</b>" and "<b>no frames</b>" buttons below the top
navigation bar can be used to control whether the table of contents is
displayed or not. </p>
<h2> The Navigation Bar </h2>
<p> A navigation bar is located at the top and bottom of every page.
It indicates what type of page you are currently viewing, and allows
you to go to related pages. The following table describes the labels
on the navigation bar. Note that not some labels (such as
[Parent]) are not displayed on all pages. </p>
<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
<tr class="summary">
<th>Label</th>
<th>Highlighted when...</th>
<th>Links to...</th>
</tr>
<tr><td valign="top"><b>[Parent]</b></td>
<td valign="top"><i>(never highlighted)</i></td>
<td valign="top"> the parent of the current package </td></tr>
<tr><td valign="top"><b>[Package]</b></td>
<td valign="top">viewing a package</td>
<td valign="top">the package containing the current object
</td></tr>
<tr><td valign="top"><b>[Module]</b></td>
<td valign="top">viewing a module</td>
<td valign="top">the module containing the current object
</td></tr>
<tr><td valign="top"><b>[Class]</b></td>
<td valign="top">viewing a class </td>
<td valign="top">the class containing the current object</td></tr>
<tr><td valign="top"><b>[Trees]</b></td>
<td valign="top">viewing the trees page</td>
<td valign="top"> the trees page </td></tr>
<tr><td valign="top"><b>[Index]</b></td>
<td valign="top">viewing the index page</td>
<td valign="top"> the index page </td></tr>
<tr><td valign="top"><b>[Help]</b></td>
<td valign="top">viewing the help page</td>
<td valign="top"> the help page </td></tr>
</table>
<p> The "<b>show private</b>" and "<b>hide private</b>" buttons below
the top navigation bar can be used to control whether documentation
for private objects is displayed. Private objects are usually defined
as objects whose (short) names begin with a single underscore, but do
not end with an underscore. For example, "<code>_x</code>",
"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
are private objects; but "<code>re.sub</code>",
"<code>__init__</code>", and "<code>type_</code>" are not. However,
if a module defines the "<code>__all__</code>" variable, then its
contents are used to decide which objects are private. </p>
<p> A timestamp below the bottom navigation bar indicates when each
page was last updated. </p>
<!-- =========== 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 bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Help&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>

View File

@ -0,0 +1,93 @@
<?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>i2p</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 bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Home&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">
Package&nbsp;i2p
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p-module.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF PACKAGE DESCRIPTION =========== -->
<h2 class="package">Package i2p</h2>
i2p -- I2P Python interface
<hr/>
<!-- =========== START OF SUBMODULES =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Submodules</th></tr>
<tr><td><ul>
<li> <b><a href="i2p.BaseHTTPServer-module.html"><code>BaseHTTPServer</code></a></b>: <i>Emulation of Python BaseHTTPServer module using I2P sockets.</i>
<li> <b><a href="i2p.CGIHTTPServer-module.html"><code>CGIHTTPServer</code></a></b>: <i>Emulation of Python CGIHTTPServer module using I2P sockets.</i>
<li> <b><a href="i2p.eep-module.html"><code>eep</code></a></b>: <i>Eeproxy access module</i>
<li> <b><a href="i2p.router-module.html"><code>router</code></a></b>: <i>Router control module</i>
<li> <b><a href="i2p.select-module.html"><code>select</code></a></b>: <i>I2P Python API - Emulation of Python select module.</i>
<li> <b><a href="i2p.SimpleHTTPServer-module.html"><code>SimpleHTTPServer</code></a></b>: <i>Emulation of Python SimpleHTTPServer module using I2P sockets.</i>
<li> <b><a href="i2p.socket-module.html"><code>socket</code></a></b>: <i>Emulation of Python socket module using SAM.</i>
<li> <b><a href="i2p.SocketServer-module.html"><code>SocketServer</code></a></b>: <i>Emulation of Python SocketServer module using I2P sockets.</i>
<li> <b><a href="i2p.tunnel-module.html"><code>tunnel</code></a></b>: <i>Exchange data between I2P and regular TCP sockets.</i>
<li> <b><a href="..\private\i2p.pylib-module.html"><code>pylib</code></a></b>
<li> <b><a href="..\private\i2p.samclasses-module.html"><code>samclasses</code></a></b>: <i>Lower-level SAM API, interfaces with SAM Bridge.</i>
</ul></td></tr>
</table><br />
<!-- =========== START OF EXCEPTIONS =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Exceptions</th></tr>
<tr><td width="15%">
<b><a href="..\private\i2p.Error-class.html"><code>Error</code></a></b></td>
<td>Base class for all I2P errors.</td></tr>
<tr><td width="15%">
<b><a href="..\private\i2p.RouterError-class.html"><code>RouterError</code></a></b></td>
<td>Could not connect to router.</td></tr>
</table><br />
<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
<tr valign="center">
<th bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Home&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>

View File

@ -0,0 +1,200 @@
<?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>i2p.BaseHTTPServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Module&nbsp;BaseHTTPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.BaseHTTPServer-module.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.BaseHTTPServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module i2p.BaseHTTPServer</h2>
<p>Emulation of Python BaseHTTPServer module using I2P sockets.</p>
<p>The Python module is described at
http://www.python.org/doc/current/lib/module-BaseHTTPServer.html</p>
To get a server going, use:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer
<span class="py-prompt">&gt;&gt;&gt; </span>BaseHTTPServer.test().</span></pre>
<p>Consult the documentation for function test() to change basic server
settings, such as the session name.</p>
A fully customizable example:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer
<span class="py-prompt">&gt;&gt;&gt; </span>session = <span class="py-string">&quot;mytestxxx.i2p&quot;</span> <span class="py-comment"># SAM session name</span>
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyServer(BaseHTTPServer.HTTPServer): <span class="py-keyword">pass</span>
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): <span class="py-keyword">pass</span>
<span class="py-prompt">&gt;&gt;&gt; </span>httpd = MyServer(session, MyRequestHandler)
<span class="py-prompt">&gt;&gt;&gt; </span>httpd.socket.dest</span>
<span class="py-output">(Base64 Destination of server)</span>
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>httpd.serve_forever()</span></pre>
<hr/>
<!-- =========== START OF CLASSES =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Classes</th></tr>
<tr><td width="15%">
<b><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></b></td>
<td>Same interface as Python class
BaseHTTPServer.BaseHTTPRequestHandler.</td></tr>
<tr><td width="15%">
<b><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></b></td>
<td>Same interface as Python class BaseHTTPServer.HTTPServer.</td></tr>
</table><br />
<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Function 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="i2p.BaseHTTPServer-module.html#test" class="summary-sig-name"><code>test</code></a>(<span class=summary-sig-arg>HandlerClass</span>,
<span class=summary-sig-arg>ServerClass</span>,
<span class=summary-sig-arg>protocol</span>,
<span class=summary-sig-arg>session</span>)</span></code>
<br />
Test the HTTP request handler class.</td></tr>
</table><br />
<!-- =========== START OF VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="..\private\i2p.BaseHTTPServer-module.html#__version__"><code>__version__</code></a></b> = <span title="'0.3'"><code><span class="variable-quote">'</span>0.3<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="..\private\i2p.BaseHTTPServer-module.html#DEFAULT_ERROR_MESSAGE"><code>DEFAULT_ERROR_MESSAGE</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/<span class="variable-ellipsis">...</span></code>
</span></td></tr>
</table><br />
<!-- =========== START OF FUNCTION DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Function Details</th></tr>
</table>
<a name="test"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">test</span>(<span class=sig-arg>HandlerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.BaseHTTPRequestHandler&nbsp;at&nbsp;0x00A...</span>,
<span class=sig-arg>ServerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.HTTPServer&nbsp;at&nbsp;0x00A2D960&gt;</span>,
<span class=sig-arg>protocol</span>=<span class=sig-default>'HTTP/1.0'</span>,
<span class=sig-arg>session</span>=<span class=sig-default>'mytestxxx.i2p'</span>)</span>
</h3>
<p>Test the HTTP request handler class.</p>
This runs an I2P TCP server under SAM session 'session'. If a single
command line argument is given, the argument is used instead as the SAM
session name.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="__version__"></a>
<h3>__version__</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'0.3'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>0.3<span class="variable-quote">'</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="DEFAULT_ERROR_MESSAGE"></a>
<h3>DEFAULT_ERROR_MESSAGE</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'''</span>&lt;head&gt;
&lt;title&gt;Error response&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Error response&lt;/h1&gt;
&lt;p&gt;Error code %(code)d.
&lt;p&gt;Message: %(message)s.
&lt;p&gt;Error code explanation: %(code)s = %(explain)s.
<span class="variable-ellipsis">...</span> </pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,210 @@
<?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>i2p.BaseHTTPServer.BaseHTTPRequestHandler</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.BaseHTTPServer-module.html">Module&nbsp;BaseHTTPServer</a> ::
Class&nbsp;BaseHTTPRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class BaseHTTPRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
|
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+ |
| |
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+ |
| |
<a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<b>BaseHTTPRequestHandler</b>
</pre><br />
<hr/>
Same interface as Python class
BaseHTTPServer.BaseHTTPRequestHandler.
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the client address formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current date and time formatted for a message header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Send the blank line ending the MIME headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle multiple requests if necessary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle a single HTTP 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current time formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an error.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>format</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an arbitrary message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>size</span>)</span></code>
<br />
Log an accepted 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Parse a request (internal).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send and log an error reply.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>keyword</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Send a MIME header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send the response header and log the response code.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the server software version string.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'BaseHTTP/0.3'"><code><span class="variable-quote">'</span>BaseHTTP/0.3<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>

View File

@ -0,0 +1,184 @@
<?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>i2p.BaseHTTPServer.HTTPServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.BaseHTTPServer-module.html">Module&nbsp;BaseHTTPServer</a> ::
Class&nbsp;HTTPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.BaseHTTPServer.HTTPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.BaseHTTPServer.HTTPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class HTTPServer</h2>
<pre class="base-tree">
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<a href="BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a> --+
|
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ | |
| | |
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+ |
| |
<a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<b>HTTPServer</b>
</pre><br />
<hr/>
Same interface as Python class BaseHTTPServer.HTTPServer.
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
<br />
Constructor.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from HTTPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.HTTPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Override server_bind to store the server name.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</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#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#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 CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from HTTPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>

View File

@ -0,0 +1,126 @@
<?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>i2p.CGIHTTPServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Module&nbsp;CGIHTTPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.CGIHTTPServer-module.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.CGIHTTPServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module i2p.CGIHTTPServer</h2>
<p>Emulation of Python CGIHTTPServer module using I2P sockets.</p>
<p>The Python module is described at
http://www.python.org/doc/current/lib/module-CGIHTTPServer.html</p>
To get a server going, use:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> CGIHTTPServer
<span class="py-prompt">&gt;&gt;&gt; </span>CGIHTTPServer.test().</span></pre>
<p>Consult the documentation for function test() to change basic server
settings, such as the session name.</p>
A fully customizable example:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer, CGIHTTPServer
<span class="py-prompt">&gt;&gt;&gt; </span>session = <span class="py-string">&quot;mytestxxx.i2p&quot;</span> <span class="py-comment"># SAM session name</span>
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyServer(BaseHTTPServer.HTTPServer): <span class="py-keyword">pass</span>
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyRequestHandler(CGIHTTPServer.CGIHTTPRequestHandler): <span class="py-keyword">pass</span>
<span class="py-prompt">&gt;&gt;&gt; </span>httpd = MyServer(session, MyRequestHandler)
<span class="py-prompt">&gt;&gt;&gt; </span>httpd.socket.dest</span>
<span class="py-output">(Base64 Destination of server)</span>
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>httpd.serve_forever()</span></pre>
<hr/>
<!-- =========== START OF CLASSES =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Classes</th></tr>
<tr><td width="15%">
<b><a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></b></td>
<td>Same interface as Python class
CGIHTTPServer.CGIHTTPRequestHandler.</td></tr>
</table><br />
<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Function 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="i2p.CGIHTTPServer-module.html#test" class="summary-sig-name"><code>test</code></a>(<span class=summary-sig-arg>HandlerClass</span>,
<span class=summary-sig-arg>ServerClass</span>,
<span class=summary-sig-arg>session</span>)</span></code>
<br />
Test the HTTP CGI request handler class.</td></tr>
</table><br />
<!-- =========== START OF FUNCTION DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Function Details</th></tr>
</table>
<a name="test"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">test</span>(<span class=sig-arg>HandlerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.CGIHTTPServer.CGIHTTPRequestHandler&nbsp;at&nbsp;0x00A2D...</span>,
<span class=sig-arg>ServerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.HTTPServer&nbsp;at&nbsp;0x00A2D960&gt;</span>,
<span class=sig-arg>session</span>=<span class=sig-default>'mytestxxx.i2p'</span>)</span>
</h3>
<p>Test the HTTP CGI request handler class.</p>
This runs an I2P TCP server under SAM session 'session'. If a single
command line argument is given, the argument is used instead as the SAM
session name.
<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>

View File

@ -0,0 +1,286 @@
<?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>i2p.CGIHTTPServer.CGIHTTPRequestHandler</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.CGIHTTPServer-module.html">Module&nbsp;CGIHTTPServer</a> ::
Class&nbsp;CGIHTTPRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class CGIHTTPRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
|
<a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a> --+
|
<a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a> --+
|
<b>CGIHTTPRequestHandler</b>
</pre><br />
<hr/>
Same interface as Python class
CGIHTTPServer.CGIHTTPRequestHandler.
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from CGIHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#do_POST" class="summary-sig-name"><code>do_POST</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a POST 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="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_cgi" class="summary-sig-name"><code>is_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Test whether self.path corresponds to a CGI script.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_executable" class="summary-sig-name"><code>is_executable</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Test whether argument path is an executable file.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_python" class="summary-sig-name"><code>is_python</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Test whether argument path is a Python script.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#run_cgi" class="summary-sig-name"><code>run_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Execute a CGI script.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Version of send_head that support CGI scripts</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>source</span>,
<span class=summary-sig-arg>outputfile</span>)</span></code>
<br />
Copy all data between two file objects.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a GET 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a HEAD 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Guess the type of a file.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Helper to produce a directory listing (absent index.html).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Translate a /-separated PATH to the local filename syntax.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the client address formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current date and time formatted for a message header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Send the blank line ending the MIME headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle multiple requests if necessary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle a single HTTP 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current time formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an error.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>format</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an arbitrary message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>size</span>)</span></code>
<br />
Log an accepted 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Parse a request (internal).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send and log an error reply.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>keyword</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Send a MIME header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send the response header and log the response code.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the server software version string.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from CGIHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></b> = <span title="['/cgi-bin', '/htbin']"><code>['/cgi-bin',&nbsp;'/htbin'] </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></b> = <span title="True"><code>True </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></b> = <span title="True"><code>True </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>

View File

@ -0,0 +1,93 @@
<?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>i2p.Error</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Class&nbsp;Error
</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\i2p.Error-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Error</h2>
<pre class="base-tree">
<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+
|
<b>Error</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.socket.Error-class.html"><code>Error</code></a>,
<a href="..\private\i2p.RouterError-class.html"><code>RouterError</code></a></dd></dl>
<hr/>
Base class for all I2P errors.
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</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>

View File

@ -0,0 +1,90 @@
<?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>i2p.RouterError</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Class&nbsp;RouterError
</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\i2p.RouterError-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class RouterError</h2>
<pre class="base-tree">
<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+
|
<a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+
|
<b>RouterError</b>
</pre><br />
<hr/>
Could not connect to router.
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</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>

View File

@ -0,0 +1,164 @@
<?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>i2p.SimpleHTTPServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Module&nbsp;SimpleHTTPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SimpleHTTPServer-module.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SimpleHTTPServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module i2p.SimpleHTTPServer</h2>
<p>Emulation of Python SimpleHTTPServer module using I2P sockets.</p>
<p>The Python module is described at
http://www.python.org/doc/current/lib/module-SimpleHTTPServer.html</p>
To get a server going, use:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> SimpleHTTPServer
<span class="py-prompt">&gt;&gt;&gt; </span>SimpleHTTPServer.test().</span></pre>
<p>Consult the documentation for function test() to change basic server
settings, such as the session name.</p>
A fully customizable example:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> BaseHTTPServer, SimpleHTTPServer
<span class="py-prompt">&gt;&gt;&gt; </span>session = <span class="py-string">&quot;mytestxxx.i2p&quot;</span> <span class="py-comment"># SAM session name</span>
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyServer(BaseHTTPServer.HTTPServer): <span class="py-keyword">pass</span>
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">class</span> MyRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): <span class="py-keyword">pass</span>
<span class="py-prompt">&gt;&gt;&gt; </span>httpd = MyServer(session, MyRequestHandler)
<span class="py-prompt">&gt;&gt;&gt; </span>httpd.socket.dest</span>
<span class="py-output">(Base64 Destination of server)</span>
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>httpd.serve_forever()</span></pre>
<hr/>
<!-- =========== START OF CLASSES =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Classes</th></tr>
<tr><td width="15%">
<b><a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></b></td>
<td>Same interface as Python class
SimpleHTTPServer.SimpleHTTPRequestHandler.</td></tr>
</table><br />
<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Function 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="i2p.SimpleHTTPServer-module.html#test" class="summary-sig-name"><code>test</code></a>(<span class=summary-sig-arg>HandlerClass</span>,
<span class=summary-sig-arg>ServerClass</span>,
<span class=summary-sig-arg>session</span>)</span></code>
<br />
Test the HTTP simple request handler class.</td></tr>
</table><br />
<!-- =========== START OF VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="..\private\i2p.SimpleHTTPServer-module.html#__version__"><code>__version__</code></a></b> = <span title="'0.1.0'"><code><span class="variable-quote">'</span>0.1.0<span class="variable-quote">'</span> </code>
</span></td></tr>
</table><br />
<!-- =========== START OF FUNCTION DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Function Details</th></tr>
</table>
<a name="test"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">test</span>(<span class=sig-arg>HandlerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.SimpleHTTPServer.SimpleHTTPRequestHandler&nbsp;at&nbsp;0...</span>,
<span class=sig-arg>ServerClass</span>=<span class=sig-default>&lt;class&nbsp;i2p.BaseHTTPServer.HTTPServer&nbsp;at&nbsp;0x00A2D960&gt;</span>,
<span class=sig-arg>session</span>=<span class=sig-default>'mytestxxx.i2p'</span>)</span>
</h3>
<p>Test the HTTP simple request handler class.</p>
This runs an I2P TCP server under SAM session 'session'. If a single
command line argument is given, the argument is used instead as the SAM
session name.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="__version__"></a>
<h3>__version__</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'0.1.0'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>0.1.0<span class="variable-quote">'</span> </pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,246 @@
<?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>i2p.SimpleHTTPServer.SimpleHTTPRequestHandler</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SimpleHTTPServer-module.html">Module&nbsp;SimpleHTTPServer</a> ::
Class&nbsp;SimpleHTTPRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class SimpleHTTPRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
|
<a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a> --+
|
<b>SimpleHTTPRequestHandler</b>
</pre><br />
<hr/>
Same interface as Python class
SimpleHTTPServer.SimpleHTTPRequestHandler.
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>source</span>,
<span class=summary-sig-arg>outputfile</span>)</span></code>
<br />
Copy all data between two file objects.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a GET 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a HEAD 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Guess the type of a file.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Helper to produce a directory listing (absent index.html).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Common code for GET and HEAD commands.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Translate a /-separated PATH to the local filename syntax.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the client address formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current date and time formatted for a message header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Send the blank line ending the MIME headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle multiple requests if necessary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle a single HTTP 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current time formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an error.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>format</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an arbitrary message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>size</span>)</span></code>
<br />
Log an accepted 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Parse a request (internal).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send and log an error reply.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>keyword</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Send a MIME header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send the response header and log the response code.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the server software version string.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>

View File

@ -0,0 +1,106 @@
<?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>i2p.SocketServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Module&nbsp;SocketServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer-module.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module i2p.SocketServer</h2>
<p>Emulation of Python SocketServer module using I2P sockets.</p>
The Python module is described at
http://www.python.org/doc/current/lib/module-SocketServer.html
<hr/>
<!-- =========== START OF CLASSES =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Classes</th></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></b></td>
<td>&nbsp;</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>

View File

@ -0,0 +1,92 @@
<?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>i2p.SocketServer.BaseRequestHandler</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;BaseRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.BaseRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.BaseRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class BaseRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<b>BaseRequestHandler</b>
</pre><br />
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</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>

View File

@ -0,0 +1,132 @@
<?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>i2p.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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;BaseServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.BaseServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.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>
<pre class="base-tree">
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<b>BaseServer</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a></dd></dl>
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</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 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>

View File

@ -0,0 +1,96 @@
<?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>i2p.SocketServer.DatagramRequestHandler</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;DatagramRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.DatagramRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.DatagramRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class DatagramRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a> --+
|
<b>DatagramRequestHandler</b>
</pre><br />
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from DatagramRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.DatagramRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.DatagramRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</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>

View File

@ -0,0 +1,105 @@
<?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>i2p.SocketServer.ForkingMixIn</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;ForkingMixIn
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ForkingMixIn-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ForkingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class ForkingMixIn</h2>
<pre class="base-tree">
<a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+
|
<b>ForkingMixIn</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a>,
<a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a></dd></dl>
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal routine to wait for died children.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-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 />
Fork a new subprocess to process the request.</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>

View File

@ -0,0 +1,188 @@
<?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>i2p.SocketServer.ForkingTCPServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;ForkingTCPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ForkingTCPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ForkingTCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class ForkingTCPServer</h2>
<pre class="base-tree">
<a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+
|
<a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+
|
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ | |
| | |
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+ |
| |
<a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<b>ForkingTCPServer</b>
</pre><br />
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal routine to wait for died children.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-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 />
Fork a new subprocess to process the request.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
<br />
Constructor.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called by constructor to bind the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</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#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#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#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 CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>

View File

@ -0,0 +1,202 @@
<?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>i2p.SocketServer.ForkingUDPServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;ForkingUDPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ForkingUDPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ForkingUDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class ForkingUDPServer</h2>
<pre class="base-tree">
<a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+
|
<a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a> --+
|
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ | |
| | |
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+ |
| |
<a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+ |
| |
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ | |
| | |
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+ | |
| | |
<a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+ |
| |
<a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+
|
<b>ForkingUDPServer</b>
</pre><br />
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal routine to wait for died children.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-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 />
Fork a new subprocess to process the request.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
<br />
Constructor.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.UDPServer-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="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.UDPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called by constructor to bind the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</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#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#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#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 CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ForkingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>

View File

@ -0,0 +1,113 @@
<?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>i2p.SocketServer.StreamRequestHandler</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;StreamRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.StreamRequestHandler-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.StreamRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class StreamRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<b>StreamRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></dd></dl>
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>

View File

@ -0,0 +1,227 @@
<?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>i2p.SocketServer.TCPServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;TCPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.TCPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.TCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class TCPServer</h2>
<pre class="base-tree">
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<b>TCPServer</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a>,
<a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a>,
<a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a>,
<a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></dd></dl>
<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="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
<br />
Constructor.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called by constructor to bind the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</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#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#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 CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>session</span>,
<span class=sig-arg>RequestHandlerClass</span>)</span>
<br /><i>(Constructor)</i>
</h3>
<p>Constructor. May be extended, do not override.</p>
The 'session' argument indicates the SAM session name that should be
used for the server. See module i2p.socket for details on SAM
sessions.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SocketServer.TCPServer-class.html#__init__"><code>SocketServer.TCPServer.__init__</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="socket_type"></a>
<h3>socket_type</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="1"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,106 @@
<?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>i2p.SocketServer.ThreadingMixIn</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;ThreadingMixIn
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ThreadingMixIn-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ThreadingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class ThreadingMixIn</h2>
<pre class="base-tree">
<a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+
|
<b>ThreadingMixIn</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a>,
<a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></dd></dl>
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-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 />
Start a new thread to process the 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="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</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 />
Same as in BaseServer but as a thread.</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False </code>
</span></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>

View File

@ -0,0 +1,189 @@
<?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>i2p.SocketServer.ThreadingTCPServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;ThreadingTCPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ThreadingTCPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ThreadingTCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class ThreadingTCPServer</h2>
<pre class="base-tree">
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+ |
| |
<a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+
|
<b>ThreadingTCPServer</b>
</pre><br />
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-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 />
Start a new thread to process the 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="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</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 />
Same as in BaseServer but as a thread.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
<br />
Constructor.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called by constructor to bind the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</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#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#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#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 CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>

View File

@ -0,0 +1,203 @@
<?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>i2p.SocketServer.ThreadingUDPServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;ThreadingUDPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.ThreadingUDPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.ThreadingUDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class ThreadingUDPServer</h2>
<pre class="base-tree">
<a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+
|
<a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a> --+
|
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ | |
| | |
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+ |
| |
<a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+ |
| |
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ | |
| | |
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+ | |
| | |
<a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+ |
| |
<a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+
|
<b>ThreadingUDPServer</b>
</pre><br />
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.ThreadingMixIn-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 />
Start a new thread to process the 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="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</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 />
Same as in BaseServer but as a thread.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
<br />
Constructor.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.UDPServer-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="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.UDPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called by constructor to bind the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</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#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#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#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 CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from ThreadingMixIn</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>

View File

@ -0,0 +1,189 @@
<?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>i2p.SocketServer.UDPServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.SocketServer-module.html">Module&nbsp;SocketServer</a> ::
Class&nbsp;UDPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.SocketServer.UDPServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.SocketServer.UDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class UDPServer</h2>
<pre class="base-tree">
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+ |
| |
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+ |
| |
<a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a> --+
|
<b>UDPServer</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a>,
<a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></dd></dl>
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.SocketServer.TCPServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>RequestHandlerClass</span>)</span></code>
<br />
Constructor.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.UDPServer-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="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.UDPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called by constructor to bind the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseServer</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#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#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 CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from UDPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>

View File

@ -0,0 +1,107 @@
<?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>i2p.eep</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Module&nbsp;eep
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.eep-module.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.eep-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module i2p.eep</h2>
Eeproxy access module
<hr/>
<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Function 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="i2p.eep-module.html#urlget" class="summary-sig-name"><code>urlget</code></a>(<span class=summary-sig-arg>url</span>,
<span class=summary-sig-arg>eepaddr</span>)</span></code>
<br />
Get contents of an eepsite.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.eep-module.html#urlopen" class="summary-sig-name"><code>urlopen</code></a>(<span class=summary-sig-arg>url</span>,
<span class=summary-sig-arg>eepaddr</span>)</span></code>
<br />
Like urllib2.urlopen(url), but only works for eep-sites.</td></tr>
</table><br />
<!-- =========== START OF FUNCTION DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Function Details</th></tr>
</table>
<a name="urlget"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">urlget</span>(<span class=sig-arg>url</span>,
<span class=sig-arg>eepaddr</span>=<span class=sig-default>'127.0.0.1:4444'</span>)</span>
</h3>
Get contents of an eepsite. Example: urlget('http://duck.i2p/').
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="urlopen"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">urlopen</span>(<span class=sig-arg>url</span>,
<span class=sig-arg>eepaddr</span>=<span class=sig-default>'127.0.0.1:4444'</span>)</span>
</h3>
Like urllib2.urlopen(url), but only works for eep-sites. Example: f
= urlopen('http://duck.i2p/index.html')
<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>

View File

@ -0,0 +1,59 @@
<?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>i2p.pylib</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Package&nbsp;pylib
</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\i2p.pylib-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF PACKAGE DESCRIPTION =========== -->
<h2 class="package">Package i2p.pylib</h2>
<!-- =========== 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>

View File

@ -0,0 +1,265 @@
<?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>i2p.router</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Module&nbsp;router
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.router-module.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.router-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module i2p.router</h2>
Router control module
<hr/>
<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Function 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="i2p.router-module.html#check" class="summary-sig-name"><code>check</code></a>(<span class=summary-sig-arg>dir</span>)</span></code>
<br />
Checks whether a locally installed router is running.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.router-module.html#find" class="summary-sig-name"><code>find</code></a>(<span class=summary-sig-arg>dir</span>)</span></code>
<br />
Find the absolute path to a locally installed I2P router.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.router-module.html#start" class="summary-sig-name"><code>start</code></a>(<span class=summary-sig-arg>dir</span>,
<span class=summary-sig-arg>hidden</span>)</span></code>
<br />
Start a locally installed I2P router.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.router-module.html#stop" class="summary-sig-name"><code>stop</code></a>(<span class=summary-sig-arg>dir</span>,
<span class=summary-sig-arg>force</span>)</span></code>
<br />
Stop a locally installed I2P router, if it was started by the current
Python program.</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\i2p.router-module.html#_parse_config" class="summary-sig-name"><code>_parse_config</code></a>(<span class=summary-sig-arg>filename</span>)</span></code>
<br />
Return a dict with (name, value) items for the given I2P configuration
file.</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\i2p.router-module.html#_run_program" class="summary-sig-name"><code>_run_program</code></a>(<span class=summary-sig-arg>filename</span>)</span></code>
<br />
Runs the given program in a new process and new terminal.</td></tr>
</table><br />
<!-- =========== START OF VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="i2p.router-module.html#check_addrlist"><code>check_addrlist</code></a></b> = <span title="['127.0.0.1:7656', '127.0.0.1:4444']"><code>['127.0.0.1:7656',&nbsp;'127.0.0.1:4444'] </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="i2p.router-module.html#our_router"><code>our_router</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>lock</code></font></td>
<td><b><a href="i2p.router-module.html#our_router_lock"><code>our_router_lock</code></a></b> = <span title="&lt;thread.lock object at 0x0089D120&gt;"><code>&lt;thread.lock&nbsp;object&nbsp;at&nbsp;0x0089D120&gt; </code>
</span></td></tr>
</table><br />
<!-- =========== START OF FUNCTION DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Function Details</th></tr>
</table>
<a name="check"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">check</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>)</span>
</h3>
<p>Checks whether a locally installed router is running. Does nothing
if successful, otherwise raises i2p.RouterError.</p>
An I2P installation is located by using find(dir). The router.config
file is parsed for 'router.adminPort'. This port is queried to
determine whether the router is running.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="find"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">find</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>)</span>
</h3>
<p>Find the absolute path to a locally installed I2P router.</p>
An I2P installation is located by looking in the environment I2P,
then in PATH, then in the dir argument given to the function. It looks
for startRouter.sh or startRouter.bat. Raises ValueError if an I2P
installation could not be located.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="start"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">start</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>,
<span class=sig-arg>hidden</span>=<span class=sig-default>False</span>)</span>
</h3>
<p>Start a locally installed I2P router. Does nothing if the router has
already been started.</p>
<p>An I2P installation is located by using find(dir).</p>
If hidden is True, do not show a terminal for the router.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="stop"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">stop</span>(<span class=sig-arg>dir</span>=<span class=sig-default>None</span>,
<span class=sig-arg>force</span>=<span class=sig-default>False</span>)</span>
</h3>
<p>Stop a locally installed I2P router, if it was started by the
current Python program. If force is True, stop the router even if it
was started by another process. Do nothing if force is False and the
router was started by another program.</p>
<p>The file 'router.config' is located using the same search process
used for find(dir). It is parsed for 'router.shutdownPassword' and
'router.adminPort'. The router is shut down through the admin port.</p>
Raises i2p.RouterError if the I2P router is running but cannot be
stopped. You must uncomment the 'router.shutdownPassword' line for this
command to work.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_parse_config"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_parse_config</span>(<span class=sig-arg>filename</span>)</span>
</h3>
Return a dict with (name, value) items for the given I2P
configuration file.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_run_program"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_run_program</span>(<span class=sig-arg>filename</span>)</span>
</h3>
Runs the given program in a new process and new terminal.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="check_addrlist"></a>
<h3>check_addrlist</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>list</code>
</dd>
<span title="['127.0.0.1:7656', '127.0.0.1:4444']"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
['127.0.0.1:7656', '127.0.0.1:4444'] </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="our_router"></a>
<h3>our_router</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="False"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
False </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="our_router_lock"></a>
<h3>our_router_lock</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>lock</code>
</dd>
<span title="&lt;thread.lock object at 0x0089D120&gt;"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
&lt;thread.lock object at 0x0089D120&gt; </pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,145 @@
<?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>i2p.samclasses</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Module&nbsp;samclasses
</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\i2p.samclasses-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module i2p.samclasses</h2>
<p>Lower-level SAM API, interfaces with SAM Bridge.</p>
<p>For internal use only.</p>
<p>Use the higher level i2p.socket module for your own programs.</p>
<p>For details on SAM, see &quot;Simple Anonymous Messaging (SAM)
v1.0,&quot; as published by jrandom.</p>
Class Overview:
<ul>
<li>
SAMTerminal: Message sender/reader, talks to SAM Bridge.
</li>
<li>
StringBuffer: Queue for character data.
</li>
<li>
BaseSession: SAM session classes are derived from this.
</li>
<li>
StreamSession: SAM stream session class, threadsafe, high
level.
</li>
<li>
DatagramSession: SAM datagram session, threadsafe, high level.
</li>
<li>
RawSession: SAM raw session, threadsafe, high level.
</li>
</ul>
<p>Note that a 'None' timeout is an infinite timeout: it blocks forever
if necessary.</p>
Todo:
<ul>
<li>
Error handling is a huge mess. Neaten it up. Subclass a ErrorMixin
class, then use set_error(e), check_error(), get_error().
</li>
<li>
Streams are a huge mess. Neaten them up.
</li>
<li>
This whole interface is a tad confusing. Neaten it up.
</li>
</ul>
<hr/>
<!-- =========== START OF CLASSES =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Classes</th></tr>
<tr><td width="15%">
<b><a href="..\private\i2p.samclasses.BaseSession-class.html"><code>BaseSession</code></a></b></td>
<td>Base session, from which StreamSession, DatagramSession, and
RawSession are derived.</td></tr>
<tr><td width="15%">
<b><a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>DatagramSession</code></a></b></td>
<td>Datagram session.</td></tr>
<tr><td width="15%">
<b><a href="..\private\i2p.samclasses.Deque-class.html"><code>Deque</code></a></b></td>
<td>A double-ended queue.</td></tr>
<tr><td width="15%">
<b><a href="..\private\i2p.samclasses.RawSession-class.html"><code>RawSession</code></a></b></td>
<td>Raw session.</td></tr>
<tr><td width="15%">
<b><a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>SAMTerminal</code></a></b></td>
<td>Message-by-message communication with SAM through a single
pysocket.</td></tr>
<tr><td width="15%">
<b><a href="..\private\i2p.samclasses.Stream-class.html"><code>Stream</code></a></b></td>
<td>Receives and sends data for an individual stream.</td></tr>
<tr><td width="15%">
<b><a href="..\private\i2p.samclasses.StreamSession-class.html"><code>StreamSession</code></a></b></td>
<td>Stream session.</td></tr>
<tr><td width="15%">
<b><a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>StringBuffer</code></a></b></td>
<td>A FIFO for characters.</td></tr>
</table><br />
<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Function Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="sleep"></a><span class="summary-sig"><span class="summary-sig-name">sleep</span>()</span></code>
</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>

View File

@ -0,0 +1,207 @@
<?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>i2p.samclasses.BaseSession</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
Class&nbsp;BaseSession
</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\i2p.samclasses.BaseSession-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class BaseSession</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>DatagramSession</code></a>,
<a href="..\private\i2p.samclasses.RawSession-class.html"><code>RawSession</code></a>,
<a href="..\private\i2p.samclasses.StreamSession-class.html"><code>StreamSession</code></a></dd></dl>
<hr/>
Base session, from which StreamSession, DatagramSession, and
RawSession are derived.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>addr</span>)</span></code>
</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\i2p.samclasses.BaseSession-class.html#_encode_kwargs" class="summary-sig-name"><code>_encode_kwargs</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, encode extra kwargs for passing to SESSION
CREATE.</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\i2p.samclasses.BaseSession-class.html#_hello" class="summary-sig-name"><code>_hello</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal command, handshake with SAM terminal.</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\i2p.samclasses.BaseSession-class.html#_namelookup" class="summary-sig-name"><code>_namelookup</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Internal command, does a NAMING LOOKUP query.</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\i2p.samclasses.BaseSession-class.html#_on_HELLO_REPLY" class="summary-sig-name"><code>_on_HELLO_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got HELLO REPLY.</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\i2p.samclasses.BaseSession-class.html#_on_NAMING_REPLY" class="summary-sig-name"><code>_on_NAMING_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got NAMING REPLY.</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\i2p.samclasses.BaseSession-class.html#_on_SESSION_STATUS" class="summary-sig-name"><code>_on_SESSION_STATUS</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got SESSION STATUS.</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\i2p.samclasses.BaseSession-class.html#_set_properties" class="summary-sig-name"><code>_set_properties</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal command, call at end of __init__ to set up properties.</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\i2p.samclasses.BaseSession-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Close the session.</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="_encode_kwargs"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_encode_kwargs</span>(<span class=sig-arg>self</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
Internal command, encode extra kwargs for passing to SESSION
CREATE.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_hello"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_hello</span>(<span class=sig-arg>self</span>)</span>
</h3>
Internal command, handshake with SAM terminal.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_namelookup"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_namelookup</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
Internal command, does a NAMING LOOKUP query.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_on_HELLO_REPLY"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_on_HELLO_REPLY</span>(<span class=sig-arg>self</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
Internal command, got HELLO REPLY.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_on_NAMING_REPLY"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_on_NAMING_REPLY</span>(<span class=sig-arg>self</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
Internal command, got NAMING REPLY.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_on_SESSION_STATUS"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_on_SESSION_STATUS</span>(<span class=sig-arg>self</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
Internal command, got SESSION STATUS.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_set_properties"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_set_properties</span>(<span class=sig-arg>self</span>)</span>
</h3>
Internal command, call at end of __init__ to set up properties.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="close"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
</h3>
Close the session.
<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>

View File

@ -0,0 +1,198 @@
<?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>i2p.samclasses.DatagramSession</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
Class&nbsp;DatagramSession
</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\i2p.samclasses.DatagramSession-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class DatagramSession</h2>
<pre class="base-tree">
<a href="..\private\i2p.samclasses.BaseSession-class.html"><code>BaseSession</code></a> --+
|
<b>DatagramSession</b>
</pre><br />
<hr/>
Datagram session. All methods are blocking and threadsafe.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>addr</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
</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\i2p.samclasses.DatagramSession-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Number of packets in read buffer.</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\i2p.samclasses.DatagramSession-class.html#_on_DATAGRAM_RECEIVED" class="summary-sig-name"><code>_on_DATAGRAM_RECEIVED</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal method, got DATAGRAM RECEIVED.</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\i2p.samclasses.DatagramSession-class.html#recv" class="summary-sig-name"><code>recv</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>timeout</span>,
<span class=summary-sig-arg>peek</span>)</span></code>
<br />
Get a single packet.</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\i2p.samclasses.DatagramSession-class.html#send" class="summary-sig-name"><code>send</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>s</span>,
<span class=summary-sig-arg>dest</span>)</span></code>
<br />
Send packet with contents s to given destination.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseSession</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\i2p.samclasses.BaseSession-class.html#_encode_kwargs" class="summary-sig-name"><code>_encode_kwargs</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, encode extra kwargs for passing to SESSION
CREATE.</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\i2p.samclasses.BaseSession-class.html#_hello" class="summary-sig-name"><code>_hello</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal command, handshake with SAM terminal.</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\i2p.samclasses.BaseSession-class.html#_namelookup" class="summary-sig-name"><code>_namelookup</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Internal command, does a NAMING LOOKUP query.</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\i2p.samclasses.BaseSession-class.html#_on_HELLO_REPLY" class="summary-sig-name"><code>_on_HELLO_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got HELLO REPLY.</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\i2p.samclasses.BaseSession-class.html#_on_NAMING_REPLY" class="summary-sig-name"><code>_on_NAMING_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got NAMING REPLY.</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\i2p.samclasses.BaseSession-class.html#_on_SESSION_STATUS" class="summary-sig-name"><code>_on_SESSION_STATUS</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got SESSION STATUS.</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\i2p.samclasses.BaseSession-class.html#_set_properties" class="summary-sig-name"><code>_set_properties</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal command, call at end of __init__ to set up properties.</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\i2p.samclasses.BaseSession-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Close the session.</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="__len__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
<br /><i>(Length operator)</i>
</h3>
Number of packets in read buffer.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_on_DATAGRAM_RECEIVED"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_on_DATAGRAM_RECEIVED</span>(<span class=sig-arg>self</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
Internal method, got DATAGRAM RECEIVED.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="recv"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">recv</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
<span class=sig-arg>peek</span>=<span class=sig-default>False</span>)</span>
</h3>
Get a single packet. Blocks for up to timeout seconds if n &gt; 0
and no packet is available (timeout=None means wait forever). If still
no packet is available, raises BlockError or Timeout. Returns the pair
(data, address). If peek is True, the data is not removed.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>s</span>,
<span class=sig-arg>dest</span>)</span>
</h3>
Send packet with contents s to given destination.
<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>

View File

@ -0,0 +1,160 @@
<?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>i2p.samclasses.Deque</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
Class&nbsp;Deque
</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\i2p.samclasses.Deque-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Deque</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>StringBuffer</code></a></dd></dl>
<hr/>
A double-ended queue.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>)</span></code>
</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\i2p.samclasses.Deque-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Number of items in the deque.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="_partition"></a><span class="summary-sig"><span class="summary-sig-name">_partition</span>(<span class=summary-sig-arg>self</span>)</span></code>
</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\i2p.samclasses.Deque-class.html#pop_first" class="summary-sig-name"><code>pop_first</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Pop an item off the beginning of the deque, and return it.</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\i2p.samclasses.Deque-class.html#pop_last" class="summary-sig-name"><code>pop_last</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Pop an item off the end of the deque, and return it.</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\i2p.samclasses.Deque-class.html#push_first" class="summary-sig-name"><code>push_first</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>obj</span>)</span></code>
<br />
Prepend obj to the beginning of the deque.</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\i2p.samclasses.Deque-class.html#push_last" class="summary-sig-name"><code>push_last</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>obj</span>)</span></code>
<br />
Append obj to the end of the deque.</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="__len__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
<br /><i>(Length operator)</i>
</h3>
Number of items in the deque.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="pop_first"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">pop_first</span>(<span class=sig-arg>self</span>)</span>
</h3>
Pop an item off the beginning of the deque, and return it.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="pop_last"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">pop_last</span>(<span class=sig-arg>self</span>)</span>
</h3>
Pop an item off the end of the deque, and return it.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="push_first"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">push_first</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>obj</span>)</span>
</h3>
Prepend obj to the beginning of the deque.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="push_last"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">push_last</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>obj</span>)</span>
</h3>
Append obj to the end of the deque.
<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>

View File

@ -0,0 +1,196 @@
<?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>i2p.samclasses.RawSession</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
Class&nbsp;RawSession
</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\i2p.samclasses.RawSession-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class RawSession</h2>
<pre class="base-tree">
<a href="..\private\i2p.samclasses.BaseSession-class.html"><code>BaseSession</code></a> --+
|
<b>RawSession</b>
</pre><br />
<hr/>
Raw session. All methods are blocking and threadsafe.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>addr</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
</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\i2p.samclasses.RawSession-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Number of packets in read buffer.</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\i2p.samclasses.RawSession-class.html#_on_RAW_RECEIVED" class="summary-sig-name"><code>_on_RAW_RECEIVED</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal method, got RAW RECEIVED.</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\i2p.samclasses.RawSession-class.html#recv" class="summary-sig-name"><code>recv</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>timeout</span>,
<span class=summary-sig-arg>peek</span>)</span></code>
<br />
Identical to DatagramSocket.recv.</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\i2p.samclasses.RawSession-class.html#send" class="summary-sig-name"><code>send</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>s</span>,
<span class=summary-sig-arg>dest</span>)</span></code>
<br />
Send packet with contents s to given destination.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseSession</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\i2p.samclasses.BaseSession-class.html#_encode_kwargs" class="summary-sig-name"><code>_encode_kwargs</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, encode extra kwargs for passing to SESSION
CREATE.</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\i2p.samclasses.BaseSession-class.html#_hello" class="summary-sig-name"><code>_hello</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal command, handshake with SAM terminal.</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\i2p.samclasses.BaseSession-class.html#_namelookup" class="summary-sig-name"><code>_namelookup</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Internal command, does a NAMING LOOKUP query.</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\i2p.samclasses.BaseSession-class.html#_on_HELLO_REPLY" class="summary-sig-name"><code>_on_HELLO_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got HELLO REPLY.</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\i2p.samclasses.BaseSession-class.html#_on_NAMING_REPLY" class="summary-sig-name"><code>_on_NAMING_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got NAMING REPLY.</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\i2p.samclasses.BaseSession-class.html#_on_SESSION_STATUS" class="summary-sig-name"><code>_on_SESSION_STATUS</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got SESSION STATUS.</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\i2p.samclasses.BaseSession-class.html#_set_properties" class="summary-sig-name"><code>_set_properties</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal command, call at end of __init__ to set up properties.</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\i2p.samclasses.BaseSession-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Close the session.</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="__len__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
<br /><i>(Length operator)</i>
</h3>
Number of packets in read buffer.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_on_RAW_RECEIVED"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_on_RAW_RECEIVED</span>(<span class=sig-arg>self</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
Internal method, got RAW RECEIVED.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="recv"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">recv</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
<span class=sig-arg>peek</span>=<span class=sig-default>False</span>)</span>
</h3>
Identical to DatagramSocket.recv. The from address is an empty
string.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>s</span>,
<span class=sig-arg>dest</span>)</span>
</h3>
Send packet with contents s to given destination.
<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>

View File

@ -0,0 +1,210 @@
<?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>i2p.samclasses.SAMTerminal</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
Class&nbsp;SAMTerminal
</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\i2p.samclasses.SAMTerminal-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class SAMTerminal</h2>
<hr/>
Message-by-message communication with SAM through a single pysocket.
_on_* messages are dispatched to msgobj.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>addr</span>,
<span class=summary-sig-arg>msgobj</span>)</span></code>
</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\i2p.samclasses.SAMTerminal-class.html#_poll_loop" class="summary-sig-name"><code>_poll_loop</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Polling loop for incoming messages.</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\i2p.samclasses.SAMTerminal-class.html#_samdecode" class="summary-sig-name"><code>_samdecode</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>s</span>)</span></code>
<br />
Given a SAM command, returns (a, b), where a is the string at the
beginning of the command, and b is a dictionary of name, value pairs for
the command.</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\i2p.samclasses.SAMTerminal-class.html#check" class="summary-sig-name"><code>check</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Raise an error if terminal was closed, otherwise do nothing.</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\i2p.samclasses.SAMTerminal-class.html#check_message" class="summary-sig-name"><code>check_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>kwargs</span>)</span></code>
<br />
Raises an error if kwargs['RESULT'] != 'OK'.</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\i2p.samclasses.SAMTerminal-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Close the SAM terminal.</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\i2p.samclasses.SAMTerminal-class.html#on_message" class="summary-sig-name"><code>on_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>msg</span>,
<span class=summary-sig-arg>kwargs</span>)</span></code>
<br />
Process a SAM message that was received.</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\i2p.samclasses.SAMTerminal-class.html#queue_get" class="summary-sig-name"><code>queue_get</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>q</span>)</span></code>
<br />
Identical to q.get() unless a call to self.check() fails, in which
case the waiting is cut short with an error.</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\i2p.samclasses.SAMTerminal-class.html#send_message" class="summary-sig-name"><code>send_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>msg</span>)</span></code>
<br />
Send a message to the SAM bridge.</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="_poll_loop"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_poll_loop</span>(<span class=sig-arg>self</span>)</span>
</h3>
Polling loop for incoming messages.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_samdecode"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_samdecode</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>s</span>)</span>
</h3>
Given a SAM command, returns (a, b), where a is the string at the
beginning of the command, and b is a dictionary of name, value pairs
for the command.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="check"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">check</span>(<span class=sig-arg>self</span>)</span>
</h3>
Raise an error if terminal was closed, otherwise do nothing.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="check_message"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">check_message</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>kwargs</span>)</span>
</h3>
Raises an error if kwargs['RESULT'] != 'OK'.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="close"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
</h3>
Close the SAM terminal.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="on_message"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">on_message</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>msg</span>,
<span class=sig-arg>kwargs</span>)</span>
</h3>
Process a SAM message that was received. Dispatch to
self._on_MESSAGE_NAME(**kwargs).
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="queue_get"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">queue_get</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>q</span>)</span>
</h3>
Identical to q.get() unless a call to self.check() fails, in which
case the waiting is cut short with an error.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_message"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_message</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>msg</span>)</span>
</h3>
Send a message to the SAM bridge. A newline will be automatically
added if none is present.
<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>

View File

@ -0,0 +1,168 @@
<?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>i2p.samclasses.Stream</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
Class&nbsp;Stream
</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\i2p.samclasses.Stream-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Stream</h2>
<hr/>
Receives and sends data for an individual stream.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>parent</span>,
<span class=summary-sig-arg>remotedest</span>,
<span class=summary-sig-arg>id</span>,
<span class=summary-sig-arg>didconnect</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="__del__"></a><span class="summary-sig"><span class="summary-sig-name">__del__</span>(<span class=summary-sig-arg>self</span>)</span></code>
</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\i2p.samclasses.Stream-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Current length of read buffer.</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\i2p.samclasses.Stream-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Close the stream.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="on_close"></a><span class="summary-sig"><span class="summary-sig-name">on_close</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>e</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="on_receive"></a><span class="summary-sig"><span class="summary-sig-name">on_receive</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>s</span>)</span></code>
</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\i2p.samclasses.Stream-class.html#recv" class="summary-sig-name"><code>recv</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>n</span>,
<span class=summary-sig-arg>timeout</span>,
<span class=summary-sig-arg>peek</span>,
<span class=summary-sig-arg>waitall</span>)</span></code>
<br />
Reads up to n bytes in a manner identical to socket.recv.</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\i2p.samclasses.Stream-class.html#send" class="summary-sig-name"><code>send</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>s</span>)</span></code>
<br />
Sends the string s, blocking if necessary.</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="__len__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
<br /><i>(Length operator)</i>
</h3>
Current length of read buffer.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="close"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
</h3>
Close the stream. Threadsafe.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="recv"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">recv</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>n</span>,
<span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
<span class=sig-arg>peek</span>=<span class=sig-default>False</span>,
<span class=sig-arg>waitall</span>=<span class=sig-default>False</span>)</span>
</h3>
Reads up to n bytes in a manner identical to socket.recv. Blocks for
up to timeout seconds if n &gt; 0 and no data is available
(timeout=None means wait forever). If still no data is available,
raises BlockError or Timeout. For a closed stream, recv will read the
data stored in the buffer until EOF, at which point the read data will
be truncated. If peek is True, the data is not removed. If waitall is
True, reads exactly n bytes, or raises BlockError or Timeout as
appropriate. Returns data.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>s</span>)</span>
</h3>
Sends the string s, blocking if necessary.
<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>

View File

@ -0,0 +1,276 @@
<?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>i2p.samclasses.StreamSession</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
Class&nbsp;StreamSession
</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\i2p.samclasses.StreamSession-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class StreamSession</h2>
<pre class="base-tree">
<a href="..\private\i2p.samclasses.BaseSession-class.html"><code>BaseSession</code></a> --+
|
<b>StreamSession</b>
</pre><br />
<hr/>
Stream session. All methods are blocking and threadsafe.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>addr</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
</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\i2p.samclasses.StreamSession-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Unconnected session; has no read data available.</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\i2p.samclasses.StreamSession-class.html#_on_STREAM_CLOSED" class="summary-sig-name"><code>_on_STREAM_CLOSED</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Got STREAM CLOSED command.</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\i2p.samclasses.StreamSession-class.html#_on_STREAM_CONNECTED" class="summary-sig-name"><code>_on_STREAM_CONNECTED</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Got STREAM CONNECTED command.</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\i2p.samclasses.StreamSession-class.html#_on_STREAM_RECEIVED" class="summary-sig-name"><code>_on_STREAM_RECEIVED</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Got STREAM RECEIVED command.</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\i2p.samclasses.StreamSession-class.html#_on_STREAM_STATUS" class="summary-sig-name"><code>_on_STREAM_STATUS</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got STREAM STATUS.</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\i2p.samclasses.StreamSession-class.html#_send_stream" class="summary-sig-name"><code>_send_stream</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>id</span>,
<span class=summary-sig-arg>data</span>)</span></code>
<br />
Internal command, send data to stream id.</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\i2p.samclasses.StreamSession-class.html#accept" class="summary-sig-name"><code>accept</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>timeout</span>)</span></code>
<br />
Wait for incoming connection, and return a Stream object for it.</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\i2p.samclasses.StreamSession-class.html#connect" class="summary-sig-name"><code>connect</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>dest</span>,
<span class=summary-sig-arg>timeout</span>)</span></code>
<br />
Create a stream connected to remote destination 'dest'.</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\i2p.samclasses.StreamSession-class.html#listen" class="summary-sig-name"><code>listen</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>backlog</span>)</span></code>
<br />
Set maximum number of queued connections.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseSession</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\i2p.samclasses.BaseSession-class.html#_encode_kwargs" class="summary-sig-name"><code>_encode_kwargs</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, encode extra kwargs for passing to SESSION
CREATE.</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\i2p.samclasses.BaseSession-class.html#_hello" class="summary-sig-name"><code>_hello</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal command, handshake with SAM terminal.</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\i2p.samclasses.BaseSession-class.html#_namelookup" class="summary-sig-name"><code>_namelookup</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Internal command, does a NAMING LOOKUP query.</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\i2p.samclasses.BaseSession-class.html#_on_HELLO_REPLY" class="summary-sig-name"><code>_on_HELLO_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got HELLO REPLY.</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\i2p.samclasses.BaseSession-class.html#_on_NAMING_REPLY" class="summary-sig-name"><code>_on_NAMING_REPLY</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got NAMING REPLY.</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\i2p.samclasses.BaseSession-class.html#_on_SESSION_STATUS" class="summary-sig-name"><code>_on_SESSION_STATUS</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Internal command, got SESSION STATUS.</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\i2p.samclasses.BaseSession-class.html#_set_properties" class="summary-sig-name"><code>_set_properties</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal command, call at end of __init__ to set up properties.</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\i2p.samclasses.BaseSession-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Close the session.</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="__len__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
<br /><i>(Length operator)</i>
</h3>
Unconnected session; has no read data available.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_on_STREAM_CLOSED"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_on_STREAM_CLOSED</span>(<span class=sig-arg>self</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
Got STREAM CLOSED command. Call idmap[id].on_close(e) and delete
idmap[id].
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_on_STREAM_CONNECTED"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_on_STREAM_CONNECTED</span>(<span class=sig-arg>self</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
Got STREAM CONNECTED command. This is what accept() commands wait
for.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_on_STREAM_RECEIVED"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_on_STREAM_RECEIVED</span>(<span class=sig-arg>self</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
Got STREAM RECEIVED command. Dispatch to
idmap[id].on_receive(s).
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_on_STREAM_STATUS"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_on_STREAM_STATUS</span>(<span class=sig-arg>self</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
Internal command, got STREAM STATUS. Unblocks connect.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_send_stream"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_send_stream</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>id</span>,
<span class=sig-arg>data</span>)</span>
</h3>
Internal command, send data to stream id. Use Stream.send in your
code.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="accept"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">accept</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>timeout</span>=<span class=sig-default>None</span>)</span>
</h3>
Wait for incoming connection, and return a Stream object for it.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="connect"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">connect</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>dest</span>,
<span class=sig-arg>timeout</span>=<span class=sig-default>None</span>)</span>
</h3>
Create a stream connected to remote destination 'dest'. The id is
random. If the timeout is exceeded, do NOT raise an error; rather,
return a Stream object with .didconnect set to False.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="listen"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">listen</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>backlog</span>)</span>
</h3>
Set maximum number of queued connections.
<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>

View File

@ -0,0 +1,210 @@
<?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>i2p.samclasses.StringBuffer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="..\private\i2p.samclasses-module.html">Module&nbsp;samclasses</a> ::
Class&nbsp;StringBuffer
</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\i2p.samclasses.StringBuffer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class StringBuffer</h2>
<pre class="base-tree">
<a href="..\private\i2p.samclasses.Deque-class.html"><code>Deque</code></a> --+
|
<b>StringBuffer</b>
</pre><br />
<hr/>
<p>A FIFO for characters. Strings can be efficiently appended to the end,
and read from the beginning.</p>
Example:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>B = StringBuffer(<span class="py-string">'Hello W'</span>)
<span class="py-prompt">&gt;&gt;&gt; </span>B.append(<span class="py-string">'orld!'</span>)
<span class="py-prompt">&gt;&gt;&gt; </span>B.read(5)</span>
<span class="py-output">'Hello'</span>
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>B.read()</span>
<span class="py-output">'World!'</span></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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>s</span>)</span></code>
</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\i2p.samclasses.StringBuffer-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Number of items in the deque.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="__repr__"></a><span class="summary-sig"><span class="summary-sig-name">__repr__</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="__str__"></a><span class="summary-sig"><span class="summary-sig-name">__str__</span>(<span class=summary-sig-arg>self</span>)</span></code>
</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\i2p.samclasses.StringBuffer-class.html#append" class="summary-sig-name"><code>append</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>s</span>)</span></code>
<br />
Append string data to the end of the buffer.</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\i2p.samclasses.StringBuffer-class.html#peek" class="summary-sig-name"><code>peek</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>n</span>)</span></code>
<br />
Like read(), but do not remove the data that is returned.</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\i2p.samclasses.StringBuffer-class.html#prepend" class="summary-sig-name"><code>prepend</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>s</span>)</span></code>
<br />
Prepend string data to the beginning of the buffer.</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\i2p.samclasses.StringBuffer-class.html#read" class="summary-sig-name"><code>read</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>n</span>)</span></code>
<br />
Read n bytes of data (or less if less data available) from the
beginning of the buffer.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Deque</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\i2p.samclasses.Deque-class.html#_partition" class="summary-sig-name"><code>_partition</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</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\i2p.samclasses.Deque-class.html#pop_first" class="summary-sig-name"><code>pop_first</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Pop an item off the beginning of the deque, and return it.</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\i2p.samclasses.Deque-class.html#pop_last" class="summary-sig-name"><code>pop_last</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Pop an item off the end of the deque, and return it.</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\i2p.samclasses.Deque-class.html#push_first" class="summary-sig-name"><code>push_first</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>obj</span>)</span></code>
<br />
Prepend obj to the beginning of the deque.</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\i2p.samclasses.Deque-class.html#push_last" class="summary-sig-name"><code>push_last</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>obj</span>)</span></code>
<br />
Append obj to the end of the deque.</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="__len__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
<br /><i>(Length operator)</i>
</h3>
Number of items in the deque.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="..\private\i2p.samclasses.Deque-class.html#__len__"><code>i2p.samclasses.Deque.__len__</code></a> <i>(inherited documentation)</i>
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="append"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">append</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>s</span>)</span>
</h3>
Append string data to the end of the buffer.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="peek"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">peek</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>n</span>=<span class=sig-default>None</span>)</span>
</h3>
Like read(), but do not remove the data that is returned.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="prepend"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">prepend</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>s</span>)</span>
</h3>
Prepend string data to the beginning of the buffer.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="read"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">read</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>n</span>=<span class=sig-default>None</span>)</span>
</h3>
Read n bytes of data (or less if less data available) from the
beginning of the buffer. The data is removed. If n is omitted, read the
entire buffer.
<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>

View File

@ -0,0 +1,120 @@
<?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>i2p.select</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Module&nbsp;select
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.select-module.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.select-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module i2p.select</h2>
I2P Python API - Emulation of Python select module.
<hr/>
<!-- =========== START OF CLASSES =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Classes</th></tr>
<tr><td width="15%">
<b><a href="i2p.select.Poll-class.html"><code>Poll</code></a></b></td>
<td>Class implementing poll interface.</td></tr>
</table><br />
<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Function 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="i2p.select-module.html#poll" class="summary-sig-name"><code>poll</code></a>()</span></code>
<br />
Returns a polling object.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.select-module.html#select" class="summary-sig-name"><code>select</code></a>(<span class=summary-sig-arg>readlist</span>,
<span class=summary-sig-arg>writelist</span>,
<span class=summary-sig-arg>errlist</span>,
<span class=summary-sig-arg>timeout</span>)</span></code>
<br />
Performs a select call.</td></tr>
</table><br />
<!-- =========== START OF FUNCTION DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Function Details</th></tr>
</table>
<a name="poll"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">poll</span>()</span>
</h3>
Returns a polling object. Works on SAM sockets and Python sockets.
See select.poll() in the Python library for more information.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="select"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">select</span>(<span class=sig-arg>readlist</span>,
<span class=sig-arg>writelist</span>,
<span class=sig-arg>errlist</span>,
<span class=sig-arg>timeout</span>=<span class=sig-default>None</span>)</span>
</h3>
Performs a select call. Works on SAM sockets and Python sockets. See
select.select() in the Python library for more information.
<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>

View File

@ -0,0 +1,112 @@
<?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>i2p.select.Poll</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.select-module.html">Module&nbsp;select</a> ::
Class&nbsp;Poll
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.select.Poll-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.select.Poll-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Poll</h2>
<hr/>
Class implementing poll interface. Works for Python sockets and SAM
sockets.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="poll"></a><span class="summary-sig"><span class="summary-sig-name">poll</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>timeout</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="register"></a><span class="summary-sig"><span class="summary-sig-name">register</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>fd</span>,
<span class=summary-sig-arg>eventmask</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="unregister"></a><span class="summary-sig"><span class="summary-sig-name">unregister</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>fd</span>)</span></code>
</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\i2p.select.Poll-class.html#_hash" class="summary-sig-name"><code>_hash</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>fd</span>)</span></code>
<br />
Get a unique number for each object.</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="_hash"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_hash</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>fd</span>)</span>
</h3>
Get a unique number for each object.
<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>

View File

@ -0,0 +1,283 @@
<?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>i2p.socket</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Module&nbsp;socket
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket-module.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module i2p.socket</h2>
Emulation of Python socket module using SAM.
<hr/>
<!-- =========== START OF CLASSES =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Classes</th></tr>
<tr><td width="15%">
<b><a href="i2p.socket.Socket-class.html"><code>Socket</code></a></b></td>
<td>A socket object.</td></tr>
</table><br />
<!-- =========== START OF EXCEPTIONS =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Exceptions</th></tr>
<tr><td width="15%">
<b><a href="i2p.socket.BlockError-class.html"><code>BlockError</code></a></b></td>
<td>Socket call would have blocked.</td></tr>
<tr><td width="15%">
<b><a href="i2p.socket.ClosedError-class.html"><code>ClosedError</code></a></b></td>
<td>A command was used on a socket that closed gracefully.</td></tr>
<tr><td width="15%">
<b><a href="i2p.socket.Error-class.html"><code>Error</code></a></b></td>
<td>Base class for all SAM errors.</td></tr>
<tr><td width="15%">
<b><a href="i2p.socket.NetworkError-class.html"><code>NetworkError</code></a></b></td>
<td>Network error occurred within I2P.</td></tr>
<tr><td width="15%">
<b><a href="i2p.socket.Timeout-class.html"><code>Timeout</code></a></b></td>
<td>Time out occurred for a socket which had timeouts enabled via a prior
call to settimeout().</td></tr>
</table><br />
<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Function 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="i2p.socket-module.html#resolve" class="summary-sig-name"><code>resolve</code></a>(<span class=summary-sig-arg>host</span>,
<span class=summary-sig-arg>samaddr</span>)</span></code>
<br />
Resolve I2P host name --&gt; I2P Destination.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket-module.html#socket" class="summary-sig-name"><code>socket</code></a>(<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>type</span>,
<span class=summary-sig-arg>samaddr</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Create a new socket.</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\i2p.socket-module.html#_make_session" class="summary-sig-name"><code>_make_session</code></a>(<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>type</span>,
<span class=summary-sig-arg>samaddr</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Make a session object (eg samclasses.StreamSession).</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\i2p.socket-module.html#_wrap_stream" class="summary-sig-name"><code>_wrap_stream</code></a>(<span class=summary-sig-arg>stream</span>,
<span class=summary-sig-arg>parent_socket</span>)</span></code>
<br />
Wraps a Socket object around a samclasses.Stream object.</td></tr>
</table><br />
<!-- =========== START OF VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>lock</code></font></td>
<td><b><a href="..\private\i2p.socket-module.html#_session_lock"><code>_session_lock</code></a></b> = <span title="&lt;thread.lock object at 0x0089D0E0&gt;"><code>&lt;thread.lock&nbsp;object&nbsp;at&nbsp;0x0089D0E0&gt; </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="..\private\i2p.socket-module.html#_sessions"><code>_sessions</code></a></b> = <span title="{}"><code>{} </code>
</span></td></tr>
</table><br />
<!-- =========== START OF FUNCTION DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Function Details</th></tr>
</table>
<a name="resolve"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">resolve</span>(<span class=sig-arg>host</span>,
<span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>)</span>
</h3>
Resolve I2P host name --&gt; I2P Destination. Returns the same
string if host is already a Destination.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="socket"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">socket</span>(<span class=sig-arg>session</span>,
<span class=sig-arg>type</span>,
<span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
<p>Create a new socket. Argument session should be a session name -- if
the name has not yet been used, an I2P Destination will be created for
it, otherwise, the existing Destination will be re-used. An empty
session string causes a transient session to be created. Argument type
is one of SOCK_STREAM, SOCK_DGRAM, or SOCK_RAW.</p>
I2P configuration keyword arguments:
<ul>
<li>
in_depth - depth of incoming tunnel (default 2)
</li>
<li>
out_depth - depth of outgoing tunnel (default 2)
</li>
</ul>
<p>A single session may be shared by more than one socket, if the
sockets are the same type, and if the sockets are created within the
same Python process. The socket objects are multithread-safe.</p>
Examples:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>a = i2p.socket(<span class="py-string">'Alice'</span>, i2p.SOCK_STREAM)
<span class="py-prompt">&gt;&gt;&gt; </span>b = i2p.socket(<span class="py-string">'Bob'</span>, i2p.SOCK_DGRAM,</span>
<span class="py-output">in_depth=2, out_depth=5)</span></pre>
The created object behaves identically to a socket from module
socket, with the following exceptions:
<ul>
<li>
I2P Destinations are used as address arguments [1].
</li>
<li>
bind is a no-op: sockets are always bound.
</li>
<li>
send* methods send all data and are non-blocking.
</li>
</ul>
<p>A given session name can only be open in a single Python program at
a time. If you need to overcome this limitation, consider patching
I2P.</p>
<p>[1]. Alternatively, a host name can be used as an address. It will
be resolved using hosts.txt.</p>
<p>For details on how to use socket objects, see
http://www.python.org/doc/current/lib/socket-objects.html</p>
See the examples directory for code examples.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_make_session"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_make_session</span>(<span class=sig-arg>session</span>,
<span class=sig-arg>type</span>,
<span class=sig-arg>samaddr</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
</h3>
Make a session object (eg samclasses.StreamSession). Same arguments
as socket(). Return an existing session object if one has been
previously created under the given name.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_wrap_stream"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_wrap_stream</span>(<span class=sig-arg>stream</span>,
<span class=sig-arg>parent_socket</span>)</span>
</h3>
Wraps a Socket object around a samclasses.Stream object.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="_session_lock"></a>
<h3>_session_lock</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>lock</code>
</dd>
<span title="&lt;thread.lock object at 0x0089D0E0&gt;"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
&lt;thread.lock object at 0x0089D0E0&gt; </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="_sessions"></a>
<h3>_sessions</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>dict</code>
</dd>
<span title="{}"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
{} </pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,93 @@
<?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>i2p.socket.BlockError</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
Class&nbsp;BlockError
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.BlockError-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.BlockError-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class BlockError</h2>
<pre class="base-tree">
<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+
|
<a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+
|
<a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
|
<b>BlockError</b>
</pre><br />
<hr/>
Socket call would have blocked.
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</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>

View File

@ -0,0 +1,93 @@
<?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>i2p.socket.ClosedError</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
Class&nbsp;ClosedError
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.ClosedError-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.ClosedError-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class ClosedError</h2>
<pre class="base-tree">
<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+
|
<a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+
|
<a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
|
<b>ClosedError</b>
</pre><br />
<hr/>
A command was used on a socket that closed gracefully.
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</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>

View File

@ -0,0 +1,98 @@
<?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>i2p.socket.Error</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
Class&nbsp;Error
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.Error-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.Error-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Error</h2>
<pre class="base-tree">
<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+
|
<a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+
|
<b>Error</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.socket.BlockError-class.html"><code>BlockError</code></a>,
<a href="i2p.socket.ClosedError-class.html"><code>ClosedError</code></a>,
<a href="i2p.socket.NetworkError-class.html"><code>NetworkError</code></a>,
<a href="i2p.socket.Timeout-class.html"><code>Timeout</code></a></dd></dl>
<hr/>
Base class for all SAM errors.
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</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>

View File

@ -0,0 +1,95 @@
<?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>i2p.socket.NetworkError</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
Class&nbsp;NetworkError
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.NetworkError-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.NetworkError-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class NetworkError</h2>
<pre class="base-tree">
<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+
|
<a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+
|
<a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
|
<b>NetworkError</b>
</pre><br />
<hr/>
Network error occurred within I2P. The error object is a 2-tuple:
(errtag, errdesc). errtag is a SAM error string, errdesc is a human
readable error description.
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</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>

View File

@ -0,0 +1,563 @@
<?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>i2p.socket.Socket</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
Class&nbsp;Socket
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.Socket-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.Socket-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Socket</h2>
<hr/>
A socket object.
<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="i2p.socket.Socket-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>type</span>,
<span class=summary-sig-arg>samaddr</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Equivalent to socket().</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#__copy__" class="summary-sig-name"><code>__copy__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Returns the original object.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#__deepcopy__" class="summary-sig-name"><code>__deepcopy__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>memo</span>)</span></code>
<br />
Returns the original object.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#accept" class="summary-sig-name"><code>accept</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Accept an incoming connection.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#bind" class="summary-sig-name"><code>bind</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>address</span>)</span></code>
<br />
Does nothing.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Closes the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#connect" class="summary-sig-name"><code>connect</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>address</span>)</span></code>
<br />
Connect to a remote dest, identified in local SAM bridge's hosts file
as host 'address'.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#connect_ex" class="summary-sig-name"><code>connect_ex</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>address</span>)</span></code>
<br />
Like connect(), but return any error that is raised.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#getpeername" class="summary-sig-name"><code>getpeername</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the remote Destination associated with the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#getsockname" class="summary-sig-name"><code>getsockname</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the local Destination associated with the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#gettimeout" class="summary-sig-name"><code>gettimeout</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the timeout value.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#listen" class="summary-sig-name"><code>listen</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>backlog</span>)</span></code>
<br />
Listen for connections made to the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#makefile" class="summary-sig-name"><code>makefile</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>mode</span>,
<span class=summary-sig-arg>bufsize</span>)</span></code>
<br />
Return a file object for the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#recv" class="summary-sig-name"><code>recv</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>bufsize</span>,
<span class=summary-sig-arg>flags</span>)</span></code>
<br />
Receive string data from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#recvfrom" class="summary-sig-name"><code>recvfrom</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>bufsize</span>,
<span class=summary-sig-arg>flags</span>)</span></code>
<br />
Like recv(), but returns a tuple (data, remoteaddr), where data is the
string data received, and remoteaddr is the remote Destination.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#send" class="summary-sig-name"><code>send</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>string</span>,
<span class=summary-sig-arg>flags</span>)</span></code>
<br />
Sends string data to a remote Destination.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#sendall" class="summary-sig-name"><code>sendall</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>string</span>,
<span class=summary-sig-arg>flags</span>)</span></code>
<br />
Identical to send().</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#sendto" class="summary-sig-name"><code>sendto</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>string</span>,
<span class=summary-sig-arg>flags</span>,
<span class=summary-sig-arg>address</span>)</span></code>
<br />
Send a packet to the given Destination.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#setblocking" class="summary-sig-name"><code>setblocking</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>flag</span>)</span></code>
<br />
Set blocking or non-blocking mode for the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.socket.Socket-class.html#settimeout" class="summary-sig-name"><code>settimeout</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Set a timeout for the socket.</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\i2p.socket.Socket-class.html#_verify_connected" class="summary-sig-name"><code>_verify_connected</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>needs_to_be_connected</span>)</span></code>
<br />
Raise an error if socket is not a connected stream socket.</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\i2p.socket.Socket-class.html#_verify_not_connected" class="summary-sig-name"><code>_verify_not_connected</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Verify that the socket is not currently connected, and is not in the
process of connecting.</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\i2p.socket.Socket-class.html#_verify_open" class="summary-sig-name"><code>_verify_open</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Verify that the socket has not been closed.</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\i2p.socket.Socket-class.html#_verify_stream" class="summary-sig-name"><code>_verify_stream</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Raise an error if socket is not a SOCK_STREAM.</td></tr>
</table><br />
<!-- =========== START OF PROPERTY SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Property Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><b><a href="i2p.socket.Socket-class.html#dest"><code>dest</code></a></b>: Local I2P Destination of socket</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><b><a href="i2p.socket.Socket-class.html#session"><code>session</code></a></b>: Session name</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><b><a href="i2p.socket.Socket-class.html#type"><code>type</code></a></b>: Socket type: SOCK_STREAM, SOCK_DGRAM, or SOCK_RAW.</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>session</span>,
<span class=sig-arg>type</span>,
<span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
<br /><i>(Constructor)</i>
</h3>
Equivalent to socket().
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__copy__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__copy__</span>(<span class=sig-arg>self</span>)</span>
</h3>
Returns the original object.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__deepcopy__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__deepcopy__</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>memo</span>)</span>
</h3>
Returns the original object.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="accept"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">accept</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Accept an incoming connection. The socket must be type SOCK_STREAM,
and listen() must be called prior to this command. The return value is
(conn, remotedest), where conn is a new socket object made for the
connection, and remotedest is the remote Destination from which the
connection was made.</p>
Example:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">from</span> i2p <span class="py-keyword">import</span> socket
<span class="py-prompt">&gt;&gt;&gt; </span>s = socket.socket(<span class="py-string">'Alice'</span>, socket.SOCK_STREAM)
<span class="py-prompt">&gt;&gt;&gt; </span>s.listen(10)</span></pre>
This prepares the server. Now accept an incoming connection:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>c, remotedest = s.accept()
<span class="py-prompt">&gt;&gt;&gt; </span>c.send(<span class="py-string">'hello world!'</span>)</span></pre>
If accept() is called on a socket that is in non-blocking mode or
has a timeout, i2p.socket.BlockError or i2p.socket.Timeout may be
raised. This indicates that no incoming connection is currently
available.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="bind"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">bind</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>address</span>)</span>
</h3>
Does nothing. Provided for compatibility with the Python socket
command bind(), which binds a server to a port.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="close"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
</h3>
Closes the socket. It is an error to call any method other than
recv() or recvfrom() on a closed socket. For streams, the receive
methods return data that was received prior to the closing of the
socket. For datagram and raw sockets, the receive methods cannot be
used on a closed socket.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="connect"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">connect</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>address</span>)</span>
</h3>
<p>Connect to a remote dest, identified in local SAM bridge's hosts
file as host 'address'.</p>
For example:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>s.connect(<span class="py-string">'duck.i2p'</span>)</span></pre>
<p>Alternatively, you can use a full base64 Destination:</p>
Example:
<pre class="doctestblock">
<span class="py-src"><span class="py-prompt">&gt;&gt;&gt; </span>s.connect(<span class="py-string">'238797sdfh2k34kjh....AAAA'</span>)</span></pre>
If connect() is called on a socket that is in non-blocking mode or
has a timeout, i2p.socket.BlockError or i2p.socket.Timeout may be
raised. This indicates that the connection is still being initiated.
Use i2p.select.select() to determine when the connection is ready.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="connect_ex"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">connect_ex</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>address</span>)</span>
</h3>
Like connect(), but return any error that is raised. Returns None if
no error is raised.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getpeername"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getpeername</span>(<span class=sig-arg>self</span>)</span>
</h3>
Get the remote Destination associated with the socket. This is
equivalent to s.remotedest, and is provided for compatibility with the
Python socket module.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getsockname"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getsockname</span>(<span class=sig-arg>self</span>)</span>
</h3>
Get the local Destination associated with the socket. This is
equivalent to s.dest, and is provided for compatibility with the Python
socket module.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="gettimeout"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">gettimeout</span>(<span class=sig-arg>self</span>)</span>
</h3>
Get the timeout value.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="listen"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">listen</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>backlog</span>)</span>
</h3>
Listen for connections made to the socket. This method must be
called before accept(). The backlog argument specifies the maximum
number of queued incoming connections.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="makefile"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">makefile</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>mode</span>=<span class=sig-default>'r'</span>,
<span class=sig-arg>bufsize</span>=<span class=sig-default>-1</span>)</span>
</h3>
Return a file object for the socket. See socket.makefile() in the
Python documentation for more information.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="recv"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">recv</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>bufsize</span>,
<span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
</h3>
<p>Receive string data from the socket.</p>
<p>The maximum amount of data to be received is given by bufsize. If
bufsize is zero, this function returns an empty string immediately. If
bufsize is nonzero, this function blocks until at least one character
is available for reading. If the socket has been closed, an empty
string is returned as an end of file indicator.</p>
<p>If recv() is called on a socket that is in non-blocking mode or has
a timeout, i2p.socket.BlockError or i2p.socket.Timeout will be raised
if data is not available within the given timeframe.</p>
<p>For a datagram or raw socket, the first bufsize characters of the
packet are read, and the remainder of the packet is discarded. To read
the entire packet, use bufsize = -1.</p>
<p>For datagram and raw sockets, the packet may originate from any
Destination. Use recvfrom() with datagrams to determine the Destination
from which the packet was received.</p>
The flags argument can be a bitwise OR of MSG_PEEK, MSG_WAITALL,
and/or MSG_DONTWAIT. MSG_PEEK indicates that any data read should not
be removed from the socket's incoming buffer. MSG_WAITALL indicates to
wait for exactly bufsize characters or an error. MSG_DONTWAIT indicates
that the recv() command should not block execution.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="recvfrom"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">recvfrom</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>bufsize</span>,
<span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
</h3>
Like recv(), but returns a tuple (data, remoteaddr), where data is
the string data received, and remoteaddr is the remote Destination.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>string</span>,
<span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
</h3>
<p>Sends string data to a remote Destination.</p>
<p>For a stream, connect() must be called prior to send(). Once close()
is called, no further data can be sent, and the stream cannot be
re-opened.</p>
<p>For datagram and raw sockets, connect() only specifies a Destination
to which packets are sent to. send() will then send a packet to the
given Destination. connect() can be used multiple times.</p>
The send() command never blocks execution. The flags argument is
ignored.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="sendall"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">sendall</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>string</span>,
<span class=sig-arg>flags</span>=<span class=sig-default>0</span>)</span>
</h3>
Identical to send().
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="sendto"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">sendto</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>string</span>,
<span class=sig-arg>flags</span>,
<span class=sig-arg>address</span>)</span>
</h3>
<p>Send a packet to the given Destination.</p>
<p>Only valid for datagram and raw sockets. The address argument should
be either a name from the hosts file, or a base64 Destination.</p>
The sendto() command never blocks execution. The flags argument is
ignored.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="setblocking"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">setblocking</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>flag</span>)</span>
</h3>
<p>Set blocking or non-blocking mode for the socket.</p>
<p>If flag is True, any method called on the socket will hang until the
method has completed. If flag is False, all methods will raise
i2p.socket.BlockError() if they cannot complete instantly.</p>
s.setblocking(False) is equivalent to s.settimeout(0);
s.setblocking(True) is equivalent to s.settimeout(None).
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="settimeout"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">settimeout</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>value</span>)</span>
</h3>
<p>Set a timeout for the socket.</p>
<p>The value argument should be a timeout value in seconds, or None.
None is equivalent to an infinite timeout.</p>
A socket operation will raise a i2p.socket.Timeout if the operation
cannot complete within in the specified time limit.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_verify_connected"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_verify_connected</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>needs_to_be_connected</span>=<span class=sig-default>True</span>)</span>
</h3>
Raise an error if socket is not a connected stream socket.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_verify_not_connected"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_verify_not_connected</span>(<span class=sig-arg>self</span>)</span>
</h3>
Verify that the socket is not currently connected, and is not in the
process of connecting.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_verify_open"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_verify_open</span>(<span class=sig-arg>self</span>)</span>
</h3>
Verify that the socket has not been closed.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_verify_stream"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_verify_stream</span>(<span class=sig-arg>self</span>)</span>
</h3>
Raise an error if socket is not a SOCK_STREAM.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF PROPERTY DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Property Details</th></tr>
</table>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<a name="dest"></a>
<h3>dest</h3>
Local I2P Destination of socket
</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<a name="session"></a>
<h3>session</h3>
Session name
</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<a name="type"></a>
<h3>type</h3>
Socket type: SOCK_STREAM, SOCK_DGRAM, or SOCK_RAW.
</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>

View File

@ -0,0 +1,94 @@
<?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>i2p.socket.Timeout</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.socket-module.html">Module&nbsp;socket</a> ::
Class&nbsp;Timeout
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.socket.Timeout-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.socket.Timeout-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Timeout</h2>
<pre class="base-tree">
<a href="exceptions.Exception-class.html"><code>Exception</code></a> --+
|
<a href="..\private\i2p.Error-class.html"><code>Error</code></a> --+
|
<a href="i2p.socket.Error-class.html"><code>Error</code></a> --+
|
<b>Timeout</b>
</pre><br />
<hr/>
Time out occurred for a socket which had timeouts enabled via a prior
call to settimeout().
<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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Exception</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="exceptions.Exception-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class="summary-sig-vararg">...</span>)</span></code>
</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>

View File

@ -0,0 +1,121 @@
<?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>i2p.tunnel</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
Module&nbsp;tunnel
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.tunnel-module.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel-module.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module i2p.tunnel</h2>
Exchange data between I2P and regular TCP sockets.
<hr/>
<!-- =========== START OF CLASSES =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Classes</th></tr>
<tr><td width="15%">
<b><a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.tunnel.TunnelClient-class.html"><code>TunnelClient</code></a></b></td>
<td>&nbsp;</td></tr>
<tr><td width="15%">
<b><a href="i2p.tunnel.TunnelServer-class.html"><code>TunnelServer</code></a></b></td>
<td>&nbsp;</td></tr>
</table><br />
<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Function 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\i2p.tunnel-module.html#_exchange_data" class="summary-sig-name"><code>_exchange_data</code></a>(<span class=summary-sig-arg>A</span>,
<span class=summary-sig-arg>B</span>)</span></code>
<br />
Exchanges data A &lt;-&gt; B between open stream sockets A and B.</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\i2p.tunnel-module.html#_test_connected" class="summary-sig-name"><code>_test_connected</code></a>(<span class=summary-sig-arg>B</span>)</span></code>
<br />
Raises an error if socket B is not yet connected.</td></tr>
</table><br />
<!-- =========== START OF FUNCTION DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Function Details</th></tr>
</table>
<a name="_exchange_data"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_exchange_data</span>(<span class=sig-arg>A</span>,
<span class=sig-arg>B</span>)</span>
</h3>
Exchanges data A &lt;-&gt; B between open stream sockets A and
B.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_test_connected"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_test_connected</span>(<span class=sig-arg>B</span>)</span>
</h3>
Raises an error if socket B is not yet connected.
<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>

View File

@ -0,0 +1,147 @@
<?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>i2p.tunnel.Tunnel</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.tunnel-module.html">Module&nbsp;tunnel</a> ::
Class&nbsp;Tunnel
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.tunnel.Tunnel-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel.Tunnel-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Tunnel</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.tunnel.TunnelClient-class.html"><code>TunnelClient</code></a>,
<a href="i2p.tunnel.TunnelServer-class.html"><code>TunnelServer</code></a></dd></dl>
<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="i2p.tunnel.Tunnel-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>receive</span>,
<span class=summary-sig-arg>make_send</span>,
<span class=summary-sig-arg>nconnect</span>,
<span class=summary-sig-arg>timeout</span>)</span></code>
<br />
A Tunnel relays connections from a 'receive' socket to one or more
'send' sockets.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.tunnel.Tunnel-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Close all connections made for this tunnel.</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\i2p.tunnel.Tunnel-class.html#_run" class="summary-sig-name"><code>_run</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Manage the tunnel in a separate thread.</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>receive</span>,
<span class=sig-arg>make_send</span>,
<span class=sig-arg>nconnect</span>=<span class=sig-default>-1</span>,
<span class=sig-arg>timeout</span>=<span class=sig-default>60.0</span>)</span>
<br /><i>(Constructor)</i>
</h3>
<p>A Tunnel relays connections from a 'receive' socket to one or more
'send' sockets. The receive socket must be bound and listening. For
each incoming connection, a new send socket is created by calling
make_send(). Data is then exchanged between the created streams until
one socket is closed. nconnect is the maximum number of simultaneous
connections (-1 for infinite), and timeout is the time that a single
connection can last for (None allows a connection to last forever).</p>
<p>Sockets must accept stream traffic and support the Python socket
interface. A separate daemonic thread is created to manage the tunnel.
For high performance, make_send() should make a socket and connect in
non-blocking mode (you should catch and discard the socket.BlockError
or socket.error due to executing connect on a non-blocking socket).</p>
<p>Security Note: A firewall is needed to maintain the end user's
anonymity. An attacker could keep a tunnel socket open by pinging it
regularly. The accepted sockets from 'receive' must prevent this by
closing down eventually.</p>
Socket errors do not cause the Tunnel to shut down.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="close"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">close</span>(<span class=sig-arg>self</span>)</span>
</h3>
Close all connections made for this tunnel.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_run"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_run</span>(<span class=sig-arg>self</span>)</span>
</h3>
Manage the tunnel in a separate thread.
<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>

View File

@ -0,0 +1,180 @@
<?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>i2p.tunnel.TunnelClient</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.tunnel-module.html">Module&nbsp;tunnel</a> ::
Class&nbsp;TunnelClient
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.tunnel.TunnelClient-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel.TunnelClient-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class TunnelClient</h2>
<pre class="base-tree">
<a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a> --+
|
<b>TunnelClient</b>
</pre><br />
<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="i2p.tunnel.TunnelClient-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>port</span>,
<span class=summary-sig-arg>dest</span>,
<span class=summary-sig-arg>samaddr</span>,
<span class=summary-sig-arg>nconnect</span>,
<span class=summary-sig-arg>timeout</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Tunnels localhost:port --&gt; I2P Destination dest.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Tunnel</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.tunnel.Tunnel-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Close all connections made for this tunnel.</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\i2p.tunnel.Tunnel-class.html#_run" class="summary-sig-name"><code>_run</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Manage the tunnel in a separate thread.</td></tr>
</table><br />
<!-- =========== START OF PROPERTY SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Property Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><b><a href="i2p.tunnel.TunnelClient-class.html#dest"><code>dest</code></a></b></td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><b><a href="i2p.tunnel.TunnelClient-class.html#remotedest"><code>remotedest</code></a></b>: Remote Destination.</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><b><a href="i2p.tunnel.TunnelClient-class.html#session"><code>session</code></a></b></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>session</span>,
<span class=sig-arg>port</span>,
<span class=sig-arg>dest</span>,
<span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
<span class=sig-arg>nconnect</span>=<span class=sig-default>-1</span>,
<span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
<br /><i>(Constructor)</i>
</h3>
<p>Tunnels localhost:port --&gt; I2P Destination dest.</p>
A session named 'session' is created locally, for purposes of
routing to 'dest'. nconnect and timeout are the maximum number of
connections and maximum time per connection. All other arguments are
passed to socket.socket(). This call blocks until the tunnel is
ready.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="i2p.tunnel.Tunnel-class.html#__init__"><code>i2p.tunnel.Tunnel.__init__</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF PROPERTY DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Property Details</th></tr>
</table>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<a name="dest"></a>
<h3>dest</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Get Method:</b></dt>
<dd><code><span class="variable-quote">'</span>Local&nbsp;Destination&nbsp;used&nbsp;for&nbsp;routing.<span class="variable-quote">'</span> </code>
</dd>
</dl>
</dd>
</dl></td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<a name="remotedest"></a>
<h3>remotedest</h3>
Remote Destination.
</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<a name="session"></a>
<h3>session</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Get Method:</b></dt>
<dd><code><span class="variable-quote">'</span>Local&nbsp;Destination&nbsp;used&nbsp;for&nbsp;routing.<span class="variable-quote">'</span> </code>
</dd>
</dl>
</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>

View File

@ -0,0 +1,152 @@
<?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>i2p.tunnel.TunnelServer</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">
<a href="i2p-module.html">Package&nbsp;i2p</a> ::
<a href="i2p.tunnel-module.html">Module&nbsp;tunnel</a> ::
Class&nbsp;TunnelServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/i2p.tunnel.TunnelServer-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="i2p.tunnel.TunnelServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class TunnelServer</h2>
<pre class="base-tree">
<a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a> --+
|
<b>TunnelServer</b>
</pre><br />
<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="i2p.tunnel.TunnelServer-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>session</span>,
<span class=summary-sig-arg>port</span>,
<span class=summary-sig-arg>samaddr</span>,
<span class=summary-sig-arg>nconnect</span>,
<span class=summary-sig-arg>timeout</span>,
<span class="summary-sig-kwarg">**kwargs</span>)</span></code>
<br />
Tunnels incoming SAM streams --&gt; localhost:port.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Tunnel</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="i2p.tunnel.Tunnel-class.html#close" class="summary-sig-name"><code>close</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Close all connections made for this tunnel.</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\i2p.tunnel.Tunnel-class.html#_run" class="summary-sig-name"><code>_run</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Manage the tunnel in a separate thread.</td></tr>
</table><br />
<!-- =========== START OF PROPERTY SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Property Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><b><a href="i2p.tunnel.TunnelServer-class.html#dest"><code>dest</code></a></b>: I2P Destination of server.</td></tr><tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><b><a href="i2p.tunnel.TunnelServer-class.html#session"><code>session</code></a></b>: Session name for server.</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>session</span>,
<span class=sig-arg>port</span>,
<span class=sig-arg>samaddr</span>=<span class=sig-default>'127.0.0.1:7656'</span>,
<span class=sig-arg>nconnect</span>=<span class=sig-default>-1</span>,
<span class=sig-arg>timeout</span>=<span class=sig-default>None</span>,
<span class="sig-kwarg">**kwargs</span>)</span>
<br /><i>(Constructor)</i>
</h3>
<p>Tunnels incoming SAM streams --&gt; localhost:port.</p>
nconnect and timeout are the maximum number of connections and
maximum time per connection. All other arguments are passed to
socket.socket(). This call blocks until the tunnel is ready.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="i2p.tunnel.Tunnel-class.html#__init__"><code>i2p.tunnel.Tunnel.__init__</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF PROPERTY DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Property Details</th></tr>
</table>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<a name="dest"></a>
<h3>dest</h3>
I2P Destination of server.
</td></tr></table><table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<a name="session"></a>
<h3>session</h3>
Session name for server.
</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>

View File

@ -0,0 +1,13 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title> API Documentation </title>
</head>
<frameset cols="20%,80%">
<frameset rows="30%,70%">
<frame src="toc.html" name="moduleListFrame">
<frame src="toc-everything.html" name="moduleFrame">
</frameset>
<frame src="i2p-module.html" name="mainFrame">
</frameset>
</html>

View File

@ -0,0 +1,901 @@
<?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>Index</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 bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Index&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%">
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/indices.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="indices.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<br />
<!-- =========== START OF IDENTIFIER INDEX =========== -->
<table class="index" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="index">
<th colspan="2">Identifier Index</th></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#__contains__"><code>__contains__</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#__copy__"><code>__copy__</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#__deepcopy__"><code>__deepcopy__</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#__del__"><code>__del__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#__delitem__"><code>__delitem__</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="exceptions.Exception-class.html#__getitem__"><code>__getitem__</code></a></td>
<td>Method in class <a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#__getitem__"><code>__getitem__</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="exceptions.Exception-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.select.Poll-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.Tunnel-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="i2p.tunnel.Tunnel-class.html"><code>i2p.tunnel.Tunnel</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#__init__"><code>__init__</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html#__len__"><code>__len__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#__len__"><code>__len__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html#__len__"><code>__len__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#__len__"><code>__len__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#__len__"><code>__len__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#__len__"><code>__len__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#__len__"><code>__len__</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#__repr__"><code>__repr__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#__setitem__"><code>__setitem__</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="exceptions.Exception-class.html#__str__"><code>__str__</code></a></td>
<td>Method in class <a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#__str__"><code>__str__</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#__str__"><code>__str__</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.BaseHTTPServer-module.html#__version__"><code>__version__</code></a></td>
<td>Variable in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.SimpleHTTPServer-module.html#__version__"><code>__version__</code></a></td>
<td>Variable in module <a href="i2p.SimpleHTTPServer-module.html"><code>i2p.SimpleHTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_encode_kwargs"><code>_encode_kwargs</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.tunnel-module.html#_exchange_data"><code>_exchange_data</code></a></td>
<td>Function in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.select.Poll-class.html#_hash"><code>_hash</code></a></td>
<td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_hello"><code>_hello</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.socket-module.html#_make_session"><code>_make_session</code></a></td>
<td>Function in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_namelookup"><code>_namelookup</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html#_on_DATAGRAM_RECEIVED"><code>_on_DATAGRAM_RECEIVED</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_HELLO_REPLY"><code>_on_HELLO_REPLY</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_NAMING_REPLY"><code>_on_NAMING_REPLY</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html#_on_RAW_RECEIVED"><code>_on_RAW_RECEIVED</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_on_SESSION_STATUS"><code>_on_SESSION_STATUS</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_CLOSED"><code>_on_STREAM_CLOSED</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_CONNECTED"><code>_on_STREAM_CONNECTED</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_RECEIVED"><code>_on_STREAM_RECEIVED</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#_on_STREAM_STATUS"><code>_on_STREAM_STATUS</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.router-module.html#_parse_config"><code>_parse_config</code></a></td>
<td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#_partition"><code>_partition</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#_poll_loop"><code>_poll_loop</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.tunnel.Tunnel-class.html#_run"><code>_run</code></a></td>
<td>Method in class <a href="i2p.tunnel.Tunnel-class.html"><code>i2p.tunnel.Tunnel</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.router-module.html#_run_program"><code>_run_program</code></a></td>
<td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#_samdecode"><code>_samdecode</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#_send_stream"><code>_send_stream</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.socket-module.html#_session_lock"><code>_session_lock</code></a></td>
<td>Variable in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.socket-module.html#_sessions"><code>_sessions</code></a></td>
<td>Variable in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#_set_properties"><code>_set_properties</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.tunnel-module.html#_test_connected"><code>_test_connected</code></a></td>
<td>Function in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.socket.Socket-class.html#_verify_connected"><code>_verify_connected</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.socket.Socket-class.html#_verify_not_connected"><code>_verify_not_connected</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.socket.Socket-class.html#_verify_open"><code>_verify_open</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.socket.Socket-class.html#_verify_stream"><code>_verify_stream</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.socket-module.html#_wrap_stream"><code>_wrap_stream</code></a></td>
<td>Function in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#accept"><code>accept</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#accept"><code>accept</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
<td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
<td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
<td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></td>
<td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string"><code>address_string</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.HTTPServer-class.html"><code>BaseHTTPServer.HTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.HTTPServer-class.html"><code>BaseHTTPServer.HTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
<td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
<td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
<td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></td>
<td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#append"><code>append</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></td>
<td>Class in module <code>BaseHTTPServer</code></td></tr>
<tr><td width="15%"><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a></td>
<td>Class in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.BaseHTTPServer-module.html"><code>BaseHTTPServer</code></a></td>
<td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a></td>
<td>Class in module <code>SocketServer</code></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a></td>
<td>Class in module <code>SocketServer</code></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.BaseServer-class.html"><code>BaseServer</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html"><code>BaseSession</code></a></td>
<td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#bind"><code>bind</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.BlockError-class.html"><code>BlockError</code></a></td>
<td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></td>
<td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></td>
<td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></td>
<td>Class in module <code>CGIHTTPServer</code></td></tr>
<tr><td width="15%"><a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></td>
<td>Class in module <a href="i2p.CGIHTTPServer-module.html"><code>i2p.CGIHTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.CGIHTTPServer-module.html"><code>CGIHTTPServer</code></a></td>
<td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="i2p.router-module.html#check"><code>check</code></a></td>
<td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#check"><code>check</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
<tr><td width="15%"><a href="i2p.router-module.html#check_addrlist"><code>check_addrlist</code></a></td>
<td>Variable in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#check_message"><code>check_message</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.BaseSession-class.html#close"><code>close</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#close"><code>close</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#close"><code>close</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#close"><code>close</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.Tunnel-class.html#close"><code>close</code></a></td>
<td>Method in class <a href="i2p.tunnel.Tunnel-class.html"><code>i2p.tunnel.Tunnel</code></a></td></tr>
<tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#close_request"><code>close_request</code></a></td>
<td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#close_request"><code>close_request</code></a></td>
<td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#close_request"><code>close_request</code></a></td>
<td>Method in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.ClosedError-class.html"><code>ClosedError</code></a></td>
<td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#collect_children"><code>collect_children</code></a></td>
<td>Method in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#connect"><code>connect</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#connect"><code>connect</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#connect_ex"><code>connect_ex</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile"><code>copyfile</code></a></td>
<td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
<td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
<td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
<td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></td>
<td>Variable in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></td>
<td>Class in module <code>SocketServer</code></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>DatagramSession</code></a></td>
<td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string"><code>date_time_string</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.BaseHTTPServer-module.html#DEFAULT_ERROR_MESSAGE"><code>DEFAULT_ERROR_MESSAGE</code></a></td>
<td>Variable in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html"><code>Deque</code></a></td>
<td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#dest"><code>dest</code></a></td>
<td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#dest"><code>dest</code></a></td>
<td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html#dest"><code>dest</code></a></td>
<td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a> in class <a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET"><code>do_GET</code></a></td>
<td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD"><code>do_HEAD</code></a></td>
<td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#do_POST"><code>do_POST</code></a></td>
<td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="i2p.eep-module.html"><code>eep</code></a></td>
<td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers"><code>end_headers</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.Error-class.html"><code>Error</code></a></td>
<td>Class in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Error-class.html"><code>Error</code></a></td>
<td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="exceptions.Exception-class.html"><code>Exception</code></a></td>
<td>Class in module <code>exceptions</code></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
<td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
<td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
<td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></td>
<td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#fileno"><code>fileno</code></a></td>
<td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.router-module.html#find"><code>find</code></a></td>
<td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#finish"><code>finish</code></a></td>
<td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.DatagramRequestHandler-class.html#finish"><code>finish</code></a></td>
<td>Method in class <a href="SocketServer.DatagramRequestHandler-class.html"><code>SocketServer.DatagramRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#finish"><code>finish</code></a></td>
<td>Method in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#finish_request"><code>finish_request</code></a></td>
<td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></td>
<td>Class in module <code>SocketServer</code></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>ForkingTCPServer</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>ForkingUDPServer</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#get_request"><code>get_request</code></a></td>
<td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#get_request"><code>get_request</code></a></td>
<td>Method in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#getaddr"><code>getaddr</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#getaddrlist"><code>getaddrlist</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#getallmatchingheaders"><code>getallmatchingheaders</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#getdate"><code>getdate</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#getdate_tz"><code>getdate_tz</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html#getencoding"><code>getencoding</code></a></td>
<td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#getfirstmatchingheader"><code>getfirstmatchingheader</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#getheader"><code>getheader</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#getheaders"><code>getheaders</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html#getmaintype"><code>getmaintype</code></a></td>
<td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html#getparam"><code>getparam</code></a></td>
<td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html#getparamnames"><code>getparamnames</code></a></td>
<td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#getpeername"><code>getpeername</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html#getplist"><code>getplist</code></a></td>
<td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#getrawheader"><code>getrawheader</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#getsockname"><code>getsockname</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html#getsubtype"><code>getsubtype</code></a></td>
<td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#gettimeout"><code>gettimeout</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html#gettype"><code>gettype</code></a></td>
<td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type"><code>guess_type</code></a></td>
<td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle"><code>handle</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#handle"><code>handle</code></a></td>
<td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#handle_error"><code>handle_error</code></a></td>
<td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request"><code>handle_one_request</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#handle_request"><code>handle_request</code></a></td>
<td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#has_key"><code>has_key</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></td>
<td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></td>
<td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></td>
<td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></td>
<td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></td>
<td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></td>
<td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></td>
<td>Class in module <code>BaseHTTPServer</code></td></tr>
<tr><td width="15%"><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></td>
<td>Class in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p-module.html"><code>i2p</code></a></td>
<td>Package</td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_cgi"><code>is_cgi</code></a></td>
<td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_executable"><code>is_executable</code></a></td>
<td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_python"><code>is_python</code></a></td>
<td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#iscomment"><code>iscomment</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#isheader"><code>isheader</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#islast"><code>islast</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#items"><code>items</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#keys"><code>keys</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory"><code>list_directory</code></a></td>
<td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html#listen"><code>listen</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#listen"><code>listen</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string"><code>log_date_time_string</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error"><code>log_error</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message"><code>log_message</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request"><code>log_request</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#makefile"><code>makefile</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
<td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
<td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
<td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></td>
<td>Variable in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
<td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
<td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
<td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></td>
<td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html"><code>Message</code></a></td>
<td>Class in module <code>mimetools</code></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html"><code>Message</code></a></td>
<td>Class in module <code>rfc822</code></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html"><code>Message</code></a></td>
<td>Class in module <code>mimetools</code></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.NetworkError-class.html"><code>NetworkError</code></a></td>
<td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#on_close"><code>on_close</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#on_message"><code>on_message</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#on_receive"><code>on_receive</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
<tr><td width="15%"><a href="i2p.router-module.html#our_router"><code>our_router</code></a></td>
<td>Variable in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
<tr><td width="15%"><a href="i2p.router-module.html#our_router_lock"><code>our_router_lock</code></a></td>
<td>Variable in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request"><code>parse_request</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html#parseplist"><code>parseplist</code></a></td>
<td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td width="15%"><a href="mimetools.Message-class.html#parsetype"><code>parsetype</code></a></td>
<td>Method in class <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#peek"><code>peek</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.select.Poll-class.html"><code>Poll</code></a></td>
<td>Class in module <a href="i2p.select-module.html"><code>i2p.select</code></a></td></tr>
<tr><td width="15%"><a href="i2p.select.Poll-class.html#poll"><code>poll</code></a></td>
<td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
<tr><td width="15%"><a href="i2p.select-module.html#poll"><code>poll</code></a></td>
<td>Function in module <a href="i2p.select-module.html"><code>i2p.select</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#pop_first"><code>pop_first</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#pop_last"><code>pop_last</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#prepend"><code>prepend</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#process_request"><code>process_request</code></a></td>
<td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ForkingMixIn-class.html#process_request"><code>process_request</code></a></td>
<td>Method in class <a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#process_request"><code>process_request</code></a></td>
<td>Method in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html#process_request_thread"><code>process_request_thread</code></a></td>
<td>Method in class <a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#push_first"><code>push_first</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Deque-class.html#push_last"><code>push_last</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.pylib-module.html"><code>pylib</code></a></td>
<td>Package in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#queue_get"><code>queue_get</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html"><code>RawSession</code></a></td>
<td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
<td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
<td>Variable in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html#read"><code>read</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#readheaders"><code>readheaders</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html#recv"><code>recv</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html#recv"><code>recv</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#recv"><code>recv</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#recv"><code>recv</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#recvfrom"><code>recvfrom</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="i2p.select.Poll-class.html#register"><code>register</code></a></td>
<td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#remotedest"><code>remotedest</code></a></td>
<td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket-module.html#resolve"><code>resolve</code></a></td>
<td>Function in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#rewindbody"><code>rewindbody</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="i2p.router-module.html"><code>router</code></a></td>
<td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.RouterError-class.html"><code>RouterError</code></a></td>
<td>Class in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#run_cgi"><code>run_cgi</code></a></td>
<td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses-module.html"><code>samclasses</code></a></td>
<td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>SAMTerminal</code></a></td>
<td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
<tr><td width="15%"><a href="i2p.select-module.html"><code>select</code></a></td>
<td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="i2p.select-module.html#select"><code>select</code></a></td>
<td>Function in module <a href="i2p.select-module.html"><code>i2p.select</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.DatagramSession-class.html#send"><code>send</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.RawSession-class.html#send"><code>send</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html#send"><code>send</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#send"><code>send</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error"><code>send_error</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#send_head"><code>send_head</code></a></td>
<td>Method in class <a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head"><code>send_head</code></a></td>
<td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header"><code>send_header</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.SAMTerminal-class.html#send_message"><code>send_message</code></a></td>
<td>Method in class <a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response"><code>send_response</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#sendall"><code>sendall</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#sendto"><code>sendto</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#serve_forever"><code>serve_forever</code></a></td>
<td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#server_activate"><code>server_activate</code></a></td>
<td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#server_activate"><code>server_activate</code></a></td>
<td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#server_activate"><code>server_activate</code></a></td>
<td>Method in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.HTTPServer-class.html#server_bind"><code>server_bind</code></a></td>
<td>Method in class <a href="BaseHTTPServer.HTTPServer-class.html"><code>BaseHTTPServer.HTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#server_bind"><code>server_bind</code></a></td>
<td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#server_close"><code>server_close</code></a></td>
<td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#server_close"><code>server_close</code></a></td>
<td>Method in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
<td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
<td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
<td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></td>
<td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#session"><code>session</code></a></td>
<td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html#session"><code>session</code></a></td>
<td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html#session"><code>session</code></a></td>
<td>Variable in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a> in class <a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a> in class <a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#setblocking"><code>setblocking</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#setdefault"><code>setdefault</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#settimeout"><code>settimeout</code></a></td>
<td>Method in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.BaseRequestHandler-class.html#setup"><code>setup</code></a></td>
<td>Method in class <a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.DatagramRequestHandler-class.html#setup"><code>setup</code></a></td>
<td>Method in class <a href="SocketServer.DatagramRequestHandler-class.html"><code>SocketServer.DatagramRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#setup"><code>setup</code></a></td>
<td>Method in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></td>
<td>Class in module <code>SimpleHTTPServer</code></td></tr>
<tr><td width="15%"><a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></td>
<td>Class in module <a href="i2p.SimpleHTTPServer-module.html"><code>i2p.SimpleHTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SimpleHTTPServer-module.html"><code>SimpleHTTPServer</code></a></td>
<td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses-module.html#sleep"><code>sleep</code></a></td>
<td>Function in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket-module.html"><code>socket</code></a></td>
<td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html"><code>Socket</code></a></td>
<td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket-module.html#socket"><code>socket</code></a></td>
<td>Function in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
<td>Variable in class <a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html#socket_type"><code>socket_type</code></a></td>
<td>Variable in class <a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
<td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
<td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
<td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
<td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
<td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
<td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></td>
<td>Variable in class <a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer-module.html"><code>SocketServer</code></a></td>
<td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="i2p.router-module.html#start"><code>start</code></a></td>
<td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
<tr><td width="15%"><a href="i2p.router-module.html#stop"><code>stop</code></a></td>
<td>Function in module <a href="i2p.router-module.html"><code>i2p.router</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.Stream-class.html"><code>Stream</code></a></td>
<td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></td>
<td>Class in module <code>SocketServer</code></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StreamSession-class.html"><code>StreamSession</code></a></td>
<td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
<tr><td width="15%"><a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>StringBuffer</code></a></td>
<td>Class in module <a href="..\private\i2p.samclasses-module.html"><code>i2p.samclasses</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a></td>
<td>Class in module <code>SocketServer</code></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.BaseHTTPServer-module.html#test"><code>test</code></a></td>
<td>Function in module <a href="i2p.BaseHTTPServer-module.html"><code>i2p.BaseHTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.CGIHTTPServer-module.html#test"><code>test</code></a></td>
<td>Function in module <a href="i2p.CGIHTTPServer-module.html"><code>i2p.CGIHTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SimpleHTTPServer-module.html#test"><code>test</code></a></td>
<td>Function in module <a href="i2p.SimpleHTTPServer-module.html"><code>i2p.SimpleHTTPServer</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></td>
<td>Class in module <code>SocketServer</code></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>ThreadingTCPServer</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>ThreadingUDPServer</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Timeout-class.html"><code>Timeout</code></a></td>
<td>Class in module <a href="i2p.socket-module.html"><code>i2p.socket</code></a></td></tr>
<tr><td width="15%"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path"><code>translate_path</code></a></td>
<td>Method in class <a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel-module.html"><code>tunnel</code></a></td>
<td>Module in package <a href="i2p-module.html"><code>i2p</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.Tunnel-class.html"><code>Tunnel</code></a></td>
<td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.TunnelClient-class.html"><code>TunnelClient</code></a></td>
<td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
<tr><td width="15%"><a href="i2p.tunnel.TunnelServer-class.html"><code>TunnelServer</code></a></td>
<td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a></td></tr>
<tr><td width="15%"><a href="i2p.socket.Socket-class.html#type"><code>type</code></a></td>
<td>Class in module <a href="i2p.tunnel-module.html"><code>i2p.tunnel</code></a> in class <a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a></td>
<td>Class in module <code>SocketServer</code></td></tr>
<tr><td width="15%"><a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></td>
<td>Class in module <a href="i2p.SocketServer-module.html"><code>i2p.SocketServer</code></a></td></tr>
<tr><td width="15%"><a href="i2p.select.Poll-class.html#unregister"><code>unregister</code></a></td>
<td>Method in class <a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></td></tr>
<tr><td width="15%"><a href="i2p.eep-module.html#urlget"><code>urlget</code></a></td>
<td>Function in module <a href="i2p.eep-module.html"><code>i2p.eep</code></a></td></tr>
<tr><td width="15%"><a href="i2p.eep-module.html#urlopen"><code>urlopen</code></a></td>
<td>Function in module <a href="i2p.eep-module.html"><code>i2p.eep</code></a></td></tr>
<tr><td width="15%"><a href="rfc822.Message-class.html#values"><code>values</code></a></td>
<td>Method in class <a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></td></tr>
<tr><td width="15%"><a href="..\private\SocketServer.BaseServer-class.html#verify_request"><code>verify_request</code></a></td>
<td>Method in class <a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string"><code>version_string</code></a></td>
<td>Method in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></td>
<td>Variable in class <a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></td></tr>
<tr><td width="15%"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></td>
<td>Variable in class <a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></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 bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Index&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>

View File

@ -0,0 +1,263 @@
<?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>mimetools.Message</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;mimetools ::
Class&nbsp;Message
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/mimetools.Message-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="mimetools.Message-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Message</h2>
<pre class="base-tree">
<a href="rfc822.Message-class.html"><code>Message</code></a> --+
|
<b>Message</b>
</pre><br />
<hr/>
A derived class of rfc822.Message that knows about MIME headers and
contains some hooks for decoding encoded and multipart messages.
<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="mimetools.Message-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>fp</span>,
<span class=summary-sig-arg>seekable</span>)</span></code>
<br />
Initialize the class instance and read the headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="getencoding"></a><span class="summary-sig"><span class="summary-sig-name">getencoding</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="getmaintype"></a><span class="summary-sig"><span class="summary-sig-name">getmaintype</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="getparam"></a><span class="summary-sig"><span class="summary-sig-name">getparam</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="getparamnames"></a><span class="summary-sig"><span class="summary-sig-name">getparamnames</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="getplist"></a><span class="summary-sig"><span class="summary-sig-name">getplist</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="getsubtype"></a><span class="summary-sig"><span class="summary-sig-name">getsubtype</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="gettype"></a><span class="summary-sig"><span class="summary-sig-name">gettype</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="parseplist"></a><span class="summary-sig"><span class="summary-sig-name">parseplist</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="parsetype"></a><span class="summary-sig"><span class="summary-sig-name">parsetype</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from Message</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__contains__" class="summary-sig-name"><code>__contains__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Determine whether a message contains the named header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__delitem__" class="summary-sig-name"><code>__delitem__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Delete all occurrences of a specific header, if it is present.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get a specific header, as from a dictionary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the number of headers in a message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__setitem__" class="summary-sig-name"><code>__setitem__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Set the value of a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__str__" class="summary-sig-name"><code>__str__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>get</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>default</span>)</span></code>
<br />
Get the header value for a name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddr" class="summary-sig-name"><code>getaddr</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get a single address from a header, as a tuple.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddrlist" class="summary-sig-name"><code>getaddrlist</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get a list of addresses from a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getallmatchingheaders" class="summary-sig-name"><code>getallmatchingheaders</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Find all header lines matching a given header name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate" class="summary-sig-name"><code>getdate</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Retrieve a date field from a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate_tz" class="summary-sig-name"><code>getdate_tz</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Retrieve a date field from a header as a 10-tuple.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getfirstmatchingheader" class="summary-sig-name"><code>getfirstmatchingheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get the first header line matching name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>getheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>default</span>)</span></code>
<br />
Get the header value for a name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheaders" class="summary-sig-name"><code>getheaders</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get all values for a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getrawheader" class="summary-sig-name"><code>getrawheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
A higher-level interface to getfirstmatchingheader().</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#has_key" class="summary-sig-name"><code>has_key</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Determine whether a message contains the named header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#iscomment" class="summary-sig-name"><code>iscomment</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Determine whether a line should be skipped entirely.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#isheader" class="summary-sig-name"><code>isheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Determine whether a given line is a legal header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#islast" class="summary-sig-name"><code>islast</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Determine whether a line is a legal end of RFC 2822 headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#items" class="summary-sig-name"><code>items</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get all of a message's headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#keys" class="summary-sig-name"><code>keys</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get all of a message's header field names.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#readheaders" class="summary-sig-name"><code>readheaders</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Read header lines.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#rewindbody" class="summary-sig-name"><code>rewindbody</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Rewind the file to the start of the body (if seekable).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#setdefault" class="summary-sig-name"><code>setdefault</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>default</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#values" class="summary-sig-name"><code>values</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get all of a message's header field values.</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>fp</span>,
<span class=sig-arg>seekable</span>=<span class=sig-default>1</span>)</span>
<br /><i>(Constructor)</i>
</h3>
Initialize the class instance and read the headers.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="rfc822.Message-class.html#__init__"><code>rfc822.Message.__init__</code></a> <i>(inherited documentation)</i>
</dd>
</dl>
</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>

View File

@ -0,0 +1,525 @@
<?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>rfc822.Message</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;rfc822 ::
Class&nbsp;Message
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/rfc822.Message-class.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="rfc822.Message-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Message</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="mimetools.Message-class.html"><code>Message</code></a></dd></dl>
<hr/>
Represents a single RFC 2822-compliant message.
<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="rfc822.Message-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>fp</span>,
<span class=summary-sig-arg>seekable</span>)</span></code>
<br />
Initialize the class instance and read the headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__contains__" class="summary-sig-name"><code>__contains__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Determine whether a message contains the named header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__delitem__" class="summary-sig-name"><code>__delitem__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Delete all occurrences of a specific header, if it is present.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__getitem__" class="summary-sig-name"><code>__getitem__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get a specific header, as from a dictionary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__len__" class="summary-sig-name"><code>__len__</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the number of headers in a message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#__setitem__" class="summary-sig-name"><code>__setitem__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Set the value of a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="__str__"></a><span class="summary-sig"><span class="summary-sig-name">__str__</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>get</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>default</span>)</span></code>
<br />
Get the header value for a name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddr" class="summary-sig-name"><code>getaddr</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get a single address from a header, as a tuple.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getaddrlist" class="summary-sig-name"><code>getaddrlist</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get a list of addresses from a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getallmatchingheaders" class="summary-sig-name"><code>getallmatchingheaders</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Find all header lines matching a given header name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate" class="summary-sig-name"><code>getdate</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Retrieve a date field from a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getdate_tz" class="summary-sig-name"><code>getdate_tz</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Retrieve a date field from a header as a 10-tuple.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getfirstmatchingheader" class="summary-sig-name"><code>getfirstmatchingheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get the first header line matching name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheader" class="summary-sig-name"><code>getheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>default</span>)</span></code>
<br />
Get the header value for a name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getheaders" class="summary-sig-name"><code>getheaders</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Get all values for a header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#getrawheader" class="summary-sig-name"><code>getrawheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
A higher-level interface to getfirstmatchingheader().</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#has_key" class="summary-sig-name"><code>has_key</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Determine whether a message contains the named header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#iscomment" class="summary-sig-name"><code>iscomment</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Determine whether a line should be skipped entirely.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#isheader" class="summary-sig-name"><code>isheader</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Determine whether a given line is a legal header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#islast" class="summary-sig-name"><code>islast</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Determine whether a line is a legal end of RFC 2822 headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#items" class="summary-sig-name"><code>items</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get all of a message's headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#keys" class="summary-sig-name"><code>keys</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get all of a message's header field names.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#readheaders" class="summary-sig-name"><code>readheaders</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Read header lines.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#rewindbody" class="summary-sig-name"><code>rewindbody</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Rewind the file to the start of the body (if seekable).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="setdefault"></a><span class="summary-sig"><span class="summary-sig-name">setdefault</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>,
<span class=summary-sig-arg>default</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="rfc822.Message-class.html#values" class="summary-sig-name"><code>values</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get all of a message's header field values.</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>fp</span>,
<span class=sig-arg>seekable</span>=<span class=sig-default>1</span>)</span>
<br /><i>(Constructor)</i>
</h3>
Initialize the class instance and read the headers.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__contains__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__contains__</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
<br /><i>(In operator)</i>
</h3>
Determine whether a message contains the named header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__delitem__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__delitem__</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
<br /><i>(Index deletion operator)</i>
</h3>
Delete all occurrences of a specific header, if it is present.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__getitem__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__getitem__</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
<br /><i>(Indexing operator)</i>
</h3>
Get a specific header, as from a dictionary.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__len__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__len__</span>(<span class=sig-arg>self</span>)</span>
<br /><i>(Length operator)</i>
</h3>
Get the number of headers in a message.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="__setitem__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">__setitem__</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>,
<span class=sig-arg>value</span>)</span>
<br /><i>(Index assignment operator)</i>
</h3>
<p>Set the value of a header.</p>
Note: This is not a perfect inversion of __getitem__, because any
changed headers get stuck at the end of the raw-headers list rather
than where the altered header was.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getheader"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">get</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>,
<span class=sig-arg>default</span>=<span class=sig-default>None</span>)</span>
</h3>
<p>Get the header value for a name.</p>
This is the normal interface: it returns a stripped version of the
header value for a given header name, or None if it doesn't exist. This
uses the dictionary version which finds the *last* such header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getaddr"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getaddr</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Get a single address from a header, as a tuple.</p>
An example return value: ('Guido van Rossum',
'guido&#64;cwi.nl')
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getaddrlist"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getaddrlist</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Get a list of addresses from a header.</p>
Retrieves a list of addresses from a header, where each address is a
tuple as returned by getaddr(). Scans all named headers, so it works
properly with multiple To: or Cc: headers for example.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getallmatchingheaders"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getallmatchingheaders</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Find all header lines matching a given header name.</p>
Look through the list of headers and find all lines matching a given
header name (and their continuation lines). A list of the lines is
returned, without interpretation. If the header does not occur, an
empty list is returned. If the header occurs multiple times, all
occurrences are returned. Case is not important in the header name.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getdate"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getdate</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Retrieve a date field from a header.</p>
Retrieves a date field from the named header, returning a tuple
compatible with time.mktime().
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getdate_tz"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getdate_tz</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Retrieve a date field from a header as a 10-tuple.</p>
The first 9 elements make up a tuple compatible with time.mktime(),
and the 10th is the offset of the poster's time zone from GMT/UTC.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getfirstmatchingheader"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getfirstmatchingheader</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Get the first header line matching name.</p>
This is similar to getallmatchingheaders, but it returns only the
first matching header (and its continuation lines).
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getheader"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getheader</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>,
<span class=sig-arg>default</span>=<span class=sig-default>None</span>)</span>
</h3>
<p>Get the header value for a name.</p>
This is the normal interface: it returns a stripped version of the
header value for a given header name, or None if it doesn't exist. This
uses the dictionary version which finds the *last* such header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getheaders"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getheaders</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>Get all values for a header.</p>
This returns a list of values for headers given more than once; each
value in the result list is stripped in the same way as the result of
getheader(). If the header is not given, return an empty list.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="getrawheader"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">getrawheader</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
<p>A higher-level interface to getfirstmatchingheader().</p>
Return a string containing the literal text of the header but with
the keyword stripped. All leading, trailing and embedded whitespace is
kept in the string, however. Return None if the header does not
occur.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="has_key"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">has_key</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
Determine whether a message contains the named header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="iscomment"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">iscomment</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>line</span>)</span>
</h3>
<p>Determine whether a line should be skipped entirely.</p>
You may override this method in order to use Message parsing on
tagged data in RFC 2822-like formats that support embedded comments or
free-text data.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="isheader"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">isheader</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>line</span>)</span>
</h3>
<p>Determine whether a given line is a legal header.</p>
This method should return the header name, suitably canonicalized.
You may override this method in order to use Message parsing on tagged
data in RFC 2822-like formats with special header formats.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="islast"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">islast</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>line</span>)</span>
</h3>
<pre class="literalblock">
Determine whether a line is a legal end of RFC 2822 headers.
You may override this method if your application wants to bend the
rules, e.g. to strip trailing whitespace, or to recognize MH template
separators ('--------'). For convenience (e.g. for code reading from
sockets) a line consisting of
also matches.
</pre>
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="items"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">items</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Get all of a message's headers.</p>
Returns a list of name, value tuples.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="keys"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">keys</span>(<span class=sig-arg>self</span>)</span>
</h3>
Get all of a message's header field names.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="readheaders"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">readheaders</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Read header lines.</p>
<p>Read header lines up to the entirely blank line that terminates
them. The (normally blank) line that ends the headers is skipped, but
not included in the returned list. If a non-header line ends the
headers, (which is an error), an attempt is made to backspace over it;
it is never included in the returned list.</p>
The variable self.status is set to the empty string if all went
well, otherwise it is an error message. The variable self.headers is a
completely uninterpreted list of lines contained in the header (so
printing them will reproduce the header exactly as it appears in the
file).
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="rewindbody"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">rewindbody</span>(<span class=sig-arg>self</span>)</span>
</h3>
Rewind the file to the start of the body (if seekable).
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="values"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">values</span>(<span class=sig-arg>self</span>)</span>
</h3>
Get all of a message's header field values.
<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>

View File

@ -0,0 +1,97 @@
<?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>Everything</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b>Everything</b></font></center>
<hr>
<!-- =========== START OF ALL CLASSES =========== -->
<font size="+1"><b>All&nbsp;Classes</b></font><br />
<a target="mainFrame" href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html">i2p.BaseHTTPServer.BaseHTTPRequestHandler</a><br />
<a target="mainFrame" href="i2p.BaseHTTPServer.HTTPServer-class.html">i2p.BaseHTTPServer.HTTPServer</a><br />
<a target="mainFrame" href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html">i2p.CGIHTTPServer.CGIHTTPRequestHandler</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.BaseSession-class.html">i2p.samclasses.BaseSession</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.DatagramSession-class.html">i2p.samclasses.DatagramSession</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.Deque-class.html">i2p.samclasses.Deque</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.RawSession-class.html">i2p.samclasses.RawSession</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.SAMTerminal-class.html">i2p.samclasses.SAMTerminal</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.Stream-class.html">i2p.samclasses.Stream</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.StreamSession-class.html">i2p.samclasses.StreamSession</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.StringBuffer-class.html">i2p.samclasses.StringBuffer</a><br />
<a target="mainFrame" href="i2p.select.Poll-class.html">i2p.select.Poll</a><br />
<a target="mainFrame" href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">i2p.SimpleHTTPServer.SimpleHTTPRequestHandler</a><br />
<a target="mainFrame" href="i2p.socket.Socket-class.html">i2p.socket.Socket</a><br />
<a target="mainFrame" href="i2p.SocketServer.BaseRequestHandler-class.html">i2p.SocketServer.BaseRequestHandler</a><br />
<a target="mainFrame" href="i2p.SocketServer.BaseServer-class.html">i2p.SocketServer.BaseServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.DatagramRequestHandler-class.html">i2p.SocketServer.DatagramRequestHandler</a><br />
<a target="mainFrame" href="i2p.SocketServer.ForkingMixIn-class.html">i2p.SocketServer.ForkingMixIn</a><br />
<a target="mainFrame" href="i2p.SocketServer.ForkingTCPServer-class.html">i2p.SocketServer.ForkingTCPServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.ForkingUDPServer-class.html">i2p.SocketServer.ForkingUDPServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.StreamRequestHandler-class.html">i2p.SocketServer.StreamRequestHandler</a><br />
<a target="mainFrame" href="i2p.SocketServer.TCPServer-class.html">i2p.SocketServer.TCPServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.ThreadingMixIn-class.html">i2p.SocketServer.ThreadingMixIn</a><br />
<a target="mainFrame" href="i2p.SocketServer.ThreadingTCPServer-class.html">i2p.SocketServer.ThreadingTCPServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.ThreadingUDPServer-class.html">i2p.SocketServer.ThreadingUDPServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.UDPServer-class.html">i2p.SocketServer.UDPServer</a><br />
<a target="mainFrame" href="i2p.tunnel.Tunnel-class.html">i2p.tunnel.Tunnel</a><br />
<a target="mainFrame" href="i2p.tunnel.TunnelClient-class.html">i2p.tunnel.TunnelClient</a><br />
<a target="mainFrame" href="i2p.tunnel.TunnelServer-class.html">i2p.tunnel.TunnelServer</a><br />
<br />
<!-- =========== START OF ALL EXCEPTIONS =========== -->
<font size="+1"><b>All&nbsp;Exceptions</b></font><br />
<a target="mainFrame" href="..\private\i2p.Error-class.html">i2p.Error</a><br />
<a target="mainFrame" href="..\private\i2p.RouterError-class.html">i2p.RouterError</a><br />
<a target="mainFrame" href="i2p.socket.BlockError-class.html">i2p.socket.BlockError</a><br />
<a target="mainFrame" href="i2p.socket.ClosedError-class.html">i2p.socket.ClosedError</a><br />
<a target="mainFrame" href="i2p.socket.Error-class.html">i2p.socket.Error</a><br />
<a target="mainFrame" href="i2p.socket.NetworkError-class.html">i2p.socket.NetworkError</a><br />
<a target="mainFrame" href="i2p.socket.Timeout-class.html">i2p.socket.Timeout</a><br />
<br />
<!-- =========== START OF ALL FUNCTIONS =========== -->
<font size="+1"><b>All&nbsp;Functions</b></font><br />
<a target="mainFrame" href="..\private\i2p.tunnel-module.html#_exchange_data">_exchange_data</a><br />
<a target="mainFrame" href="..\private\i2p.socket-module.html#_make_session">_make_session</a><br />
<a target="mainFrame" href="..\private\i2p.router-module.html#_parse_config">_parse_config</a><br />
<a target="mainFrame" href="..\private\i2p.router-module.html#_run_program">_run_program</a><br />
<a target="mainFrame" href="..\private\i2p.tunnel-module.html#_test_connected">_test_connected</a><br />
<a target="mainFrame" href="..\private\i2p.socket-module.html#_wrap_stream">_wrap_stream</a><br />
<a target="mainFrame" href="i2p.router-module.html#check">check</a><br />
<a target="mainFrame" href="i2p.router-module.html#find">find</a><br />
<a target="mainFrame" href="i2p.select-module.html#poll">poll</a><br />
<a target="mainFrame" href="i2p.socket-module.html#resolve">resolve</a><br />
<a target="mainFrame" href="i2p.select-module.html#select">select</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses-module.html#sleep">sleep</a><br />
<a target="mainFrame" href="i2p.socket-module.html#socket">socket</a><br />
<a target="mainFrame" href="i2p.router-module.html#start">start</a><br />
<a target="mainFrame" href="i2p.router-module.html#stop">stop</a><br />
<a target="mainFrame" href="i2p.BaseHTTPServer-module.html#test">test</a><br />
<a target="mainFrame" href="i2p.CGIHTTPServer-module.html#test">test</a><br />
<a target="mainFrame" href="i2p.SimpleHTTPServer-module.html#test">test</a><br />
<a target="mainFrame" href="i2p.eep-module.html#urlget">urlget</a><br />
<a target="mainFrame" href="i2p.eep-module.html#urlopen">urlopen</a><br />
<br />
<!-- =========== START OF ALL VARIABLES =========== -->
<font size="+1"><b>All&nbsp;Variables</b></font><br />
<a target="mainFrame" href="..\private\i2p.BaseHTTPServer-module.html#__version__">__version__</a><br />
<a target="mainFrame" href="..\private\i2p.SimpleHTTPServer-module.html#__version__">__version__</a><br />
<a target="mainFrame" href="..\private\i2p.socket-module.html#_session_lock">_session_lock</a><br />
<a target="mainFrame" href="..\private\i2p.socket-module.html#_sessions">_sessions</a><br />
<a target="mainFrame" href="i2p.router-module.html#check_addrlist">check_addrlist</a><br />
<a target="mainFrame" href="..\private\i2p.BaseHTTPServer-module.html#DEFAULT_ERROR_MESSAGE">DEFAULT_ERROR_MESSAGE</a><br />
<a target="mainFrame" href="i2p.router-module.html#our_router">our_router</a><br />
<a target="mainFrame" href="i2p.router-module.html#our_router_lock">our_router_lock</a><br />
<br />
<hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-everything.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,38 @@
<?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>i2p</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="i2p-module.html">i2p</a></b></font></center>
<hr>
<!-- =========== START OF MODULES =========== -->
<font size="+1"><b>Modules</b></font><br />
<a target="mainFrame" href="i2p.BaseHTTPServer-module.html">BaseHTTPServer</a><br />
<a target="mainFrame" href="i2p.CGIHTTPServer-module.html">CGIHTTPServer</a><br />
<a target="mainFrame" href="i2p.eep-module.html">eep</a><br />
<a target="mainFrame" href="..\private\i2p.pylib-module.html">pylib</a><br />
<a target="mainFrame" href="i2p.router-module.html">router</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses-module.html">samclasses</a><br />
<a target="mainFrame" href="i2p.select-module.html">select</a><br />
<a target="mainFrame" href="i2p.SimpleHTTPServer-module.html">SimpleHTTPServer</a><br />
<a target="mainFrame" href="i2p.socket-module.html">socket</a><br />
<a target="mainFrame" href="i2p.SocketServer-module.html">SocketServer</a><br />
<a target="mainFrame" href="i2p.tunnel-module.html">tunnel</a><br />
<br />
<!-- =========== START OF EXCEPTIONS =========== -->
<font size="+1"><b>Exceptions</b></font><br />
<a target="mainFrame" href="..\private\i2p.Error-class.html">Error</a><br />
<a target="mainFrame" href="..\private\i2p.RouterError-class.html">RouterError</a><br />
<br />
<hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p-module.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,34 @@
<?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>i2p.BaseHTTPServer</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="i2p.BaseHTTPServer-module.html">BaseHTTPServer</a></b></font></center>
<hr>
<!-- =========== START OF CLASSES =========== -->
<font size="+1"><b>Classes</b></font><br />
<a target="mainFrame" href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html">BaseHTTPRequestHandler</a><br />
<a target="mainFrame" href="i2p.BaseHTTPServer.HTTPServer-class.html">HTTPServer</a><br />
<br />
<!-- =========== START OF FUNCTIONS =========== -->
<font size="+1"><b>Functions</b></font><br />
<a target="mainFrame" href="i2p.BaseHTTPServer-module.html#test">test</a><br />
<br />
<!-- =========== START OF VARIABLES =========== -->
<font size="+1"><b>Variables</b></font><br />
<a target="mainFrame" href="..\private\i2p.BaseHTTPServer-module.html#__version__">__version__</a><br />
<a target="mainFrame" href="..\private\i2p.BaseHTTPServer-module.html#DEFAULT_ERROR_MESSAGE">DEFAULT_ERROR_MESSAGE</a><br />
<br />
<hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.BaseHTTPServer-module.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,27 @@
<?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>i2p.CGIHTTPServer</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="i2p.CGIHTTPServer-module.html">CGIHTTPServer</a></b></font></center>
<hr>
<!-- =========== START OF CLASSES =========== -->
<font size="+1"><b>Classes</b></font><br />
<a target="mainFrame" href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html">CGIHTTPRequestHandler</a><br />
<br />
<!-- =========== START OF FUNCTIONS =========== -->
<font size="+1"><b>Functions</b></font><br />
<a target="mainFrame" href="i2p.CGIHTTPServer-module.html#test">test</a><br />
<br />
<hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.CGIHTTPServer-module.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,32 @@
<?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>i2p.SimpleHTTPServer</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="i2p.SimpleHTTPServer-module.html">SimpleHTTPServer</a></b></font></center>
<hr>
<!-- =========== START OF CLASSES =========== -->
<font size="+1"><b>Classes</b></font><br />
<a target="mainFrame" href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">SimpleHTTPRequestHandler</a><br />
<br />
<!-- =========== START OF FUNCTIONS =========== -->
<font size="+1"><b>Functions</b></font><br />
<a target="mainFrame" href="i2p.SimpleHTTPServer-module.html#test">test</a><br />
<br />
<!-- =========== START OF VARIABLES =========== -->
<font size="+1"><b>Variables</b></font><br />
<a target="mainFrame" href="..\private\i2p.SimpleHTTPServer-module.html#__version__">__version__</a><br />
<br />
<hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.SimpleHTTPServer-module.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,33 @@
<?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>i2p.SocketServer</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="i2p.SocketServer-module.html">SocketServer</a></b></font></center>
<hr>
<!-- =========== START OF CLASSES =========== -->
<font size="+1"><b>Classes</b></font><br />
<a target="mainFrame" href="i2p.SocketServer.BaseRequestHandler-class.html">BaseRequestHandler</a><br />
<a target="mainFrame" href="i2p.SocketServer.BaseServer-class.html">BaseServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.DatagramRequestHandler-class.html">DatagramRequestHandler</a><br />
<a target="mainFrame" href="i2p.SocketServer.ForkingMixIn-class.html">ForkingMixIn</a><br />
<a target="mainFrame" href="i2p.SocketServer.ForkingTCPServer-class.html">ForkingTCPServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.ForkingUDPServer-class.html">ForkingUDPServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.StreamRequestHandler-class.html">StreamRequestHandler</a><br />
<a target="mainFrame" href="i2p.SocketServer.TCPServer-class.html">TCPServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.ThreadingMixIn-class.html">ThreadingMixIn</a><br />
<a target="mainFrame" href="i2p.SocketServer.ThreadingTCPServer-class.html">ThreadingTCPServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.ThreadingUDPServer-class.html">ThreadingUDPServer</a><br />
<a target="mainFrame" href="i2p.SocketServer.UDPServer-class.html">UDPServer</a><br />
<br />
<hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.SocketServer-module.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,23 @@
<?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>i2p.eep</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="i2p.eep-module.html">eep</a></b></font></center>
<hr>
<!-- =========== START OF FUNCTIONS =========== -->
<font size="+1"><b>Functions</b></font><br />
<a target="mainFrame" href="i2p.eep-module.html#urlget">urlget</a><br />
<a target="mainFrame" href="i2p.eep-module.html#urlopen">urlopen</a><br />
<br />
<hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.eep-module.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,17 @@
<?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>i2p.pylib</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="..\private\i2p.pylib-module.html">pylib</a></b></font></center>
<hr>
<hr>
<font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font>
</body>
</html>

View File

@ -0,0 +1,34 @@
<?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>i2p.router</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="i2p.router-module.html">router</a></b></font></center>
<hr>
<!-- =========== START OF FUNCTIONS =========== -->
<font size="+1"><b>Functions</b></font><br />
<a target="mainFrame" href="..\private\i2p.router-module.html#_parse_config">_parse_config</a><br />
<a target="mainFrame" href="..\private\i2p.router-module.html#_run_program">_run_program</a><br />
<a target="mainFrame" href="i2p.router-module.html#check">check</a><br />
<a target="mainFrame" href="i2p.router-module.html#find">find</a><br />
<a target="mainFrame" href="i2p.router-module.html#start">start</a><br />
<a target="mainFrame" href="i2p.router-module.html#stop">stop</a><br />
<br />
<!-- =========== START OF VARIABLES =========== -->
<font size="+1"><b>Variables</b></font><br />
<a target="mainFrame" href="i2p.router-module.html#check_addrlist">check_addrlist</a><br />
<a target="mainFrame" href="i2p.router-module.html#our_router">our_router</a><br />
<a target="mainFrame" href="i2p.router-module.html#our_router_lock">our_router_lock</a><br />
<br />
<hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.router-module.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,34 @@
<?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>i2p.samclasses</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="..\private\i2p.samclasses-module.html">samclasses</a></b></font></center>
<hr>
<!-- =========== START OF CLASSES =========== -->
<font size="+1"><b>Classes</b></font><br />
<a target="mainFrame" href="..\private\i2p.samclasses.BaseSession-class.html">BaseSession</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.DatagramSession-class.html">DatagramSession</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.Deque-class.html">Deque</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.RawSession-class.html">RawSession</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.SAMTerminal-class.html">SAMTerminal</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.Stream-class.html">Stream</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.StreamSession-class.html">StreamSession</a><br />
<a target="mainFrame" href="..\private\i2p.samclasses.StringBuffer-class.html">StringBuffer</a><br />
<br />
<!-- =========== START OF FUNCTIONS =========== -->
<font size="+1"><b>Functions</b></font><br />
<a target="mainFrame" href="..\private\i2p.samclasses-module.html#sleep">sleep</a><br />
<br />
<hr>
<font size="-2">[<b>show&nbsp;private</b>&nbsp;|&nbsp;hide&nbsp;private]</font>
</body>
</html>

View File

@ -0,0 +1,28 @@
<?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>i2p.select</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="i2p.select-module.html">select</a></b></font></center>
<hr>
<!-- =========== START OF CLASSES =========== -->
<font size="+1"><b>Classes</b></font><br />
<a target="mainFrame" href="i2p.select.Poll-class.html">Poll</a><br />
<br />
<!-- =========== START OF FUNCTIONS =========== -->
<font size="+1"><b>Functions</b></font><br />
<a target="mainFrame" href="i2p.select-module.html#poll">poll</a><br />
<a target="mainFrame" href="i2p.select-module.html#select">select</a><br />
<br />
<hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.select-module.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,45 @@
<?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>i2p.socket</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="i2p.socket-module.html">socket</a></b></font></center>
<hr>
<!-- =========== START OF CLASSES =========== -->
<font size="+1"><b>Classes</b></font><br />
<a target="mainFrame" href="i2p.socket.Socket-class.html">Socket</a><br />
<br />
<!-- =========== START OF EXCEPTIONS =========== -->
<font size="+1"><b>Exceptions</b></font><br />
<a target="mainFrame" href="i2p.socket.BlockError-class.html">BlockError</a><br />
<a target="mainFrame" href="i2p.socket.ClosedError-class.html">ClosedError</a><br />
<a target="mainFrame" href="i2p.socket.Error-class.html">Error</a><br />
<a target="mainFrame" href="i2p.socket.NetworkError-class.html">NetworkError</a><br />
<a target="mainFrame" href="i2p.socket.Timeout-class.html">Timeout</a><br />
<br />
<!-- =========== START OF FUNCTIONS =========== -->
<font size="+1"><b>Functions</b></font><br />
<a target="mainFrame" href="..\private\i2p.socket-module.html#_make_session">_make_session</a><br />
<a target="mainFrame" href="..\private\i2p.socket-module.html#_wrap_stream">_wrap_stream</a><br />
<a target="mainFrame" href="i2p.socket-module.html#resolve">resolve</a><br />
<a target="mainFrame" href="i2p.socket-module.html#socket">socket</a><br />
<br />
<!-- =========== START OF VARIABLES =========== -->
<font size="+1"><b>Variables</b></font><br />
<a target="mainFrame" href="..\private\i2p.socket-module.html#_session_lock">_session_lock</a><br />
<a target="mainFrame" href="..\private\i2p.socket-module.html#_sessions">_sessions</a><br />
<br />
<hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.socket-module.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,30 @@
<?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>i2p.tunnel</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b><a target="mainFrame" href="i2p.tunnel-module.html">tunnel</a></b></font></center>
<hr>
<!-- =========== START OF CLASSES =========== -->
<font size="+1"><b>Classes</b></font><br />
<a target="mainFrame" href="i2p.tunnel.Tunnel-class.html">Tunnel</a><br />
<a target="mainFrame" href="i2p.tunnel.TunnelClient-class.html">TunnelClient</a><br />
<a target="mainFrame" href="i2p.tunnel.TunnelServer-class.html">TunnelServer</a><br />
<br />
<!-- =========== START OF FUNCTIONS =========== -->
<font size="+1"><b>Functions</b></font><br />
<a target="mainFrame" href="..\private\i2p.tunnel-module.html#_exchange_data">_exchange_data</a><br />
<a target="mainFrame" href="..\private\i2p.tunnel-module.html#_test_connected">_test_connected</a><br />
<br />
<hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc-i2p.tunnel-module.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,36 @@
<?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>Table of Contents</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<center><font size="+1"><b>Table&nbsp;of&nbsp;Contents</b></font></center>
<hr>
<a target="moduleFrame" href="toc-everything.html">Everything</a><br />
<!-- =========== START OF PACKAGES =========== -->
<br /><font size="+1"><b>Packages</b></font><br />
<a target="moduleFrame" href="toc-i2p-module.html">i2p</a><br />
<a target="moduleFrame" href="toc-i2p.pylib-module.html">i2p.pylib</a><br />
<!-- =========== START OF MODULES =========== -->
<br /><font size="+1"><b>Modules</b></font><br />
<a target="moduleFrame" href="toc-i2p.BaseHTTPServer-module.html">i2p.BaseHTTPServer</a><br />
<a target="moduleFrame" href="toc-i2p.CGIHTTPServer-module.html">i2p.CGIHTTPServer</a><br />
<a target="moduleFrame" href="toc-i2p.eep-module.html">i2p.eep</a><br />
<a target="moduleFrame" href="toc-i2p.router-module.html">i2p.router</a><br />
<a target="moduleFrame" href="toc-i2p.samclasses-module.html">i2p.samclasses</a><br />
<a target="moduleFrame" href="toc-i2p.select-module.html">i2p.select</a><br />
<a target="moduleFrame" href="toc-i2p.SimpleHTTPServer-module.html">i2p.SimpleHTTPServer</a><br />
<a target="moduleFrame" href="toc-i2p.socket-module.html">i2p.socket</a><br />
<a target="moduleFrame" href="toc-i2p.SocketServer-module.html">i2p.SocketServer</a><br />
<a target="moduleFrame" href="toc-i2p.tunnel-module.html">i2p.tunnel</a><br />
<br /><hr>
<font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/toc.html">hide&nbsp;private</a>]</font>
</body>
</html>

View File

@ -0,0 +1,244 @@
<?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>Module and Class Hierarchies</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 bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Trees&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%">
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[show&nbsp;private&nbsp;|&nbsp;<a href="../public/trees.html">hide&nbsp;private</a>]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="trees.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF MODULE HIERARCHY =========== -->
<h2>Module Hierarchy</h2>
<ul>
<li> <b><a href="i2p-module.html"><code>i2p</code></a></b>: <i>i2p -- I2P Python interface</i>
<ul>
<li> <b><a href="i2p.BaseHTTPServer-module.html"><code>BaseHTTPServer</code></a></b>: <i>Emulation of Python BaseHTTPServer module using I2P sockets.</i>
<li> <b><a href="i2p.CGIHTTPServer-module.html"><code>CGIHTTPServer</code></a></b>: <i>Emulation of Python CGIHTTPServer module using I2P sockets.</i>
<li> <b><a href="i2p.eep-module.html"><code>eep</code></a></b>: <i>Eeproxy access module</i>
<li> <b><a href="i2p.router-module.html"><code>router</code></a></b>: <i>Router control module</i>
<li> <b><a href="i2p.select-module.html"><code>select</code></a></b>: <i>I2P Python API - Emulation of Python select module.</i>
<li> <b><a href="i2p.SimpleHTTPServer-module.html"><code>SimpleHTTPServer</code></a></b>: <i>Emulation of Python SimpleHTTPServer module using I2P sockets.</i>
<li> <b><a href="i2p.socket-module.html"><code>socket</code></a></b>: <i>Emulation of Python socket module using SAM.</i>
<li> <b><a href="i2p.SocketServer-module.html"><code>SocketServer</code></a></b>: <i>Emulation of Python SocketServer module using I2P sockets.</i>
<li> <b><a href="i2p.tunnel-module.html"><code>tunnel</code></a></b>: <i>Exchange data between I2P and regular TCP sockets.</i>
<li> <b><a href="..\private\i2p.pylib-module.html"><code>pylib</code></a></b>
<li> <b><a href="..\private\i2p.samclasses-module.html"><code>samclasses</code></a></b>: <i>Lower-level SAM API, interfaces with SAM Bridge.</i>
</ul>
</ul>
<!-- =========== START OF CLASS HIERARCHY =========== -->
<h2>Class Hierarchy</h2>
<ul>
<li> <b><a href="SocketServer.BaseRequestHandler-class.html"><code>SocketServer.BaseRequestHandler</code></a></b>: <i>
Base class for request handler classes.</i>
<ul>
<li> <b><a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>i2p.SocketServer.BaseRequestHandler</code></a></b>
<li> <b><a href="SocketServer.DatagramRequestHandler-class.html"><code>SocketServer.DatagramRequestHandler</code></a></b>: <i>
Define self.rfile and self.wfile for datagram sockets.</i>
<ul>
<li> <b><a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>i2p.SocketServer.DatagramRequestHandler</code></a></b>
</ul>
<li> <b><a href="SocketServer.StreamRequestHandler-class.html"><code>SocketServer.StreamRequestHandler</code></a></b>: <i>
Define self.rfile and self.wfile for stream sockets.</i>
<ul>
<li> <b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPServer.BaseHTTPRequestHandler</code></a></b>: <i>
HTTP request handler base class.</i>
<ul>
<li> <b><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>i2p.BaseHTTPServer.BaseHTTPRequestHandler</code></a></b>: <i>
Same interface as Python class
BaseHTTPServer.BaseHTTPRequestHandler.</i>
<li> <b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></b>: <i>
Simple HTTP request handler with GET and HEAD commands.</i>
<ul>
<li> <b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPServer.CGIHTTPRequestHandler</code></a></b>: <i>
Complete HTTP server with GET, HEAD and POST commands.</i>
<ul>
<li> <b><a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>i2p.CGIHTTPServer.CGIHTTPRequestHandler</code></a></b>: <i>
Same interface as Python class
CGIHTTPServer.CGIHTTPRequestHandler.</i>
</ul>
<li> <b><a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>i2p.SimpleHTTPServer.SimpleHTTPRequestHandler</code></a></b>: <i>
Same interface as Python class
SimpleHTTPServer.SimpleHTTPRequestHandler.</i>
</ul>
</ul>
<li> <b><a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>i2p.SocketServer.StreamRequestHandler</code></a></b>
<ul>
<li> <b><a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>i2p.BaseHTTPServer.BaseHTTPRequestHandler</code></a></b>: <i>
Same interface as Python class
BaseHTTPServer.BaseHTTPRequestHandler.</i>
</ul>
</ul>
</ul>
<li> <b><a href="..\private\SocketServer.BaseServer-class.html"><code>SocketServer.BaseServer</code></a></b>: <i>
Base class for server classes.</i>
<ul>
<li> <b><a href="i2p.SocketServer.BaseServer-class.html"><code>i2p.SocketServer.BaseServer</code></a></b>
<ul>
<li> <b><a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></b>
<ul>
<li> <b><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>i2p.SocketServer.ForkingTCPServer</code></a></b>
<li> <b><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>i2p.BaseHTTPServer.HTTPServer</code></a></b>: <i>
Same interface as Python class BaseHTTPServer.HTTPServer.</i>
<li> <b><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>i2p.SocketServer.ThreadingTCPServer</code></a></b>
<li> <b><a href="i2p.SocketServer.UDPServer-class.html"><code>i2p.SocketServer.UDPServer</code></a></b>
<ul>
<li> <b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>i2p.SocketServer.ForkingUDPServer</code></a></b>
<li> <b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>i2p.SocketServer.ThreadingUDPServer</code></a></b>
</ul>
</ul>
</ul>
<li> <b><a href="SocketServer.TCPServer-class.html"><code>SocketServer.TCPServer</code></a></b>: <i>
Base class for various socket-based server classes.</i>
<ul>
<li> <b><a href="BaseHTTPServer.HTTPServer-class.html"><code>BaseHTTPServer.HTTPServer</code></a></b>
<ul>
<li> <b><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>i2p.BaseHTTPServer.HTTPServer</code></a></b>: <i>
Same interface as Python class BaseHTTPServer.HTTPServer.</i>
</ul>
<li> <b><a href="i2p.SocketServer.TCPServer-class.html"><code>i2p.SocketServer.TCPServer</code></a></b>
<ul>
<li> <b><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>i2p.SocketServer.ForkingTCPServer</code></a></b>
<li> <b><a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>i2p.BaseHTTPServer.HTTPServer</code></a></b>: <i>
Same interface as Python class BaseHTTPServer.HTTPServer.</i>
<li> <b><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>i2p.SocketServer.ThreadingTCPServer</code></a></b>
<li> <b><a href="i2p.SocketServer.UDPServer-class.html"><code>i2p.SocketServer.UDPServer</code></a></b>
<ul>
<li> <b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>i2p.SocketServer.ForkingUDPServer</code></a></b>
<li> <b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>i2p.SocketServer.ThreadingUDPServer</code></a></b>
</ul>
</ul>
<li> <b><a href="SocketServer.UDPServer-class.html"><code>SocketServer.UDPServer</code></a></b>: <i>
UDP server class.</i>
<ul>
<li> <b><a href="i2p.SocketServer.UDPServer-class.html"><code>i2p.SocketServer.UDPServer</code></a></b>
<ul>
<li> <b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>i2p.SocketServer.ForkingUDPServer</code></a></b>
<li> <b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>i2p.SocketServer.ThreadingUDPServer</code></a></b>
</ul>
</ul>
</ul>
</ul>
<li> <b><a href="SocketServer.ForkingMixIn-class.html"><code>SocketServer.ForkingMixIn</code></a></b>: <i>
Mix-in class to handle each request in a new process.</i>
<ul>
<li> <b><a href="i2p.SocketServer.ForkingMixIn-class.html"><code>i2p.SocketServer.ForkingMixIn</code></a></b>
<ul>
<li> <b><a href="i2p.SocketServer.ForkingTCPServer-class.html"><code>i2p.SocketServer.ForkingTCPServer</code></a></b>
<li> <b><a href="i2p.SocketServer.ForkingUDPServer-class.html"><code>i2p.SocketServer.ForkingUDPServer</code></a></b>
</ul>
</ul>
<li> <b><a href="SocketServer.ThreadingMixIn-class.html"><code>SocketServer.ThreadingMixIn</code></a></b>: <i>
Mix-in class to handle each request in a new thread.</i>
<ul>
<li> <b><a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>i2p.SocketServer.ThreadingMixIn</code></a></b>
<ul>
<li> <b><a href="i2p.SocketServer.ThreadingTCPServer-class.html"><code>i2p.SocketServer.ThreadingTCPServer</code></a></b>
<li> <b><a href="i2p.SocketServer.ThreadingUDPServer-class.html"><code>i2p.SocketServer.ThreadingUDPServer</code></a></b>
</ul>
</ul>
<li> <b><a href="exceptions.Exception-class.html"><code>exceptions.Exception</code></a></b>: <i>
Common base class for all exceptions.</i>
<ul>
<li> <b><a href="..\private\i2p.Error-class.html"><code>i2p.Error</code></a></b>: <i>
Base class for all I2P errors.</i>
<ul>
<li> <b><a href="i2p.socket.Error-class.html"><code>i2p.socket.Error</code></a></b>: <i>
Base class for all SAM errors.</i>
<ul>
<li> <b><a href="i2p.socket.BlockError-class.html"><code>i2p.socket.BlockError</code></a></b>: <i>
Socket call would have blocked.</i>
<li> <b><a href="i2p.socket.ClosedError-class.html"><code>i2p.socket.ClosedError</code></a></b>: <i>
A command was used on a socket that closed gracefully.</i>
<li> <b><a href="i2p.socket.NetworkError-class.html"><code>i2p.socket.NetworkError</code></a></b>: <i>
Network error occurred within I2P.</i>
<li> <b><a href="i2p.socket.Timeout-class.html"><code>i2p.socket.Timeout</code></a></b>: <i>
Time out occurred for a socket which had timeouts enabled via a prior
call to settimeout().</i>
</ul>
<li> <b><a href="..\private\i2p.RouterError-class.html"><code>i2p.RouterError</code></a></b>: <i>
Could not connect to router.</i>
</ul>
</ul>
<li> <b><a href="..\private\i2p.samclasses.BaseSession-class.html"><code>i2p.samclasses.BaseSession</code></a></b>: <i>
Base session, from which StreamSession, DatagramSession, and
RawSession are derived.</i>
<ul>
<li> <b><a href="..\private\i2p.samclasses.DatagramSession-class.html"><code>i2p.samclasses.DatagramSession</code></a></b>: <i>
Datagram session.</i>
<li> <b><a href="..\private\i2p.samclasses.RawSession-class.html"><code>i2p.samclasses.RawSession</code></a></b>: <i>
Raw session.</i>
<li> <b><a href="..\private\i2p.samclasses.StreamSession-class.html"><code>i2p.samclasses.StreamSession</code></a></b>: <i>
Stream session.</i>
</ul>
<li> <b><a href="..\private\i2p.samclasses.Deque-class.html"><code>i2p.samclasses.Deque</code></a></b>: <i>
A double-ended queue.</i>
<ul>
<li> <b><a href="..\private\i2p.samclasses.StringBuffer-class.html"><code>i2p.samclasses.StringBuffer</code></a></b>: <i>
A FIFO for characters.</i>
</ul>
<li> <b><a href="..\private\i2p.samclasses.SAMTerminal-class.html"><code>i2p.samclasses.SAMTerminal</code></a></b>: <i>
Message-by-message communication with SAM through a single
pysocket.</i>
<li> <b><a href="..\private\i2p.samclasses.Stream-class.html"><code>i2p.samclasses.Stream</code></a></b>: <i>
Receives and sends data for an individual stream.</i>
<li> <b><a href="i2p.select.Poll-class.html"><code>i2p.select.Poll</code></a></b>: <i>
Class implementing poll interface.</i>
<li> <b><a href="i2p.socket.Socket-class.html"><code>i2p.socket.Socket</code></a></b>: <i>
A socket object.</i>
<li> <b><a href="i2p.tunnel.Tunnel-class.html"><code>i2p.tunnel.Tunnel</code></a></b>
<ul>
<li> <b><a href="i2p.tunnel.TunnelClient-class.html"><code>i2p.tunnel.TunnelClient</code></a></b>
<li> <b><a href="i2p.tunnel.TunnelServer-class.html"><code>i2p.tunnel.TunnelServer</code></a></b>
</ul>
<li> <b><a href="rfc822.Message-class.html"><code>rfc822.Message</code></a></b>: <i>
Represents a single RFC 2822-compliant message.</i>
<ul>
<li> <b><a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></b>: <i>
A derived class of rfc822.Message that knows about MIME headers and
contains some hooks for decoding encoded and multipart messages.</i>
</ul>
</ul>
<!-- =========== 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>

View File

@ -0,0 +1,645 @@
<?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>BaseHTTPServer.BaseHTTPRequestHandler</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;BaseHTTPServer ::
Class&nbsp;BaseHTTPRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/BaseHTTPServer.BaseHTTPRequestHandler-class.html">show&nbsp;private</a>&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="BaseHTTPServer.BaseHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class BaseHTTPRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<b>BaseHTTPRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a>,
<a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></dd></dl>
<hr/>
<pre class="literalblock">
HTTP request handler base class.
The following explanation of HTTP serves to guide you through the
code as well as to expose any misunderstandings I may have about
HTTP (so you don't need to read the code to figure out I'm wrong
:-).
HTTP (HyperText Transfer Protocol) is an extensible protocol on
top of a reliable stream transport (e.g. TCP/IP). The protocol
recognizes three parts to a request:
1. One line identifying the request type and path
2. An optional set of RFC-822-style headers
3. An optional data part
The headers and data are separated by a blank line.
The first line of the request has the form
&lt;command&gt; &lt;path&gt; &lt;version&gt;
where &lt;command&gt; is a (case-sensitive) keyword such as GET or POST,
&lt;path&gt; is a string containing path information for the request,
and &lt;version&gt; should be the string &quot;HTTP/1.0&quot; or &quot;HTTP/1.1&quot;.
&lt;path&gt; is encoded using the URL encoding scheme (using %xx to signify
the ASCII character with hex code xx).
The specification specifies that lines are separated by CRLF but
for compatibility with the widest range of clients recommends
servers also handle LF. Similarly, whitespace in the request line
is treated sensibly (allowing multiple spaces between components
and allowing trailing whitespace).
Similarly, for output, lines ought to be separated by CRLF pairs
but most clients grok LF characters just fine.
If the first line of the request has the form
&lt;command&gt; &lt;path&gt;
(i.e. &lt;version&gt; is left out) then this is assumed to be an HTTP
0.9 request; this form has no optional headers and data part and
the reply consists of just the data.
The reply form of the HTTP 1.x protocol again has three parts:
1. One line giving the response code
2. An optional set of RFC-822-style headers
3. The data
Again, the headers and data are separated by a blank line.
The response code line has the form
&lt;version&gt; &lt;responsecode&gt; &lt;responsestring&gt;
where &lt;version&gt; is the protocol version (&quot;HTTP/1.0&quot; or &quot;HTTP/1.1&quot;),
&lt;responsecode&gt; is a 3-digit response code indicating success or
failure of the request, and &lt;responsestring&gt; is an optional
human-readable string explaining what the response code means.
This server parses the request and the headers, and then calls a
function specific to the request type (&lt;command&gt;). Specifically,
a request SPAM will be handled by a method do_SPAM(). If no
such method exists the server sends an error response to the
client. If it exists, it is called with no arguments:
do_SPAM()
Note that the request name is case sensitive (i.e. SPAM and spam
are different requests).
The various request details are stored in instance variables:
- client_address is the client IP address in the form (host,
port);
- command, path and version are the broken-down request line;
- headers is an instance of mimetools.Message (or a derived
class) containing the header information;
- rfile is a file object open for reading positioned at the
start of the optional input data part;
- wfile is a file object open for writing.
IT IS IMPORTANT TO ADHERE TO THE PROTOCOL FOR WRITING!
The first thing to be written must be the response line. Then
follow 0 or more header lines, then a blank line, and then the
actual data (if any). The meaning of the header lines depends on
the command executed by the server; in most cases, when data is
returned, there should be at least one header line of the form
Content-type: &lt;type&gt;/&lt;subtype&gt;
where &lt;type&gt; and &lt;subtype&gt; should be registered MIME types,
e.g. &quot;text/html&quot; or &quot;text/plain&quot;.
</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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the client address formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current date and time formatted for a message header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Send the blank line ending the MIME headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle multiple requests if necessary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle a single HTTP 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current time formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an error.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>format</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an arbitrary message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>size</span>)</span></code>
<br />
Log an accepted 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Parse a request (internal).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send and log an error reply.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>keyword</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Send a MIME header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send the response header and log the response code.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the server software version string.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>classobj</code></font></td>
<td><a name="MessageClass"></a><b><code>MessageClass</code></b> = <a href="mimetools.Message-class.html"><code>mimetools.Message</code></a></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'BaseHTTP/0.3'"><code><span class="variable-quote">'</span>BaseHTTP/0.3<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="address_string"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">address_string</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Return the client address formatted for logging.</p>
This version looks up the full hostname using gethostbyaddr(), and
tries to find a name that contains at least one dot.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="date_time_string"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">date_time_string</span>(<span class=sig-arg>self</span>)</span>
</h3>
Return the current date and time formatted for a message header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="end_headers"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">end_headers</span>(<span class=sig-arg>self</span>)</span>
</h3>
Send the blank line ending the MIME headers.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="handle"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">handle</span>(<span class=sig-arg>self</span>)</span>
</h3>
Handle multiple requests if necessary.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SocketServer.BaseRequestHandler-class.html#handle"><code>SocketServer.BaseRequestHandler.handle</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="handle_one_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">handle_one_request</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Handle a single HTTP request.</p>
You normally don't need to override this method; see the class
__doc__ string for information on how to handle specific HTTP commands
such as GET and POST.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="log_date_time_string"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">log_date_time_string</span>(<span class=sig-arg>self</span>)</span>
</h3>
Return the current time formatted for logging.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="log_error"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">log_error</span>(<span class=sig-arg>self</span>,
<span class="sig-vararg">*args</span>)</span>
</h3>
<p>Log an error.</p>
<p>This is called when a request cannot be fulfilled. By default it
passes the message on to log_message().</p>
<p>Arguments are the same as for log_message().</p>
XXX This should go to the separate error log.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="log_message"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">log_message</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>format</span>,
<span class="sig-vararg">*args</span>)</span>
</h3>
<p>Log an arbitrary message.</p>
<p>This is used by all other logging functions. Override it if you have
specific logging wishes.</p>
<p>The first argument, FORMAT, is a format string for the message to be
logged. If the format string contains any % escapes requiring
parameters, they should be specified as subsequent arguments (it's just
like printf!).</p>
The client host and current date/time are prefixed to every
message.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="log_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">log_request</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>code</span>=<span class=sig-default>'-'</span>,
<span class=sig-arg>size</span>=<span class=sig-default>'-'</span>)</span>
</h3>
<p>Log an accepted request.</p>
This is called by send_reponse().
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="parse_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">parse_request</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Parse a request (internal).</p>
<p>The request should be stored in self.raw_requestline; the results
are in self.command, self.path, self.request_version and
self.headers.</p>
Return True for success, False for failure; on failure, an error is
sent back.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_error"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_error</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>code</span>,
<span class=sig-arg>message</span>=<span class=sig-default>None</span>)</span>
</h3>
<p>Send and log an error reply.</p>
<p>Arguments are the error code, and a detailed message. The detailed
message defaults to the short entry matching the response code.</p>
This sends an error response (so it must be called before any output
has been generated), logs the error, and finally sends a piece of HTML
explaining the error to the user.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_header"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_header</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>keyword</span>,
<span class=sig-arg>value</span>)</span>
</h3>
Send a MIME header.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_response"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_response</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>code</span>,
<span class=sig-arg>message</span>=<span class=sig-default>None</span>)</span>
</h3>
<p>Send the response header and log the response code.</p>
Also send two standard headers with the server software version and
the current date.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="version_string"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">version_string</span>(<span class=sig-arg>self</span>)</span>
</h3>
Return the server software version string.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="error_message_format"></a>
<h3>error_message_format</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'''</span>&lt;head&gt;
&lt;title&gt;Error response&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Error response&lt;/h1&gt;
&lt;p&gt;Error code %(code)d.
&lt;p&gt;Message: %(message)s.
&lt;p&gt;Error code explanation: %(code)s = %(explain)s.
<span class="variable-ellipsis">...</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="monthname"></a>
<h3>monthname</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>list</code>
</dd>
<span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug'] </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="protocol_version"></a>
<h3>protocol_version</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'HTTP/1.0'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="responses"></a>
<h3>responses</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>dict</code>
</dd>
<span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
{100: ('Continue', 'Request received, please continue'),
101: ('Switching Protocols',
'Switching to new protocol; obey Upgrade header'),
200: ('OK', 'Request fulfilled, document follows'),
201: ('Created', 'Document created, URL follows'),
202: ('Accepted', 'Request accepted, processing continues off-line'),
203: ('Non-Authoritative Information', 'Request fulfilled from cache'<span class="variable-linewrap">\</span>
),
<span class="variable-ellipsis">...</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="server_version"></a>
<h3>server_version</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'BaseHTTP/0.3'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>BaseHTTP/0.3<span class="variable-quote">'</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="sys_version"></a>
<h3>sys_version</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'Python/2.3.4'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="weekdayname"></a>
<h3>weekdayname</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>list</code>
</dd>
<span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] </pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,178 @@
<?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>BaseHTTPServer.HTTPServer</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;BaseHTTPServer ::
Class&nbsp;HTTPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/BaseHTTPServer.HTTPServer-class.html">show&nbsp;private</a>&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="BaseHTTPServer.HTTPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class HTTPServer</h2>
<pre class="base-tree">
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<b>HTTPServer</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a></dd></dl>
<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="BaseHTTPServer.HTTPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Override server_bind to store the server name.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-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>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="BaseHTTPServer.HTTPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="server_bind"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">server_bind</span>(<span class=sig-arg>self</span>)</span>
</h3>
Override server_bind to store the server name.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SocketServer.TCPServer-class.html#server_bind"><code>SocketServer.TCPServer.server_bind</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="allow_reuse_address"></a>
<h3>allow_reuse_address</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="1"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,466 @@
<?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>CGIHTTPServer.CGIHTTPRequestHandler</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;CGIHTTPServer ::
Class&nbsp;CGIHTTPRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/CGIHTTPServer.CGIHTTPRequestHandler-class.html">show&nbsp;private</a>&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="CGIHTTPServer.CGIHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class CGIHTTPRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
|
<a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a> --+
|
<b>CGIHTTPRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a></dd></dl>
<hr/>
<p>Complete HTTP server with GET, HEAD and POST commands.</p>
<p>GET and HEAD also support running CGI scripts.</p>
The POST command is *only* implemented for CGI scripts.
<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="CGIHTTPServer.CGIHTTPRequestHandler-class.html#do_POST" class="summary-sig-name"><code>do_POST</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a POST 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="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_cgi" class="summary-sig-name"><code>is_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Test whether self.path corresponds to a CGI script.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_executable" class="summary-sig-name"><code>is_executable</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Test whether argument path is an executable file.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#is_python" class="summary-sig-name"><code>is_python</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Test whether argument path is a Python script.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#run_cgi" class="summary-sig-name"><code>run_cgi</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Execute a CGI script.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Version of send_head that support CGI scripts</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>source</span>,
<span class=summary-sig-arg>outputfile</span>)</span></code>
<br />
Copy all data between two file objects.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a GET 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a HEAD 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Guess the type of a file.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Helper to produce a directory listing (absent index.html).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Translate a /-separated PATH to the local filename syntax.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the client address formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current date and time formatted for a message header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Send the blank line ending the MIME headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle multiple requests if necessary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle a single HTTP 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current time formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an error.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>format</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an arbitrary message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>size</span>)</span></code>
<br />
Log an accepted 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Parse a request (internal).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send and log an error reply.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>keyword</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Send a MIME header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send the response header and log the response code.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the server software version string.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#cgi_directories"><code>cgi_directories</code></a></b> = <span title="['/cgi-bin', '/htbin']"><code>['/cgi-bin',&nbsp;'/htbin'] </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_fork"><code>have_fork</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen2"><code>have_popen2</code></a></b> = <span title="True"><code>True </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#have_popen3"><code>have_popen3</code></a></b> = <span title="True"><code>True </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from SimpleHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="do_POST"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">do_POST</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Serve a POST request.</p>
This is only implemented for CGI scripts.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="is_cgi"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">is_cgi</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Test whether self.path corresponds to a CGI script.</p>
<p>Return a tuple (dir, rest) if self.path requires running a CGI
script, None if not. Note that rest begins with a slash if it is not
empty.</p>
The default implementation tests whether the path begins with one of
the strings in the list self.cgi_directories (and the next character is
a '/' or the end of the string).
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="is_executable"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">is_executable</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
Test whether argument path is an executable file.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="is_python"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">is_python</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
Test whether argument path is a Python script.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="run_cgi"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">run_cgi</span>(<span class=sig-arg>self</span>)</span>
</h3>
Execute a CGI script.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_head"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_head</span>(<span class=sig-arg>self</span>)</span>
</h3>
Version of send_head that support CGI scripts
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head"><code>SimpleHTTPServer.SimpleHTTPRequestHandler.send_head</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="cgi_directories"></a>
<h3>cgi_directories</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>list</code>
</dd>
<span title="['/cgi-bin', '/htbin']"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
['/cgi-bin', '/htbin'] </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="have_fork"></a>
<h3>have_fork</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="False"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
False </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="have_popen2"></a>
<h3>have_popen2</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="True"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
True </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="have_popen3"></a>
<h3>have_popen3</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="True"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
True </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="rbufsize"></a>
<h3>rbufsize</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="0"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,405 @@
<?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>SimpleHTTPServer.SimpleHTTPRequestHandler</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;SimpleHTTPServer ::
Class&nbsp;SimpleHTTPRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">show&nbsp;private</a>&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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class SimpleHTTPRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
|
<b>SimpleHTTPRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a>,
<a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></dd></dl>
<hr/>
<p>Simple HTTP request handler with GET and HEAD commands.</p>
<p>This serves files from the current directory and any of its
subdirectories. It assumes that all files are plain text files unless
they have the extension &quot;.html&quot; in which case it assumes they
are HTML files.</p>
The GET and HEAD requests are identical except that the HEAD request
omits the actual contents of the file.
<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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>source</span>,
<span class=summary-sig-arg>outputfile</span>)</span></code>
<br />
Copy all data between two file objects.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a GET 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a HEAD 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="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Guess the type of a file.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Helper to produce a directory listing (absent index.html).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Common code for GET and HEAD commands.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Translate a /-separated PATH to the local filename syntax.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the client address formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current date and time formatted for a message header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Send the blank line ending the MIME headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle multiple requests if necessary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle a single HTTP 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current time formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an error.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>format</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an arbitrary message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>size</span>)</span></code>
<br />
Log an accepted 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="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Parse a request (internal).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send and log an error reply.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>keyword</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Send a MIME header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send the response header and log the response code.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the server software version string.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="copyfile"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">copyfile</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>source</span>,
<span class=sig-arg>outputfile</span>)</span>
</h3>
<p>Copy all data between two file objects.</p>
<p>The SOURCE argument is a file object open for reading (or anything
with a read() method) and the DESTINATION argument is a file object
open for writing (or anything with a write() method).</p>
The only reason for overriding this would be to change the block
size or perhaps to replace newlines by CRLF -- note however that this
the default server uses this to copy binary data as well.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="do_GET"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">do_GET</span>(<span class=sig-arg>self</span>)</span>
</h3>
Serve a GET request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="do_HEAD"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">do_HEAD</span>(<span class=sig-arg>self</span>)</span>
</h3>
Serve a HEAD request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="guess_type"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">guess_type</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
<p>Guess the type of a file.</p>
<p>Argument is a PATH (a filename).</p>
<p>Return value is a string of the form type/subtype, usable for a MIME
Content-type header.</p>
The default implementation looks the file's extension up in the
table self.extensions_map, using text/plain as a default; however it
would be permissible (if slow) to look inside the data to make a better
guess.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="list_directory"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">list_directory</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
<p>Helper to produce a directory listing (absent index.html).</p>
Return value is either a file object, or None (indicating an error).
In either case, the headers are sent, making the interface the same as
for send_head().
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_head"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_head</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Common code for GET and HEAD commands.</p>
<p>This sends the response code and MIME headers.</p>
Return value is either a file object (which has to be copied to the
outputfile by the caller unless the command was HEAD, and must be
closed by the caller under all circumstances), or None, in which case
the caller has nothing further to do.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="translate_path"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">translate_path</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
<p>Translate a /-separated PATH to the local filename syntax.</p>
Components that mean special things to the local file system (e.g.
drive or directory names) are ignored. (XXX They should probably be
diagnosed.)
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="extensions_map"></a>
<h3>extensions_map</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>dict</code>
</dd>
<span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
{'': 'application/octet-stream',
'.bin': 'application/octet-stream',
'.dll': 'application/octet-stream',
'.mp2': 'audio/mpeg',
'.obj': 'application/octet-stream',
'.ra': 'audio/x-pn-realaudio',
'.sgm': 'text/x-sgml',
'.texi': 'application/x-texinfo',
<span class="variable-ellipsis">...</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="server_version"></a>
<h3>server_version</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'SimpleHTTP/0.6'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span> </pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,102 @@
<?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.BaseRequestHandler</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;BaseRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/SocketServer.BaseRequestHandler-class.html">show&nbsp;private</a>&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="SocketServer.BaseRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class BaseRequestHandler</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a>,
<a href="SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a>,
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></dd></dl>
<hr/>
<p>Base class for request handler classes.</p>
<p>This class is instantiated for each request to be handled. The
constructor sets the instance variables request, client_address and
server, and then calls the handle() method. To implement a specific
service, all you need to do is to derive a class which defines a handle()
method.</p>
The handle() method can find the request as self.request, the client
address as self.client_address, and the server (in case it needs access
to per-server information) as self.server. Since a separate instance is
created for each request, the handle() method can define arbitrary other
instance variariables.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>request</span>,
<span class=summary-sig-arg>client_address</span>,
<span class=summary-sig-arg>server</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="handle"></a><span class="summary-sig"><span class="summary-sig-name">handle</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
</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>

View File

@ -0,0 +1,98 @@
<?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.DatagramRequestHandler</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;DatagramRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/SocketServer.DatagramRequestHandler-class.html">show&nbsp;private</a>&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="SocketServer.DatagramRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class DatagramRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<b>DatagramRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.DatagramRequestHandler-class.html"><code>DatagramRequestHandler</code></a></dd></dl>
<hr/>
Define self.rfile and self.wfile for datagram sockets.
<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><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</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>

View File

@ -0,0 +1,172 @@
<?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.ForkingMixIn</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;ForkingMixIn
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/SocketServer.ForkingMixIn-class.html">show&nbsp;private</a>&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="SocketServer.ForkingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class ForkingMixIn</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.ForkingMixIn-class.html"><code>ForkingMixIn</code></a></dd></dl>
<hr/>
Mix-in class to handle each request in a new process.
<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="SocketServer.ForkingMixIn-class.html#collect_children" class="summary-sig-name"><code>collect_children</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Internal routine to wait for died children.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.ForkingMixIn-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 />
Fork a new subprocess to process the request.</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="SocketServer.ForkingMixIn-class.html#active_children"><code>active_children</code></a></b> = <span title="None">None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.ForkingMixIn-class.html#max_children"><code>max_children</code></a></b> = <span title="40">40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="collect_children"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">collect_children</span>(<span class=sig-arg>self</span>)</span>
</h3>
Internal routine to wait for died children.
<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>
Fork a new subprocess to process the request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="active_children"></a>
<h3>active_children</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>NoneType</code>
</dd>
<span title="None"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="max_children"></a>
<h3>max_children</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="40"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,158 @@
<?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.StreamRequestHandler</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;StreamRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/SocketServer.StreamRequestHandler-class.html">show&nbsp;private</a>&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="SocketServer.StreamRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class StreamRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<b>StreamRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a>,
<a href="i2p.SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a></dd></dl>
<hr/>
Define self.rfile and self.wfile for stream sockets.
<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><a name="finish"></a><span class="summary-sig"><span class="summary-sig-name">finish</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="setup"></a><span class="summary-sig"><span class="summary-sig-name">setup</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</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 class=summary-sig-arg>server</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="rbufsize"></a>
<h3>rbufsize</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="-1"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="wbufsize"></a>
<h3>wbufsize</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="0"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,349 @@
<?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.TCPServer</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;TCPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/SocketServer.TCPServer-class.html">show&nbsp;private</a>&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="SocketServer.TCPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class TCPServer</h2>
<pre class="base-tree">
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<b>TCPServer</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="BaseHTTPServer.HTTPServer-class.html"><code>HTTPServer</code></a>,
<a href="i2p.SocketServer.TCPServer-class.html"><code>TCPServer</code></a>,
<a href="SocketServer.UDPServer-class.html"><code>UDPServer</code></a></dd></dl>
<hr/>
<pre class="literalblock">
Base class for various socket-based server classes.
Defaults to synchronous IP stream (i.e., TCP).
Methods for the caller:
- __init__(server_address, RequestHandlerClass)
- serve_forever()
- handle_request() # if you don't 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)
- 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
- request_queue_size (only for stream sockets)
- allow_reuse_address
Instance variables:
- server_address
- 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="SocketServer.TCPServer-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="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called by constructor to bind the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="..\private\SocketServer.BaseServer-class.html#__init__"><code>SocketServer.BaseServer.__init__</code></a></dd>
</dl>
</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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="..\private\SocketServer.BaseServer-class.html#close_request"><code>SocketServer.BaseServer.close_request</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="fileno"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">fileno</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Return socket file number.</p>
Interface required by select().
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="get_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">get_request</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Get the request and client address from the socket.</p>
May be overridden.
<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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="..\private\SocketServer.BaseServer-class.html#server_activate"><code>SocketServer.BaseServer.server_activate</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="server_bind"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">server_bind</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Called by constructor to bind the socket.</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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="..\private\SocketServer.BaseServer-class.html#server_close"><code>SocketServer.BaseServer.server_close</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="address_family"></a>
<h3>address_family</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="2"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="allow_reuse_address"></a>
<h3>allow_reuse_address</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="False"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
False </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="request_queue_size"></a>
<h3>request_queue_size</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="5"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="socket_type"></a>
<h3>socket_type</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="1"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,156 @@
<?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.ThreadingMixIn</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;ThreadingMixIn
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/SocketServer.ThreadingMixIn-class.html">show&nbsp;private</a>&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="SocketServer.ThreadingMixIn-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class ThreadingMixIn</h2>
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.ThreadingMixIn-class.html"><code>ThreadingMixIn</code></a></dd></dl>
<hr/>
Mix-in class to handle each request in a new thread.
<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="SocketServer.ThreadingMixIn-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 />
Start a new thread to process the 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="SocketServer.ThreadingMixIn-class.html#process_request_thread" class="summary-sig-name"><code>process_request_thread</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 />
Same as in BaseServer but as a thread.</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.ThreadingMixIn-class.html#daemon_threads"><code>daemon_threads</code></a></b> = <span title="False"><code>False </code>
</span></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="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>
Start a new thread to process the request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="process_request_thread"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">process_request_thread</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>request</span>,
<span class=sig-arg>client_address</span>)</span>
</h3>
<p>Same as in BaseServer but as a thread.</p>
In addition, exception handling is done here.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="daemon_threads"></a>
<h3>daemon_threads</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="False"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
False </pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,254 @@
<?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.UDPServer</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;UDPServer
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/SocketServer.UDPServer-class.html">show&nbsp;private</a>&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="SocketServer.UDPServer-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class UDPServer</h2>
<pre class="base-tree">
<a href="..\private\SocketServer.BaseServer-class.html"><code>BaseServer</code></a> --+
|
<a href="SocketServer.TCPServer-class.html"><code>TCPServer</code></a> --+
|
<b>UDPServer</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="i2p.SocketServer.UDPServer-class.html"><code>UDPServer</code></a></dd></dl>
<hr/>
UDP server class.
<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="SocketServer.UDPServer-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="SocketServer.UDPServer-class.html#get_request" class="summary-sig-name"><code>get_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Get the request and client address from the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.UDPServer-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 bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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="SocketServer.TCPServer-class.html#fileno" class="summary-sig-name"><code>fileno</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return socket file number.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-class.html#server_bind" class="summary-sig-name"><code>server_bind</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called by constructor to bind the socket.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.TCPServer-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>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>bool</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#allow_reuse_address"><code>allow_reuse_address</code></a></b> = <span title="False"><code>False </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#max_packet_size"><code>max_packet_size</code></a></b> = <span title="8192">8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.UDPServer-class.html#socket_type"><code>socket_type</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from TCPServer</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#address_family"><code>address_family</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.TCPServer-class.html#request_queue_size"><code>request_queue_size</code></a></b> = <span title="5">5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></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="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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SocketServer.TCPServer-class.html#close_request"><code>SocketServer.TCPServer.close_request</code></a> <i>(inherited documentation)</i>
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="get_request"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">get_request</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Get the request and client address from the socket.</p>
May be overridden.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SocketServer.TCPServer-class.html#get_request"><code>SocketServer.TCPServer.get_request</code></a> <i>(inherited documentation)</i>
</dd>
</dl>
</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>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="SocketServer.TCPServer-class.html#server_activate"><code>SocketServer.TCPServer.server_activate</code></a> <i>(inherited documentation)</i>
</dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="allow_reuse_address"></a>
<h3>allow_reuse_address</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>bool</code>
</dd>
<span title="False"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
False </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="max_packet_size"></a>
<h3>max_packet_size</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="8192"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
8192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="socket_type"></a>
<h3>socket_type</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="2"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
</td></tr></table></dd>
</span> </dl>
</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>

View File

@ -0,0 +1,100 @@
/* Body color */
body { background: #ffffff; color: #000000; }
/* Tables */
table.summary, table.details, table.index
{ background: #e8f0f8; color: #000000; }
tr.summary, tr.details, tr.index
{ background: #70b0f0; color: #000000;
text-align: left; font-size: 120%; }
tr.group { background: #c0e0f8; color: #000000;
text-align: left; font-size: 120%;
font-style: italic; }
/* Documentation page titles */
h2.module { margin-top: 0.2em; }
h2.class { margin-top: 0.2em; }
/* Headings */
h1.heading { font-size: +140%; font-style: italic;
font-weight: bold; }
h2.heading { font-size: +125%; font-style: italic;
font-weight: bold; }
h3.heading { font-size: +110%; font-style: italic;
font-weight: normal; }
/* Base tree */
pre.base-tree { font-size: 80%; margin: 0; }
/* Details Sections */
table.func-details { background: #e8f0f8; color: #000000;
border: 2px groove #c0d0d0;
padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
h3.func-detail { background: transparent; color: #000000;
margin: 0 0 1em 0; }
table.var-details { background: #e8f0f8; color: #000000;
border: 2px groove #c0d0d0;
padding: 0 1em 0 1em; margin: 0.4em 0 0 0; }
h3.var-details { background: transparent; color: #000000;
margin: 0 0 1em 0; }
/* Function signatures */
.sig { background: transparent; color: #000000;
font-weight: bold; }
.sig-name { background: transparent; color: #006080; }
.sig-arg, .sig-kwarg, .sig-vararg
{ background: transparent; color: #008060; }
.sig-default { background: transparent; color: #602000; }
.summary-sig { background: transparent; color: #000000; }
.summary-sig-name { background: transparent; color: #204080; }
.summary-sig-arg, .summary-sig-kwarg, .summary-sig-vararg
{ background: transparent; color: #008060; }
/* Doctest blocks */
.py-src { background: transparent; color: #000000; }
.py-prompt { background: transparent; color: #005050;
font-weight: bold;}
.py-string { background: transparent; color: #006030; }
.py-comment { background: transparent; color: #003060; }
.py-keyword { background: transparent; color: #600000; }
.py-output { background: transparent; color: #404040; }
pre.doctestblock { background: #f4faff; color: #000000;
padding: .5em; margin: 1em;
border: 1px solid #708890; }
table pre.doctestblock
{ background: #dce4ec; color: #000000;
padding: .5em; margin: 1em;
border: 1px solid #708890; }
/* Variable values */
pre.variable { background: #dce4ec; color: #000000;
padding: .5em; margin: 0;
border: 1px solid #708890; }
.variable-linewrap { background: transparent; color: #604000; }
.variable-ellipsis { background: transparent; color: #604000; }
.variable-quote { background: transparent; color: #604000; }
.re { background: transparent; color: #000000; }
.re-char { background: transparent; color: #006030; }
.re-op { background: transparent; color: #600000; }
.re-group { background: transparent; color: #003060; }
.re-ref { background: transparent; color: #404040; }
/* Navigation bar */
table.navbar { background: #a0c0ff; color: #0000ff;
border: 2px groove #c0d0d0; }
th.navbar { background: #a0c0ff; color: #0000ff; }
th.navselect { background: #70b0ff; color: #000000; }
.nomargin { margin: 0; }
/* Links */
a:link { background: transparent; color: #0000ff; }
a:visited { background: transparent; color: #204080; }
a.navbar:link { background: transparent; color: #0000ff;
text-decoration: none; }
a.navbar:visited { background: transparent; color: #204080;
text-decoration: none; }
/* Lists */
ul { margin-top: 0; }

View File

@ -0,0 +1,80 @@
<?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>exceptions.Exception</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;exceptions ::
Class&nbsp;Exception
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/exceptions.Exception-class.html">show&nbsp;private</a>&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="exceptions.Exception-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Exception</h2>
<hr/>
Common base class for all exceptions.
<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><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="__getitem__"></a><span class="summary-sig"><span class="summary-sig-name">__getitem__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><a name="__str__"></a><span class="summary-sig"><span class="summary-sig-name">__str__</span>(<span class="summary-sig-vararg">...</span>)</span></code>
</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>

View File

@ -0,0 +1,13 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title> API Documentation </title>
</head>
<frameset cols="20%,80%">
<frameset rows="30%,70%">
<frame src="toc.html" name="moduleListFrame">
<frame src="toc-everything.html" name="moduleFrame">
</frameset>
<frame src="i2p-module.html" name="mainFrame">
</frameset>
</html>

View File

@ -0,0 +1,224 @@
<?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>Help</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 bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Help&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%">
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/help.html">show&nbsp;private</a>&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="help.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<center><h2> API Documentation </h2></center>
<p> This document contains the API (Application Programming Interface)
documentation for this project. Documentation for the Python
objects defined by the project is divided into separate pages for each
package, module, and class. The API documentation also includes two
pages containing information about the project as a whole: a trees
page, and an index page. </p>
<h2> Object Documentation </h2>
<p>Each <b>Package Documentation</b> page contains:
<ul>
<li> A description of the package. </li>
<li> A list of the modules and sub-packages contained by the
package. </li>
<li> A summary of the classes defined by the package. </li>
<li> A summary of the functions defined by the package. </li>
<li> A summary of the variables defined by the package. </li>
<li> A detailed description of each function defined by the
package. </li>
<li> A detailed description of each variable defined by the
package. </li>
</ul></p>
<p>Each <b>Module Documentation</b> page contains:
<ul>
<li> A description of the module. </li>
<li> A summary of the classes defined by the module. </li>
<li> A summary of the functions defined by the module. </li>
<li> A summary of the variables defined by the module. </li>
<li> A detailed description of each function defined by the
module. </li>
<li> A detailed description of each variable defined by the
module. </li>
</ul></p>
<p>Each <b>Class Documentation</b> page contains:
<ul>
<li> A class inheritance diagram. </li>
<li> A list of known subclasses. </li>
<li> A description of the class. </li>
<li> A summary of the methods defined by the class. </li>
<li> A summary of the instance variables defined by the class. </li>
<li> A summary of the class (static) variables defined by the
class. </li>
<li> A detailed description of each method defined by the
class. </li>
<li> A detailed description of each instance variable defined by the
class. </li>
<li> A detailed description of each class (static) variable defined
by the class. </li>
</ul></p>
<h2> Project Documentation </h2>
<p> The <b>Trees</b> page contains the module and class hierarchies:
<ul>
<li> The <i>module hierarchy</i> lists every package and module, with
modules grouped into packages. At the top level, and within each
package, modules and sub-packages are listed alphabetically. </li>
<li> The <i>class hierarchy</i> lists every class, grouped by base
class. If a class has more than one base class, then it will be
listed under each base class. At the top level, and under each base
class, classes are listed alphabetically. </li>
</ul></p>
<p> The <b>Index</b> page contains indices of terms and
identifiers:
<ul>
<li> The <i>term index</i> lists every term indexed by any object's
documentation. For each term, the index provides links to each
place where the term is indexed. </li>
<li> The <i>identifier index</i> lists the (short) name of every package,
module, class, method, function, variable, and parameter. For each
identifier, the index provides a short description, and a link to
its documentation. </li>
</ul></p>
<h2> The Table of Contents </h2>
<p> The table of contents occupies the two frames on the left side of
the window. The upper-left frame displays the <i>project
contents</i>, and the lower-left frame displays the <i>module
contents</i>: </p>
<center>
<table class="summary" border="1" cellspacing="0" cellpadding="3">
<tr heigh="30%">
<td align="center">
<font size="-1">Project<br>Contents<hr>...</font></td>
<td align="center" rowspan="2" width="70%">
API<br>Documentation<br>Frame<br><br><br>
</td>
</tr>
<tr>
<td align="center">
<font size="-1">Module<br>Contents<hr>&nbsp;<br>...<br>&nbsp;</font>
</td>
</tr>
</table><br>
</center>
<p> The <b>project contents frame</b> contains a list of all packages
and modules that are defined by the project. Clicking on an entry
will display its contents in the module contents frame. Clicking on a
special entry, labeled "Everything," will display the contents of
the entire project. </p>
<p> The <b>module contents frame</b> contains a list of every
submodule, class, type, exception, function, and variable defined by a
module or package. Clicking on an entry will display its
documentation in the API documentation frame. Clicking on the name of
the module, at the top of the frame, will display the documentation
for the module itself. </p>
<p> The "<b>frames</b>" and "<b>no frames</b>" buttons below the top
navigation bar can be used to control whether the table of contents is
displayed or not. </p>
<h2> The Navigation Bar </h2>
<p> A navigation bar is located at the top and bottom of every page.
It indicates what type of page you are currently viewing, and allows
you to go to related pages. The following table describes the labels
on the navigation bar. Note that not some labels (such as
[Parent]) are not displayed on all pages. </p>
<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
<tr class="summary">
<th>Label</th>
<th>Highlighted when...</th>
<th>Links to...</th>
</tr>
<tr><td valign="top"><b>[Parent]</b></td>
<td valign="top"><i>(never highlighted)</i></td>
<td valign="top"> the parent of the current package </td></tr>
<tr><td valign="top"><b>[Package]</b></td>
<td valign="top">viewing a package</td>
<td valign="top">the package containing the current object
</td></tr>
<tr><td valign="top"><b>[Module]</b></td>
<td valign="top">viewing a module</td>
<td valign="top">the module containing the current object
</td></tr>
<tr><td valign="top"><b>[Class]</b></td>
<td valign="top">viewing a class </td>
<td valign="top">the class containing the current object</td></tr>
<tr><td valign="top"><b>[Trees]</b></td>
<td valign="top">viewing the trees page</td>
<td valign="top"> the trees page </td></tr>
<tr><td valign="top"><b>[Index]</b></td>
<td valign="top">viewing the index page</td>
<td valign="top"> the index page </td></tr>
<tr><td valign="top"><b>[Help]</b></td>
<td valign="top">viewing the help page</td>
<td valign="top"> the help page </td></tr>
</table>
<p> The "<b>show private</b>" and "<b>hide private</b>" buttons below
the top navigation bar can be used to control whether documentation
for private objects is displayed. Private objects are usually defined
as objects whose (short) names begin with a single underscore, but do
not end with an underscore. For example, "<code>_x</code>",
"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
are private objects; but "<code>re.sub</code>",
"<code>__init__</code>", and "<code>type_</code>" are not. However,
if a module defines the "<code>__all__</code>" variable, then its
contents are used to decide which objects are private. </p>
<p> A timestamp below the bottom navigation bar indicates when each
page was last updated. </p>
<!-- =========== 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 bgcolor="#70b0f0" class="navselect">&nbsp;&nbsp;&nbsp;Help&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>

Some files were not shown because too many files have changed in this diff Show More