148 lines
7.1 KiB
HTML
148 lines
7.1 KiB
HTML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<title>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"> <a class="navbar" href="i2p-module.html">Home</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>
|
|
<th class="navbar" width="100%"></th>
|
|
</tr>
|
|
</table>
|
|
<table width="100%" cellpadding="0" cellspacing="0">
|
|
<tr valign="top">
|
|
<td width="100%">
|
|
<font size="-1"><b class="breadcrumbs">
|
|
<a href="i2p-module.html">Package i2p</a> ::
|
|
<a href="i2p.tunnel-module.html">Module tunnel</a> ::
|
|
Class Tunnel
|
|
</b></font></br>
|
|
</td>
|
|
<td><table cellpadding="0" cellspacing="0">
|
|
<tr><td align="right"><font size="-2">[show private | <a href="../public/i2p.tunnel.Tunnel-class.html">hide private</a>]</font></td></tr>
|
|
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a> | <a href="i2p.tunnel.Tunnel-class.html" target="_top">no 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"> </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"> </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"> </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"> <a class="navbar" href="i2p-module.html">Home</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
|
|
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>
|
|
<th class="navbar" width="100%"></th>
|
|
</tr>
|
|
</table>
|
|
|
|
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
<tr>
|
|
<td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
|
|
<td align="right"><a href="http://epydoc.sourceforge.net"
|
|
><font size="-2">http://epydoc.sf.net</font></a></td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|