Commit Graph

128 Commits

Author SHA1 Message Date
Patrick McManus
39ac768eaf bug 528288 - HTTP Alternate-Protocol header for transitioning from http to spdy r=honzab
patch 2
2011-12-02 10:28:57 -05:00
Patrick McManus
4ade0830ac bug 528222 Basic SPDY web transport support. r=honzab r=bsmith sr=biesi
patch 0
2011-12-02 10:28:56 -05:00
Honza Bambas
16943c7ed6 Bug 684893 - part1: Start backup TCP SYN timer on primary TCP connection start, r=mcmanus 2011-11-02 17:18:53 +01:00
Michael Wu
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Michael Wu
905da8ec09 Bug 675873 - Switch nsHttpConnectionMgr from nsHashtable to nsClassHashtable, r=bz 2011-08-03 18:59:10 -07:00
Patrick McManus
f61079dca0 bug 648941 - close persistent connections when transitioning in/out of private browsing r=bz 2011-07-25 16:25:01 -04:00
Patrick McManus
f232281430 bug 628561 release http persistent connection on force reload r=bz
A force-reload now clears persistent connections to the server related
to the force-reloaded resource. This will allow renogitation of DNS or
server load balancing.
2011-07-22 12:31:37 -04:00
Christian Biesinger
a7dcbc4282 bug 621558 - Disable IPv6 for the 300ms-delayed backup connection to improve
the user experience of people with broken IPv6 connectivity (i.e. implement
Chrome's "Happy Eyeballs" strategy)
r=mcmanus
2011-07-04 11:47:09 +02:00
Patrick McManus
b3bd91823a 604796 - close our idle HTTP connection when server closes its end r=honzab 2011-05-16 09:32:37 -04:00
Patrick McManus
abe97d2fa8 Bug 653530 - HTTP Transaction multiply dispatched r=honzab 2011-04-29 15:32:40 -04:00
Chris Jones
4b3bb04878 Bug 556214, parts 1 and 1.1: Rename Monitor to ReentrantMonitor and fix existing Monitor users. r=roc 2011-04-29 14:21:57 -05:00
Patrick McManus
0a5c32765a bug 623948 - Accelerate TCP connection retries in HTTP r=honzab 2011-03-31 15:38:30 -04:00
Ehsan Akhgari
a37a42a15a Backout the latest cedar merge wholesale until I test the correctness of the merge locally. This commit takes the tree state back to changeset 8d3f6093c425 (the last known good changeset before the merge) 2011-04-01 12:23:48 -04:00
Ehsan Akhgari
55db7cfddc Merge cedar into mozilla-central 2011-04-01 11:37:50 -04:00
Chris Jones
9ae6458637 Rollup of bug 645263 and bug 646259: Switch to mozilla:: sync primitives. r=cjones,dbaron,doublec,ehsan src=bsmedberg
Bug 645263, part 0: Count sync primitive ctor/dtors. r=dbaron
Bug 645263, part 1: Migrate content/media to mozilla:: sync primitives. r=doublec
Bug 645263, part 2: Migrate modules/plugin to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 3: Migrate nsComponentManagerImpl to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 4: Migrate everything else to mozilla:: sync primitives. r=dbaron
Bug 645263, part 5: Remove nsAutoLock.*. sr=bsmedberg
Bug 645263, part 6: Make editor test be nicer to deadlock detector. r=ehsan
Bug 645263, part 7: Disable tracemalloc backtraces for xpcshell tests. r=dbaron
Bug 646259: Fix nsCacheService to use a CondVar for notifying. r=cjones
2011-03-31 23:29:02 -05:00
Chris Jones
ecb9597975 Backed out changeset 4beec31b9ea9 for increasing frequency of intermittent orange bug 618052 2011-03-31 18:57:38 -05:00
Chris Jones
5dece3352a Rollup of bug 645263 and bug 646259: Switch to mozilla:: sync primitives. r=cjones,dbaron,doublec,ehsan src=bsmedberg
Bug 645263, part 0: Count sync primitive ctor/dtors. r=dbaron
Bug 645263, part 1: Migrate content/media to mozilla:: sync primitives. r=doublec
Bug 645263, part 2: Migrate modules/plugin to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 3: Migrate nsComponentManagerImpl to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 4: Migrate everything else to mozilla:: sync primitives. r=dbaron
Bug 645263, part 5: Remove nsAutoLock.*. sr=bsmedberg
Bug 645263, part 6: Make editor test be nicer to deadlock detector. r=ehsan
Bug 645263, part 7: Disable tracemalloc backtraces for xpcshell tests. r=dbaron
Bug 646259: Fix nsCacheService to use a CondVar for notifying. r=cjones
2011-03-31 14:51:19 -05:00
Patrick McManus
c8ecb7eec9 bug 623948 - Accelerate TCP connection retries in HTTP r=honzab 2011-03-31 15:38:30 -04:00
Joe Drew
cbb33a0254 Back out bug 628561 (d5fad1ab2f00) on suspicion of causing Tp regressions. 2011-03-24 20:30:59 -04:00
Patrick McManus
c3c4869273 bug 628561 DNS caching forcing one to restart Firefox to eliminate temporary DNS redirection; r=bzbarsky
A force-reload now clears persistent connections to the server related
to the force-reloaded resource. This will allow renogitation of DNS or
server load balancing.
2011-03-24 12:01:57 -04:00
Patrick McManus
e946f6d944 bug 623921: Out of an abundance of caution back out feature: 592284 - HTTP Syn Retry r=honzab a=backout 2011-01-07 11:11:22 -05:00
Patrick McManus
ca2469bdb4 Bug 613977 - Intermittent invalid certificate error prompt (partial) r=honzab a=blocking-beta9
Bug 614677 - Connection is reset message appears intermittently
Bug 614950 - Connections stall occasionally after 592284 landed

A couple of follow-on changes to 592284 rolled together to prevent
diff conflicts

1] Set the securitycallback information for unused speculative
connections in the connection manager to be the new cloned connection
rather than the one they originated on. (613977)

2] When adding unused speculative connections to the connection
manager, due so with a short timeout (<= 5 seconds) as some servers
get grumpy if they haven't seen a request in that time. Most will
close the connection, but some will just sit there quietly and RST
things when the connection is used - so if you don't use the
connection quickly don't use it at all. This is probably a L4 load
balancer issue, actually. Mozillazine illustrates the
problem. Connections are made in bursts anyhow, so the reuse optimization is
likely still quite useful. (614677 and 614950)

3] mark every connection in the connection manager persistent
conneciton pool as "reused". This allows the transaction to be
restarted if a RST is recvd upon sending the requests (see #2) - with
the conservative timeout this is now a rare event, but still possible
so recovery is the right thing to do. (614677 and 614950)

4] obtain an nshttpconnection object from the connection manager,
subject to the max connection constraints, at the same time as
starting the backup conneciton. If we defer that until recycling time
the exceeded limits of the SocketService can cause problems for other
connections.

also re-enables the syn retry feature by default.

r+ honzab
2010-12-16 08:50:36 -05:00
Ehsan Akhgari
2dcd4fa83d Bug 614286 - Don't initialize the socket transport service unless we know that we're online; r=bzbarsky a=blocking-beta8+ 2010-11-25 00:20:11 -05:00
Ehsan Akhgari
4d560e22f6 Backed out changeset 630b08a7fe63 because of xpcshell test failures 2010-11-30 13:57:24 -05:00
Ehsan Akhgari
142385ad14 Bug 614286 - Don't initialize the socket transport service unless we know that we're online; r=bzbarsky a=blocking-beta8+ 2010-11-25 00:20:11 -05:00
Patrick McManus
f08a5468f7 Bug 592284 - Accelerate TCP connection retries in HTTP. r=honzab a=blocking2.0
Losing a TCP SYN requires a long painful (typically 3 second) delay
before being retried. This patch creates a second parallel connection
attempt for any nsHttpConnection which has not become writable before
a timeout occurs.

If you assume .5% packet loss, this converts a full 3 second delay
from a 1 in 200 event into a 1 in 40,000 event.

Whichever connection establishes itself first is used. If another one
has been started and it does connect before the one being used is
closed then the extra one is handed to the connection manager for use
by a different transaction - essentially a persistent connection with
0 previous transactions on it. (Another way to think about is
pre-fetching a 3WHS on a high latency connection).

The pref network.http.connection-retry-timeout controls the amount of
time in ms to wait for success on the initial connection before beginning
the second one. Setting it to 0 disables the parallel connection, the
default is 250.
2010-11-21 09:50:36 +01:00
Jon Hemming
4c7b0c341b Bug 591881 - Suspend pruning of idle connections when possible. r=dwitte a=blocking-fennec 2010-10-14 17:28:43 -07:00
Mitchell Field
bc63774d7e Bug 542222 - Reduce recursion in netwerk makefiles. 2010-06-05 21:18:12 -04:00