implement UserIdleTimeout
Implement a new method SetUserIdleTimeout() that allows to set a timeout for idle sessions, but contrarty to the SetIdleTimeout(), this doesn't take into account SPDY ping frames.
This allows consumers to use SPDY ping frames to keep the TCP and SPDY connections alive, but also to detect and close the connection if it is not being used, i.e. no data is sent by the applications through the connection.
Signed-off-by: Antonio Ojea [email protected]
@dmcgowan I've implemented the locking using the atomic functions to avoid any possible issue with the other locks https://github.com/moby/spdystream/pull/86/commits/83610fa6fc69ad17491d9e488ed3c415d0debebb
@dmcgowan @aojea any update here?
@dmcgowan @aojea any update here?
I don't think this has any chances to merge, also, I honestly think that this parameter should be use to control session timeout ...
I'm going to close it to avoid confussions
I closed it because of the lack of attention, but since may have some traction I'm going to reopen it
the CRI-O community is still interested in this. Is there anything we can do to move this forward?
The change looks OK to me. Given the time its been since changes were made here, I think I would like to see where this change is used and how it is tested by library users to feel the most comfortable merging it.
Just checking to see where this PR is sitting
https://github.com/containerd/containerd/issues/5563 Would be the driving usage
the CRI-O community is still interested in this. Is there anything we can do to move this forward?
@aojea ^
For people coming to this PR, this will be solved once this is implemented https://github.com/kubernetes/kubernetes/pull/115493
This PR is a workaround to the underly problem that is that implementations are conflating USER session and TCP session, but with https://github.com/kubernetes/kubernetes/pull/115493 people can opt-out of SPDY pings (and suffer the problems of not having them, ie. connections silently closed by intermediate devices , like NAT boxes that depend on traffic to renew the timers(
I follow. Thanks @aojea for the explanation.