Commit Graph

28 Commits

Author SHA1 Message Date
Patrick McManus
f5c0c33db7 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
15a48d8534 bug 599164 pipeline with type and state r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
bba26f5a30 bug 597684 Implement HTTP Assoc-req and Banned Pipelines on nsHttpConnectionInfo r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
afefeddb70 bug 447866 http pipelining is bursty r=honzab
--HG--
extra : rebase_source : 87370228074eaff2615b8dcef9b3c0c9b919b3c3
2012-03-22 19:39:31 -04:00
Patrick McManus
31663dd281 bug 729736 - runtime experiment with different spdy ping thresholds r=honzab 2012-02-27 10:32:09 -05:00
Geoff Lankow
23d7faa012 Backed out changeset 7dce5c5c9654 (bug 729736) 2012-02-26 13:50:37 +13:00
Patrick McManus
97eb17b2fa bug 729736 - runtime experiment with different spdy ping thresholds r=honzab 2012-02-25 17:07:51 -05:00
Patrick McManus
6befe68970 bug 728113 spdy ping to keepalive nat timeouts 2/2 spdy ping r=honzab 2012-02-23 20:58:43 -05:00
Patrick McManus
2ca5173015 bug 728113 - spdy ping to keepalive nat timeouts 1/2 tick infrastructure r=honzab 2012-02-23 20:56:57 -05:00
Patrick McManus
3c064c1588 bug 727855 spdy: rst streams instead of sessions on some errors r=honzab 2012-02-19 14:28:58 -05:00
Patrick McManus
c95427f2a0 bug 447866 pre patch 0 - pipeline and spdy mix r=honzab 2012-02-15 16:41:18 -05:00
Patrick McManus
2f6e3a4dc4 bug 708415 spdy make stream frame writes to session atomic r=honzab 2012-01-26 00:15:26 -05:00
Patrick McManus
ae84a8763c bug 708415 spdysession review comments r=honzab 2012-01-26 00:15:26 -05:00
Patrick McManus
35401ccd1c bug 708415 - spdystream review comments r=honzab 2012-01-26 00:15:26 -05:00
Patrick McManus
d336c36446 bug 718206 fix spdy nsitransport event generation r=honzab 2012-01-25 15:21:13 -05:00
Patrick McManus
3ebda64c57 bug 720150 - spdy syn_reply div by zero on valid 0 len inflate buffer r=honzab 2012-01-23 22:46:37 -05:00
Patrick McManus
cdf5f618f8 bug 718210 decompress spdy server push headers even when rst r=honzab 2012-01-14 22:46:30 -05:00
Patrick McManus
a6451547c5 bug 712021 - spdy cancel stream should remove from pending queue r=honzab 2011-12-19 16:36:26 -05:00
Patrick McManus
3ba70e69a9 bug 528288 - reland spdy after libxul weightloss a=khuey CLOSED TREE 2011-12-13 10:55:50 -05:00
Ed Morley
dd38904e41 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
a67e879446 bug 707173 - spdy telemetry for connection management r=honzab 2011-12-08 12:09:46 -05:00
Patrick McManus
1a6a002f9a bug 708305 update 2 instances of PR_TRUE/PR_FALSE in spdysession r=honzab 2011-12-07 14:26:05 -05:00
Patrick McManus
afe42a8481 bug 706236 spdy deadlock on TCP rst during frame body buffering r=honzab 2011-12-06 09:43:08 -05:00
Patrick McManus
1a265197b5 bug 528222 - spdy, fix overallocation of header expansion buffer r=honzab
patch 18
2011-12-02 10:28:57 -05:00
Patrick McManus
018b9f171b bug 528288 spdy - logging enhancements r=honzab
patch 6
2011-12-02 10:28:57 -05:00
Patrick McManus
a1df796553 bug 528288 - require spdy compliant headers to be lower case and without chunked encodings r=honzab
patch 5
2011-12-02 10:28:57 -05:00
Patrick McManus
689c7b2bfe bug 528288 - spdy settings frame parser bounds check r=honzab
patch 3
2011-12-02 10:28:57 -05:00
Patrick McManus
82c9bf6d8e bug 528222 Basic SPDY web transport support. r=honzab r=bsmith sr=biesi
patch 0
2011-12-02 10:28:56 -05:00