streaming updates

This commit is contained in:
zzz
2015-06-17 13:51:27 +00:00
parent 50ccbb5b8e
commit ca1a0fa5e9
2 changed files with 21 additions and 13 deletions

View File

@@ -1,7 +1,7 @@
{% extends "global/layout.html" %} {% extends "global/layout.html" %}
{% block title %}{% trans %}Streaming Library{% endtrans %}{% endblock %} {% block title %}{% trans %}Streaming Library{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}December 2013{% endtrans %}{% endblock %} {% block lastupdated %}{% trans %}June 2015{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.9{% endblock %} {% block accuratefor %}0.9.20{% endblock %}
{% block content %} {% block content %}
<h2>{% trans %}Overview{% endtrans %}</h2> <h2>{% trans %}Overview{% endtrans %}</h2>
@@ -206,8 +206,11 @@ As of release {{ release }}.
What to do on an inactivity timeout - do nothing, disconnect, or send a duplicate ack. What to do on an inactivity timeout - do nothing, disconnect, or send a duplicate ack.
{%- endtrans %}</td></tr> {%- endtrans %}</td></tr>
<tr><td>i2p.streaming.inactivityTimeout</td><td>90*1000</td></tr> <tr><td>i2p.streaming.inactivityTimeout</td><td>90*1000</td>
<tr><td>i2p.streaming.initialAckDelay</td><td>2000</td></tr> <td>{% trans %}Idle time before sending a keepalive{% endtrans %}</td></tr>
<tr><td>i2p.streaming.initialAckDelay</td><td>750</td>
<td>{% trans %}Delay before sending an ack{% endtrans %}</td></tr>
<tr><td>i2p.streaming.initialResendDelay</td><td>1000</td><td>{% trans -%} <tr><td>i2p.streaming.initialResendDelay</td><td>1000</td><td>{% trans -%}
The initial value of the resend delay field in the packet header, times 1000. The initial value of the resend delay field in the packet header, times 1000.
@@ -419,7 +422,7 @@ There is no ping function at the I2CP layer (equivalent to ICMP echo) or in data
This function is provided in streaming. This function is provided in streaming.
Pings and pongs may not be combined with a standard streaming packet; Pings and pongs may not be combined with a standard streaming packet;
if the ECHO option is set, then if the ECHO option is set, then
most other flags, options, ackThrough, sequenceNum, NACKs, payload, etc. are ignored. most other flags, options, ackThrough, sequenceNum, NACKs, etc. are ignored.
{%- endtrans %}</p> {%- endtrans %}</p>
<p>{% trans -%} <p>{% trans -%}
@@ -434,6 +437,11 @@ The sendStreamId must be zero, and the receiveStreamId is the sendStreamId from
The pong packet does not include any payload that was contained in the ping. The pong packet does not include any payload that was contained in the ping.
{%- endtrans %}</p> {%- endtrans %}</p>
<p>{% trans -%}
As of release 0.9.18, pings and pongs may contain a payload.
The payload in the ping, up to a maximum of 32 bytes, is returned in the pong.
{%- endtrans %}</p>
<p>{% trans -%} <p>{% trans -%}
Streaming may be configured to disable sending pongs with the configuration i2p.streaming.answerPings=false. Streaming may be configured to disable sending pongs with the configuration i2p.streaming.answerPings=false.
{%- endtrans %}</p> {%- endtrans %}</p>
@@ -466,18 +474,18 @@ The following Control Block Sharing parameters can be set per router:
The following parameters are hardcoded, but may be of interest for analysis: The following parameters are hardcoded, but may be of interest for analysis:
{%- endtrans %}</p> {%- endtrans %}</p>
<ul> <ul>
<li>MIN_RESEND_DELAY = 2*1000 (minimum RTO) <li>MIN_RESEND_DELAY = 100 ms (minimum RTO)
<li>MAX_RESEND_DELAY = 45*1000 (maximum RTO) <li>MAX_RESEND_DELAY = 45 sec (maximum RTO)
<li>MIN_WINDOW_SIZE = 1 <li>MIN_WINDOW_SIZE = 1
<li>TREND_COUNT = 3 <li>TREND_COUNT = 3
<li>MIN_MESSAGE_SIZE = 512 (minimum MTU) <li>MIN_MESSAGE_SIZE = 512 (minimum MTU)
<li>INBOUND_BUFFER_SIZE = maxMessageSize * (maxWindowSize + 2) <li>INBOUND_BUFFER_SIZE = maxMessageSize * (maxWindowSize + 2)
<li>INITIAL_TIMEOUT (valid only before RTT is sampled) = 9000 <li>INITIAL_TIMEOUT (valid only before RTT is sampled) = 9 sec
<li>"alpha" ( RTT dampening factor as per RFC 6298 ) = 0.125</li> <li>"alpha" ( RTT dampening factor as per RFC 6298 ) = 0.125</li>
<li>"beta" ( RTTDEV dampening factor as per RFC 6298 ) = 0.25</li> <li>"beta" ( RTTDEV dampening factor as per RFC 6298 ) = 0.25</li>
<li>"K" ( RTDEV multiplier as per RFC 6298 ) = 4</li> <li>"K" ( RTDEV multiplier as per RFC 6298 ) = 4</li>
<li>PASSIVE_FLUSH_DELAY = 250 <li>PASSIVE_FLUSH_DELAY = 175 ms
<li>Maximum RTT estimate: 60*1000 <li>Maximum RTT estimate: 60 sec
</ul> </ul>
</p> </p>

View File

@@ -1,7 +1,7 @@
{% extends "global/layout.html" %} {% extends "global/layout.html" %}
{% block title %}{% trans %}Streaming Library Specification{% endtrans %}{% endblock %} {% block title %}{% trans %}Streaming Library Specification{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}April 2015{% endtrans %}{% endblock %} {% block lastupdated %}{% trans %}June 2015{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.19{% endblock %} {% block accuratefor %}0.9.20{% endblock %}
{% block content %} {% block content %}
<p><a href="{{ site_url('docs/api/streaming') }}">{% trans -%} <p><a href="{{ site_url('docs/api/streaming') }}">{% trans -%}
See the Streaming page for an overview of the Streaming Library. See the Streaming page for an overview of the Streaming Library.
@@ -135,7 +135,7 @@ Was also sent in retransmitted packets until release 0.9.1.
Unused or ignored; the interactive profile is unimplemented. Unused or ignored; the interactive profile is unimplemented.
<tr><td>9<td>ECHO<td align="center">--<td align="center">--<td> <tr><td>9<td>ECHO<td align="center">--<td align="center">--<td>
Unused except by ping programs. Unused except by ping programs.
If set, most other options, and the payload, are ignored. See If set, most other options are ignored. See
<a href="{{ site_url('docs/api/streaming') }}">the streaming docs</a>. <a href="{{ site_url('docs/api/streaming') }}">the streaming docs</a>.
<tr><td>10<td>NO_ACK<td align="center">--<td align="center">--<td> <tr><td>10<td>NO_ACK<td align="center">--<td align="center">--<td>
This flag simply tells the recipient to ignore the ackThrough field in the header. This flag simply tells the recipient to ignore the ackThrough field in the header.