Commit Graph

2325 Commits

Author SHA1 Message Date
Brian Smith
f42d995a14 Bug 742610 - Remove opportunistic caching support from nsHttpChannel, r=honzab
--HG--
extra : source : 8b98023b89ddef6e7b0bbed25463c68142877d8e
2012-04-05 00:14:35 -07:00
Patrick McManus
541629f9a6 bug 742827 - fix problem with landing of bug 671591 r=honzab 2012-04-05 18:37:57 -04:00
Daniel Holbert
959af08a05 backout 118c07dc56f9 (bug 742179) for windows build bustage 2012-04-05 10:56:10 -07:00
Doug Turner
7a33df3fb0 Bug 742179 - Move MakeRandomString to xpcom/ds. r=bsmedberg 2012-04-05 09:50:55 -07:00
Brian Smith
9ae70b601b Bug 736903: nsHttpChannel wraps the aOffset value it passes to its stream listener instead of clamping it, r=cbiesinger
--HG--
extra : rebase_source : 28bc8bdddea0cac6a41482920d059b523197ef03
2012-04-04 18:57:22 -07:00
Brian Smith
afd8019c8a Bug 736895: Suppress warning warning C4355: 'this' : used in base member initializer list in nsHttpChannel::nsHttpChannel, r=cbiesinger
--HG--
extra : rebase_source : bbcacf34a97671cb4750888a2468f6563c52b99a
2012-04-04 18:55:21 -07:00
Brian Smith
aea9246fea Bug 736887: Fix compiler warning in nsHttpChannel.cpp: warning C4244: 'argument' : conversion from 'double' to 'PRTime', possible loss of data, r=cbiesinger
--HG--
extra : rebase_source : 7c100821353b77133108e08f6bf0fd53195c0f9a
2012-04-04 18:54:03 -07:00
Patrick McManus
1a02517634 bug 739023 nightly crash in nshttpchannel::OnDataAvailable() from Restart r=honzab
--HG--
extra : rebase_source : ccb196fc38394d9ef5e0a4bdf51ea714a57e7224
2012-04-04 21:19:20 -04:00
Patrick McManus
a48adf407a bug 741056 - nightly crash https sites with authenticated proxy r=honzab 2012-04-04 09:39:21 -04:00
Veeraya Pupatwibul
26e9a6a204 Bug 741333 - Remove PRBool/PR_TRUE/PR_FALSE that crept in r=Ms2ger 2012-04-04 11:15:10 +02:00
Ryan VanderMeulen
8a1ce69485 Backout 17deb5f61b4d (bug 150073) due to build bustage. a=shouldausedtryfirst 2012-04-03 20:22:42 -04:00
Shriram Kunchanapalli
a0a99e8f8a Bug 150073 - Remove nsCRT:: in nsCRT::strlen. f=sgautherie, r=dougt 2012-02-18 19:17:01 +05:30
Patrick McManus
ba0bc6694b bug 739617 - cannot upload large files r=honzab
--HG--
extra : rebase_source : 5ea85a021233cf79a539980efc859a2d5372fe53
2012-04-02 20:36:11 -04:00
Ryan VanderMeulen
ab3afe63c5 Backout bug 674728 part 3 due to missing reviews. 2012-03-31 18:18:08 -04:00
Sinker Li
e655e3b281 Bug 674728 - Part 3: Evict cache asynchronized. r=honzab 2012-03-30 20:52:07 -04:00
Sinker Li
571cafb2af Bug 674728 - Part 2: Testcase for pinned application caches. r=honzab 2012-03-30 20:52:07 -04:00
Sinker Li
16dba2c671 Bug 674728 - Part 1: Pinned apps get higher priority for cache. r=honzab 2012-03-30 20:52:06 -04:00
Nick Hurley
44b99508e8 bug 712914 - add some sanity checking when (de)serializing security info in the disk cache. r=michal 2012-03-30 11:21:01 +02:00
Patrick McManus
f6ed4d905f Bug 739023 - Disabling the Restart-in-progess logic temporarily since suspected of causing crashes, r=honzab 2012-03-30 00:40:42 +02:00
Michal Novotny
0a86986633 Bug 649194 - Abort when the cache IO thread can't be created 2012-03-27 10:20:54 +02:00
Michael Wu
2f526bb0dd Bug 737196 - Make camera code build on gonk-ics, r=cjones 2012-03-23 15:45:47 -04:00
Ms2ger
0ef036839c No bug - Remove always-true comparison. 2012-03-24 09:18:09 +01:00
Patrick McManus
083437c9ff 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
31504a7ee5 bug 717350 doom cache entry on last-modified mismatch r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
bd0154c665 bug 671591 - restart partial http transaction (in progress) r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
cca184acac 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
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
a034a9d50a bug 665885 respect keepalive: "max=" attribute r=honzab 2012-03-22 19:39:31 -04:00
Patrick McManus
8d78fbf9c8 bug 737155 - httpconnectionmgr::processPendingQ allow more than 1 with pipeline r=honzab 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
10d7ced8a4 bug 447866 - patch pre.1 for empty nsHttpPipeline::TakeSubTransactions r=honzab
--HG--
extra : rebase_source : 5c21007525883fc74dc70332cf74d8d0bacd9147
2012-03-22 19:39:28 -04:00
Michal Novotny
2e1c0f11ff Bug 722033 - Invalidate cache entry in nsHttpChannel::DoInvalidateCacheEntry() asynchronously 2012-03-22 23:54:20 +01:00
Michal Novotny
90373c46db Bug 722033 - Use asyncOpenCacheEntry() in nsHttpChannel::OpenOfflineCacheEntryForWriting() 2012-03-22 23:53:55 +01:00
Michal Novotny
59959982fc Bug 722033 - Use asyncOpenCacheEntry() in nsHttpChannel when flag LOAD_BYPASS_LOCAL_CACHE_IF_BUSY is set 2012-03-22 23:53:10 +01:00
Henri Sivonen
3dfb9fb844 Bug 737417 part 1 - Split charset source constants out of nsIParser.h. r=smaug. 2012-03-22 16:42:42 +02:00
Jim Mathies
4c2a25f437 Bug 737986 - win8 dev kit fixup for win wifi includes, r=dougt 2012-03-22 09:18:43 -05:00
julian.reschke@gmx.de
2cf0629cb1 Bug 714302: add suport for HTTP status code 308 r=mcmanus
--HG--
extra : rebase_source : 2e4a46ac5ebe89a36fb4b12b1985d07d674db5e8
2012-03-21 16:13:42 -04:00
julian.reschke@gmx.de
db53688a39 Bug 384571: RFC 2231 parameters not decoded when appearing in reversed order. r=jduell 2012-03-20 14:08:30 -07:00
Matt Brubeck
b1e708752d Back out 1bbe7ea3a01e through 672cc4ee2dd9 because of mochitest-browser-chrome leaks 2012-03-20 12:53:10 -07:00
Patrick McManus
e9dedc0c35 bug 717759 - negative pipeline feedback on img decode problem r=bz r=jdrew r=honzab
--HG--
extra : rebase_source : cb9795b5442102a777602f59c225ab9572e06cea
2012-03-20 13:11:32 -04:00
Patrick McManus
ace7949788 bug 717350 doom cache entry on last-modified mismatch r=honzab
--HG--
extra : rebase_source : 5c8692c94bf7e5dcb2d381a85e06bddbabffe22c
2012-03-20 13:11:32 -04:00
Patrick McManus
87998226b0 bug 671591 - restart partial http transaction (in progress) r=honzab
--HG--
extra : rebase_source : 9f71e1803e25c10f6be5f48f324eb47fa8d707c3
2012-03-20 13:11:32 -04:00
Patrick McManus
e691465ad1 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.

--HG--
extra : rebase_source : 58377c9eab2f8a81b7a2d3b9a5f12e1134da4031
2012-03-20 13:11:32 -04:00
Patrick McManus
feb108ee8d 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).

--HG--
extra : rebase_source : ebc44f8dfc3fa7bcee613ff3b74269d908ceac51
2012-03-20 13:11:32 -04:00
Patrick McManus
f9d6e896ee bug 665885 respect keepalive: "max=" attribute r=honzab
--HG--
extra : rebase_source : ce4009c19bb786388338778d594ca8038a4398c1
2012-03-20 13:11:32 -04:00
Patrick McManus
800ed54ae5 bug 737155 - httpconnectionmgr::processPendingQ allow more than 1 with pipeline r=honzab
--HG--
extra : rebase_source : 94c50c125fc66c9d5b4389e20b0187ee40c2e315
2012-03-20 13:11:32 -04:00
Patrick McManus
85224929d2 bug 599164 pipeline with type and state r=honzab
--HG--
extra : rebase_source : b060665a1726eab3e3ef0ab0d94c34cfea5c1460
2012-03-20 13:11:32 -04:00
Patrick McManus
7200e2b607 bug 597684 Implement HTTP Assoc-req and Banned Pipelines on nsHttpConnectionInfo r=honzab
--HG--
extra : rebase_source : 26243e1af9e0554553520dae435cc4dcfd551746
2012-03-20 13:11:32 -04:00