forked from I2P_Developers/i2p.www
streaming updates
This commit is contained in:
@@ -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>
|
||||||
|
|
||||||
|
@@ -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.
|
||||||
|
Reference in New Issue
Block a user