gecko/netwerk
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
..
base bug 599164 pipeline with type and state r=honzab 2012-03-22 19:39:31 -04:00
build Bug 708484 - Add camera capture stream provider for gonk (temporary solution) - get camera working in webpages [r=bz] 2012-02-06 22:48:50 -08:00
cache Bug 722033 - Invalidate cache entry in nsHttpChannel::DoInvalidateCacheEntry() asynchronously 2012-03-22 23:54:20 +01:00
cookie Bug 729940 - Part 2: Stop using crappy hash functions in Gecko. r=bz 2012-03-12 18:53:18 -04:00
dns Bug 716607 - Add .pm, .wf, .yt to PSL. r=pkasting. 2012-03-20 15:04:40 +00:00
ipc Bug 622232: Cancel DNS prefetches for HTML Anchor Elems after a tab is closed; r=mcmanus sr=bz 2012-01-20 15:14:46 -08:00
locales
mime Bug 384571: RFC 2231 parameters not decoded when appearing in reversed order. r=jduell 2012-03-20 14:08:30 -07:00
protocol bug 603512 - large objects block pipelines r=honzab 2012-03-22 19:39:31 -04:00
socket bug 528288 - reland spdy after libxul weightloss a=khuey CLOSED TREE 2011-12-13 10:55:50 -05:00
streamconv Bug 711799 - Add parentheses to a bunch of && expressions nested within || expressions. r=dholbert 2011-12-18 01:00:47 -05:00
system Bug 699247 - Never call nsNotifyAddrListener's CheckAdaptersAddresses on the main thread and warn if somebody does. r=m_kato 2012-02-23 08:53:58 -06:00
test bug 597684 Implement HTTP Assoc-req and Banned Pipelines on nsHttpConnectionInfo r=honzab 2012-03-22 19:39:31 -04:00
wifi Bug 737986 - win8 dev kit fixup for win wifi includes, r=dougt 2012-03-22 09:18:43 -05:00
Makefile.in
necko-config.h.in Bug 678792 - Remove --disable-necko-disk-cache. r=khuey,jduell 2011-08-18 11:53:26 +02:00