new i2cp and streaming options for 0.9.4

This commit is contained in:
zzz
2012-11-02 16:38:15 +00:00
parent a1de6c65ef
commit cbb14b4a1c
3 changed files with 36 additions and 11 deletions

View File

@ -1,7 +1,7 @@
{% extends "_layout.html" %}
{% block title %}I2CP{% endblock %}
{% block content %}
Updated September 2012, current as of router version 0.9.2
Updated November 2012, current as of router version 0.9.3
<p>The I2P Client Protocol (I2CP) exposes a strong separation of concerns between
the router and any client that wishes to communicate over the network. It enables
@ -112,8 +112,11 @@ a <a href="i2cp_spec.html#type_SessionConfig">SessionConfig</a> contained in a <
Higher is higher priority. As of 0.9.4.
<tr><td>i2cp.dontPublishLeaseSet <td>true, false<td>&nbsp;<td>false<td>Should generally be set to true for clients
and false for servers
<tr><td>i2cp.messageReliability <td>&nbsp;<td>BestEffort, Guaranteed, None<td>BestEffort<td>Guaranteed is disabled;
None implemented in 0.8.1; the streaming lib default is None as of 0.8.1
<tr><td>i2cp.messageReliability <td>&nbsp;<td>BestEffort, None<td>BestEffort<td>Guaranteed is disabled;
None implemented in 0.8.1; the streaming lib default is None as of 0.8.1, the client side default is None as of 0.9.4
<tr><td>i2cp.fastReceive<td>&nbsp;<td>true, false<td>false<td>If true, the router just sends the MessagePayload instead
of sending a MessageStatus and awaiting a ReceiveMessageBegin.
As of 0.9.4
<tr><td>explicitPeers<td>&nbsp;<td>&nbsp;<td>null<td>Comma-separated list of Base 64 Hashes of peers to build tunnels through; for debugging only
<tr><td>i2cp.username<td>string<td>&nbsp;<td>&nbsp;<td>For authorization, if required by the router (since 0.8.2).
If the client is running in the same JVM as a router, this option is not required.
@ -161,6 +164,7 @@ Prior to that release, options with multi-byte characters were corrupted.
The following options are interpreted on the client side,
and will be interpreted if passed to the I2PSession via the I2PClient.createSession() call.
The streaming lib should also pass these options through to I2CP.
Other implementations may have different defaults.
<p>
<table border=1>
<tr><th colspan="6">Client-side Options</th></tr>
@ -179,6 +183,10 @@ The streaming lib should also pass these options through to I2CP.
<tr><td>i2cp.reduceQuantity<td>0.7.1<td>1<td>1 to 5<td>1<td>Tunnel quantity when reduced (applies to both inbound and outbound)
<tr><td>i2cp.encryptLeaseSet<td>0.7.1<td>true, false <td>&nbsp;<td>false<td>Encrypt the lease
<tr><td>i2cp.leaseSetKey<td>0.7.1<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>Base64 SessionKey (44 characters)
<tr><td>i2cp.messageReliability<td>&nbsp;<td>&nbsp;<td>BestEffort, None<td>None<td>Guaranteed is disabled;
None implemented in 0.8.1; None is the default as of 0.9.4
<tr><td>i2cp.fastReceive<td>0.9.4<td>&nbsp;<td>true, false<td>true<td>If true, the router just sends the MessagePayload instead
of sending a MessageStatus and awaiting a ReceiveMessageBegin.
</table>
<p>
Note: All arguments, including numbers, are strings. True/false values are case-insensitive strings.

View File

@ -1,7 +1,7 @@
{% extends "_layout.html" %}
{% block title %}I2CP Specification{% endblock %}
{% block content %}
Updated September 2012, current as of router version 0.9.2
Updated November 2012, current as of router version 0.9.3
<h1>I2P Control Protocol (I2CP) Specification</h1>
<h2>Overview</h2>
<p>
@ -87,7 +87,16 @@ Bandwidth Limits Message <---------------------
<h3>Outgoing Message</h3>
<p>(existing session)</p>
<p>Existing session, with i2cp.messageReliability=none</p>
<pre>
{% filter escape %}
Client Router
---------------------> Send Message Message
{% endfilter %}
</pre>
<p>Existing session, with i2cp.messageReliability=BestEffort</p>
<pre>
{% filter escape %}
Client Router
@ -99,15 +108,20 @@ Bandwidth Limits Message <---------------------
(succeeded)
{% endfilter %}
</pre>
<p>
Note: As of release 0.8.1, the router does not send either Message Status Message if
i2cp.messageReliability=none.
</p>
<h3>Incoming Message</h3>
<p>(existing session)</p>
<p>Existing session, with i2cp.fastReceive=true (as of 0.9.4)</p>
<pre>
{% filter escape %}
Client Router
Message Payload Message <---------------------
{% endfilter %}
</pre>
<p>Existing session, with i2cp.fastReceive=false</p>
<pre>
{% filter escape %}
Client Router

View File

@ -1,7 +1,7 @@
{% extends "_layout.html" %}
{% block title %}Streaming Library{% endblock %}
{% block content %}
Updated September 2012, current as of router version 0.9.2
Updated November 2012, current as of router version 0.9.3
<h2>Overview</h2>
<p>
@ -148,6 +148,9 @@ See the javadocs for details.
or that many milliseconds pass, and include any initial data with the SYN.
</td></tr><tr><td>i2p.streaming.connectTimeout</td><td>5*60*1000</td><td>
How long to block on connect, in milliseconds. Negative means indefinitely. Default is 5 minutes.
</td></tr><tr><td>i2p.streaming.disableRejectLogging</td><td>false</td><td>
Whether to disable warnings in the logs when an incoming connection is rejected due to connection limits.
As of release 0.9.4.
</td></tr><tr><td>i2p.streaming.enforceProtocol</td><td>false</td><td>Whether to listen only for the streaming protocol.
Setting to true will prohibit communication with Destinations earlier than release 0.7.1
(released March 2009). Set to true if running multiple protocols on this Destination.