neqo
neqo copied to clipboard
support RFC9000 max_idle_timeout=0
RFC9000 " max_idle_timeout (0x01): The maximum idle timeout is a value in milliseconds that is encoded as an integer; see (Section 10.1). Idle timeout is disabled when both endpoints omit this transport parameter or specify a value of 0."
This is currently unsupported. It may be very useful for high latency or delay networks where, instead of increasing the max_idle_timeout to very large values and having all sorts of side effects, it may be more useful to support this feature.
This is really a feature request for an unbounded idle timeout. That's a reasonable request. I'd be happy to review a change where the configuration was changed and we disabled the idle timeout as a result. The server side of this might have some surprises for us, but I don't foresee many problems.
Implementation-wise, the biggest question is whether we recognize Duration::from_xxx(0)
/Duration::new(0, 0)
as special and disable the timeout, or whether we move to Option<Duration>
. The former might be easier.