gecko-dev/modules
Patrick McManus fcec57856d 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
..
freetype2 bug 733512 - update freetype to v2.4.9. rs=dougt 2012-03-09 16:38:09 +00:00
libbz2 Bug535369 - Compile bsdiff for host OS rather than target - r=ted.mielczarek 2010-02-19 11:58:45 -05:00
libjar Bug 711297 - add comment reading to nsZipArchive; r=taras 2012-02-22 13:45:09 -05:00
libmar Bug 735784 - Workaround for 13.0a1 users who are getting version downgrade errors. r=rstrong 2012-03-14 22:42:42 -04:00
libpref bug 603512 - large objects block pipelines r=honzab 2012-03-22 19:39:31 -04:00
zlib Bug 698248 - Remove unused FORCE_USE_PIC variable; r=khuey 2011-11-01 15:45:23 -07:00