target = "https://www.rfc-editor.org/rfc/rfc9000#section-10.1" # 10.1. Idle Timeout # # If a max_idle_timeout is specified by either endpoint in its # transport parameters (Section 18.2), the connection is silently # closed and its state is discarded when it remains idle for longer # than the minimum of the max_idle_timeout value advertised by both # endpoints. # # Each endpoint advertises a max_idle_timeout, but the effective value # at an endpoint is computed as the minimum of the two advertised # values (or the sole advertised value, if only one endpoint advertises # a non-zero value). By announcing a max_idle_timeout, an endpoint # commits to initiating an immediate close (Section 10.2) if it # abandons the connection prior to the effective value. # # An endpoint restarts its idle timer when a packet from its peer is # received and processed successfully. An endpoint also restarts its # idle timer when sending an ack-eliciting packet if no other ack- # eliciting packets have been sent since last receiving and processing # a packet. Restarting this timer when sending a packet ensures that # connections are not closed after new activity is initiated. # # To avoid excessively small idle timeout periods, endpoints MUST # increase the idle timeout period to be at least three times the # current Probe Timeout (PTO). This allows for multiple PTOs to # expire, and therefore multiple probes to be sent and lost, prior to # idle timeout. [[spec]] level = "MUST" quote = ''' To avoid excessively small idle timeout periods, endpoints MUST increase the idle timeout period to be at least three times the current Probe Timeout (PTO). '''