Commit Graph

74 Commits

Author SHA1 Message Date
Patrick McManus
652e0400e5 bug 744788 - add httpconnmgrtick setTarget() in case of offline/online r=honzab 2012-04-13 15:47:43 -04:00
Patrick McManus
c1a33ecaf0 bug 738812 timer serviced after thread exit nsHttpConnectionMgr::ReadTimeoutTick r=honzab 2012-04-11 13:11:09 -04:00
Patrick McManus
46695bea53 bug 742935: fix landing problem with 717759 r=honzab 2012-04-09 10:22:07 -04:00
Patrick McManus
a7669f6540 bug 717759 - negative pipeline feedback on img decode problem r=bz r=jdrew r=honzab 2012-03-22 19:39:32 -04:00
Patrick McManus
b42fe35654 bug 603514 - http stalled read detection r=honzab
When a connection that involves a pipelined transaction has been stalled (i.e.
idle with an open transaction, not an idle persistent connection) for a
second move any transactions that are pipelined after the current one onto
different connections (and implicitly close this connection when done with the
current transaction).

when it has been stalled for 10 seconds (pref configurable), cancel the current
transaction itself too - depending on its state it can hopefully be restarted
on a clean connection.
2012-03-22 19:39:31 -04:00
Patrick McManus
f04f8c8cf1 bug 603512 - large objects block pipelines r=honzab
the type and state patch tries hard not to form pipelines behind resources that
could become head of line blockers. But of course that requires the ability to
predict the future, and won't be perfect.

This patch reacts to a transaction that has a large response body (defined by
either a large content-length header or actually reading a large number of
chunked bytes) by cancelling any transactions that have been pipelined down the
same connection and rescheduling them elsewhere. It also changes the type of
the connection to "solo", which prevents new transactions from being pipelined
onto this one and provides class-specific negative feedback to the pipeline
manager so that near-future requests to the same host of the same type (e.g.
general) will not be pipelined but other types (e.g. img or js/css) can still
do that.

Content-Length is ideal, because it allows us to identify the problem so early.
But even actually reading the document for a fairly long time gives it a fairly
high probability of not ending soon. (i.e. long document sizes are spread over
a larger range than small ones. duh.)

The pref network.http.pipelining.maxsize controls the threshold. I set the
default at 300KB, which is roughly the bandwidth delay product of a 2mbit 120ms
rtt connection and 1 rtt is mostly what you are giving up by canceling it on
one connection and sending it on another. (modulo maybe needing a handshake).
2012-03-22 19:39:31 -04:00
Patrick McManus
665466cf6f bug 737155 - httpconnectionmgr::processPendingQ allow more than 1 with pipeline r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
dd00f9250a bug 599164 pipeline with type and state r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
2f6e970bde bug 447866 http pipelining is bursty r=honzab
--HG--
extra : rebase_source : 87370228074eaff2615b8dcef9b3c0c9b919b3c3
2012-03-22 19:39:31 -04:00
Patrick McManus
3060ca04b8 bug 735552 - wrong assert on shutdown in nsHttpConnectionMgr::ReportSpdyConnection r=honzab
--HG--
extra : rebase_source : 8baf5fbae8d9ad8196fd699191c0013f7ea8f424
2012-03-15 00:03:04 -04:00
Nathan Froyd
4cebb315f0 Bug 700659 - Slay nsHashSets in netwerk/protocol. r=mcmanus 2012-02-27 11:20:29 -05:00
Geoff Lankow
e75048d315 Backed out changeset f65247c7647a (bug 729133) 2012-02-26 13:50:34 +13:00
Patrick McManus
fe7653eb59 bug 729133 speculative connections do full ssl and happen before cache lookup 2012-02-25 17:07:52 -05:00
Patrick McManus
3b22728106 bug 728113 spdy ping to keepalive nat timeouts 2/2 spdy ping r=honzab 2012-02-23 20:58:43 -05:00
Patrick McManus
c05ba5fb6e bug 728113 - spdy ping to keepalive nat timeouts 1/2 tick infrastructure r=honzab 2012-02-23 20:56:57 -05:00
Patrick McManus
b67c1b14d9 bug 708415 spdy code review of nshttp* r=honzab 2012-01-26 00:15:26 -05:00
Patrick McManus
20e2e8cff8 bug 708415 spdysession review comments r=honzab 2012-01-26 00:15:26 -05:00
Patrick McManus
2d124278c9 bug 528288 - reland spdy after libxul weightloss a=khuey CLOSED TREE 2011-12-13 10:55:50 -05:00
Ed Morley
160bed2536 Backout SPDY to keep us under the MSVC virtual address space limit during win PGO builds (bug 709193)
Backs out 952d14a9e508 (bug 707173), c170c678c9ac (bug 708305), 0a5f66d5d8e4 (bug 707662), 3204b70435fe (bug 706236) and the main landing range 48807fde0339:0bd45ead1676 (bug 528288).
2011-12-10 22:36:26 +00:00
Patrick McManus
fd6ff3ed50 bug 707173 - spdy telemetry for connection management r=honzab 2011-12-08 12:09:46 -05:00
Patrick McManus
c213fb48f7 Bug 707662 - spdy null deref halfopen-transportstatus r=honzab 2011-12-06 09:43:09 -05:00
Patrick McManus
da9a5434a6 bug 528288 spdy - nsisslsocketcontrol::mayjoinconnection() r=honzab r=bsmith sr=honzab sr=biesi
patch 17
2011-12-02 10:28:57 -05:00
Patrick McManus
2e74f3e2e2 bug 528288 - spdy. Cleanups involving host coalescing r=honzab
patch 14

fixes 666028
2011-12-02 10:28:57 -05:00
Patrick McManus
7f6ed2a270 bug 528288 spdy - when coalescing get ip from nsISocket instead of dns lookup r=honzab
patch 11
2011-12-02 10:28:57 -05:00
Patrick McManus
1d433105df bug 528288 spdy - when coalescing hosts use anonymous flag as part of hash key r=honzab
patch 10
2011-12-02 10:28:57 -05:00
Patrick McManus
86482de5c9 bug 528288 spdy - only coalesce (i.e. ip pool) hostnames with compatible ssl certs sr=biesi r=honzab r=bsmith
patch 9
2011-12-02 10:28:57 -05:00
Patrick McManus
86b2cf3d72 bug 528288 spdy - provide a pref to control alternate-protocol support r=honzab
patch 8
2011-12-02 10:28:57 -05:00
Patrick McManus
eeb973822d 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
ce94c7ff4d bug 528222 Basic SPDY web transport support. r=honzab r=bsmith sr=biesi
patch 0
2011-12-02 10:28:56 -05:00
Patrick McManus
d7143b1bbe bug 671875 pipeline transport event fixups r=honzab 2011-12-01 09:19:41 -05:00
Honza Bambas
b139dc7139 Bug 700402 - ABORT: syntimer not null, creting SYN retry timer after connection manager shutdown, r=mcmanus 2011-11-08 11:56:46 +01:00
Honza Bambas
ea0cc7b880 Bug 684893 - part1: Start backup TCP SYN timer on primary TCP connection start, r=mcmanus 2011-11-02 17:18:53 +01:00
Patrick McManus
42e6a92cb5 bug 692260 - pr_poll limit autodiscovery for windows r=jduell
--HG--
extra : rebase_source : dc9b024b4004e0a4025e843e94e046b4dd69dca9
2011-10-25 11:36:49 -04:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Ehsan Akhgari
b542efd4e6 Bug 666414 - Prevent AddRef and Release from being called on the pointers wrapped in nsCOMPtr and nsRefPtr; r=bsmedberg 2011-09-16 16:22:44 -04:00
Masatoshi Kimura
aae0d71ffc Bug 679090 - Disable IPv6 for backup connections to workaround problems about broken IPv6 connectivity; f=mcmanus r=biesi 2011-08-27 11:49:40 +01:00
Michael Wu
48f2ffa17a Bug 675873 - Switch nsHttpConnectionMgr from nsHashtable to nsClassHashtable, r=bz 2011-08-03 18:59:10 -07:00
Patrick McManus
7c416b35ae bug 648941 - close persistent connections when transitioning in/out of private browsing r=bz 2011-07-25 16:25:01 -04:00
Patrick McManus
2b8561c7ca 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
60ccc8af25 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
Dominic Fandrey
0ab2f46136 Bug 645398 - Substitute PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-06-02 14:56:50 +02:00
Patrick McManus
2ead98965f 604796 - close our idle HTTP connection when server closes its end r=honzab
--HG--
extra : rebase_source : b4c89df4d3eab7b7c8c60d625467847557bc7291
2011-05-16 09:32:37 -04:00
Patrick McManus
ec459a736d bugzilla 640213 Implement RFC 2616 "Upgrade" (Section 14.42) r=biesi sr=bz 2011-05-19 19:43:37 -04:00
Phil Ringnalda
732ca210bc Back out 40d44ce2377e (bug 640213) on suspicion of causing Windows crashes and timeouts in media tests 2011-05-14 20:13:57 -07:00
Patrick McManus
9bffb83e96 Bug 640213 - Implement HTTP 2616 Upgrade. r=biesi, sr=bz. 2011-05-14 18:55:54 +01:00
Patrick McManus
ae39c259af Bug 653530 - HTTP Transaction multiply dispatched r=honzab
--HG--
extra : rebase_source : 6ba6ea647bd83154f03ded03ec4fc88580fc8f2f
2011-04-29 15:32:40 -04:00
Chris Jones
ed22df8f64 Bug 556214, parts 1 and 1.1: Rename Monitor to ReentrantMonitor and fix existing Monitor users. r=roc
--HG--
rename : xpcom/glue/Monitor.h => xpcom/glue/ReentrantMonitor.h
2011-04-29 14:21:57 -05:00
Patrick McManus
fa5755bdc7 bug 652761 ABORT: half open complete but no item: 'index != -1' with embedded src port 80000 r=honzab 2011-04-28 17:43:24 -04:00
Daniel Holbert
ba9a18927d Bug 650871: Use unsigned int as loop counter in nsHttpConnectionMgr::OnMsgReclaimConnection, to fix GCC warning. r=biesi r=mcmanus 2011-04-20 01:28:38 +02:00