-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optional Idle Timeout #1765
Optional Idle Timeout #1765
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1606,14 +1606,6 @@ type TRANSPORT_PARAMETER_ERROR. | |
|
||
### Transport Parameter Definitions | ||
|
||
An endpoint MUST include the following parameters in its encoded | ||
TransportParameters: | ||
|
||
idle_timeout (0x0003): | ||
|
||
: The idle timeout is a value in seconds that is encoded as an unsigned 16-bit | ||
integer. The maximum value is 600 seconds (10 minutes). | ||
|
||
An endpoint MAY use the following transport parameters: | ||
|
||
initial_max_data (0x0001): | ||
|
@@ -1637,17 +1629,13 @@ initial_max_bidi_streams (0x0002): | |
MAX_STREAM_ID containing 16 when received by a client or 17 when received by a | ||
server. | ||
|
||
initial_max_uni_streams (0x0008): | ||
idle_timeout (0x0003): | ||
|
||
: The initial maximum unidirectional streams parameter contains the initial | ||
maximum number of unidirectional streams the peer may initiate, encoded as an | ||
unsigned 16-bit integer. If this parameter is absent or zero, unidirectional | ||
streams cannot be created until a MAX_STREAM_ID frame is sent. Setting this | ||
parameter is equivalent to sending a MAX_STREAM_ID ({{frame-max-stream-id}}) | ||
immediately after completing the handshake containing the corresponding Stream | ||
ID. For example, a value of 0x05 would be equivalent to receiving a | ||
MAX_STREAM_ID containing 18 when received by a client or 19 when received by a | ||
server. | ||
: The idle timeout is a value in seconds that is encoded as an unsigned 16-bit | ||
integer. There is no maximum value besides the maximum encodable value of | ||
0xFFFF (about 18 hours). If this parameter is absent or zero then the idle | ||
timeout is disabled. In this case, the transport never closes the connection | ||
in response to being idle. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. drop this last sentence too |
||
|
||
max_packet_size (0x0005): | ||
|
||
|
@@ -1666,6 +1654,18 @@ ack_delay_exponent (0x0007): | |
value is also used for ACK frames that are sent in Initial and Handshake | ||
packets. Values above 20 are invalid. | ||
|
||
initial_max_uni_streams (0x0008): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please don't move this. The numbers are all out of order, but I do hope to fix that eventually. |
||
|
||
: The initial maximum unidirectional streams parameter contains the initial | ||
maximum number of unidirectional streams the peer may initiate, encoded as an | ||
unsigned 16-bit integer. If this parameter is absent or zero, unidirectional | ||
streams cannot be created until a MAX_STREAM_ID frame is sent. Setting this | ||
parameter is equivalent to sending a MAX_STREAM_ID ({{frame-max-stream-id}}) | ||
immediately after completing the handshake containing the corresponding Stream | ||
ID. For example, a value of 0x05 would be equivalent to receiving a | ||
MAX_STREAM_ID containing 18 when received by a client or 19 when received by a | ||
server. | ||
|
||
disable_migration (0x0009): | ||
|
||
: The endpoint does not support connection migration ({{migration}}). Peers MUST | ||
|
@@ -2531,9 +2531,9 @@ source address. | |
|
||
### Idle Timeout | ||
|
||
A connection that remains idle for longer than the advertised idle timeout (see | ||
{{transport-parameter-definitions}}) is closed. A connection enters the | ||
draining state when the idle timeout expires. | ||
If the idle timeout is enabled, a connection that remains idle for longer than | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This change isn't needed. There is always an idle timeout, it's just that it is sometimes infinite. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We didn't quite state it that way above. It says the idle timeout is disabled, not infinite. |
||
the advertised idle timeout (see {{transport-parameter-definitions}}) is closed. | ||
A connection enters the draining state when the idle timeout expires. | ||
|
||
Each endpoint advertises their own idle timeout to their peer. The idle timeout | ||
starts from the last packet received. In order to ensure that initiating new | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wouldn't bother with the maximum sentence thing.