Hi friends,

I work on a little issue (bug 1245059) that I feel I could use some feedback or thoughts on, on how to best go about and handle it. This problem is happening on Windows (right now) but in theory it could happen similarly on other platforms too.

The ground rules:

1. We trigger an internal network change event on IP and network
   interface changes.

2. We make a checksum of all network "adapters" and their IP addresses to
   avoid duplicate events. We also coalesce events to not send them more often
   than once per second.

3. When a change is detected, we want to detect stalled HTTP connections to
   avoid "hangs" and to provide a snappier experience.

4. A "stalled" HTTP/1 connection is detected by not having traffic for N
   seconds. There is no difference between a stalled connection and a
   connection on which the server is just very slow to respond and thus
   leaving an N second pause. (N is 5 seconds by default).

The problem:

1. The user uses a slow server that often takes more than N seconds to
   respond.

2. The same user has a (Microsoft Teredo tunneling) network adapter that
   appears and disappears every few minutes (with 60 - 200 seconds interval it
   seems) thus triggering network change events fairly often.

3. User gets sad face because Firefox keeps cutting off slow (but working)
   HTTP requests. (There's a few other downsides to these frequent network
   change events, but they're not as visible.)

Additionally:

- Yes, this seems like a broken/strange user setup, but still it happens and
  it is not causing a (noticable) problem for the user if Firefox is prevented
  from killing silent HTTP connections.

- We can detect Teredo tunnels by its IP address range, but how does that
  help?

The bug:

  https://bugzilla.mozilla.org/show_bug.cgi?id=1245059


Any bright ideas?

--

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

Reply via email to