On Thu, 25 Feb 2016, Honza Bambas wrote:

Adaptive keep-alive! I like that. Just a tad bit worried it'll introduce other problems as it'll then make _all_ transfers get that keepalive thing going at a fairly high frequency

It doesn't need to be a super high frequency. You will only enable it between request sending and last response bit receive (complete).

Maybe we should then do this on each network-change-event?

1. read out the tcp keepalive state from the http/1 connection, if it is
   is "short lived", we let the default keepalive handling take care of itself
   and we're done. If not short-lived, continue

2. call nsHttpConnection::StartShortLivedTCPKeepalives() (which seems to have
   a default 'idle_time' set to 10 seconds)

3. set a timeout that is ShortLivedTCPKeepalive interval + some time

4. when the timeout triggers, restore the original keepalive state from (1)
   (which I presume is either long-lived or disabled)

It should at least do less kills of actually used alive connections, although it will be slower to kill actually dead connections.

--

 / daniel.haxx.se
_______________________________________________
dev-tech-network mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-network

Reply via email to