summaryrefslogtreecommitdiffstats
path: root/net/quic/spdy_utils.h
diff options
context:
space:
mode:
authorrch <rch@chromium.org>2015-04-18 06:29:46 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-18 13:30:40 +0000
commitc081544e054c8bd9b350f73816ccf9118b0ffe9e (patch)
treecb5ef85b4c62ae0ae5e7f51eb5bbb63fc9ea3beb /net/quic/spdy_utils.h
parent2bd42fdbfab81b645ac926bd115e2a0762426b64 (diff)
downloadchromium_src-c081544e054c8bd9b350f73816ccf9118b0ffe9e.zip
chromium_src-c081544e054c8bd9b350f73816ccf9118b0ffe9e.tar.gz
chromium_src-c081544e054c8bd9b350f73816ccf9118b0ffe9e.tar.bz2
Land Recent QUIC Changes until 04/15/2015
Introduce new QUIC tag for stateless rejects. Merge internal change: 91210526 https://codereview.chromium.org/1097573003/ Add the option to estimate bandwidth by using the max of the recent samples rather than the average. Default to true in prod. Full implementation of make-tcp-fast's windowed max over 8 RTTs to come later. Merge internal change: 90885261 https://codereview.chromium.org/1091913002/ Temporarily fix a flaky QUIC EndToEndTest until b/19572432 is fixed. Merge internal change: 90710547 https://codereview.chromium.org/1084403006/ Remove extraneous FEC interface from QuicFramer. No functional change. Merge internal change: 90653152 https://codereview.chromium.org/1092783004/ Create a new TCP cubic mode with a min CWND of 4 packets, but with a pacing rate as low as 1 packet per RTT. Merge internal change: 90646967 https://codereview.chromium.org/1097553004/ Remove common cert set 0 from QUIC. Common cert set 0 was generated 2 years ago (or so) at the inception of the QUIC project. The version of the GIA cert which it contains is expired, so the set essentially server no purpose. Common cert set 1 was generated back in July and contains a current version of GIA. Merge internal change: 90426581 https://codereview.chromium.org/1092843002/ Allow QUIC's LargePostNoPacketLoss test to have some packets lost until b/16460210 is fixed. Merge internal change: 90417911 https://codereview.chromium.org/1084323004/ Reorganize incoming packet validity checks. Most behavior unchanged, but QUIC connection requests that are flagged for time-wait and also have a not-understood version now get a version negotiation packet. Add tests to verify the various validity checks have the desired effect. Merge internal change: 90277728 https://codereview.chromium.org/1090063004/ Stop explicitly setting header fields with their default values. Pull out packet construction into a ConstructPacket method. Merge internal change: 90276965 https://codereview.chromium.org/1092833002/ Use C++11 delegate constructors to avoid constructor body duplication. Merge internal change: 90275058 https://codereview.chromium.org/1090113002/ No need to have a QuicPacketHeader member variable: it's not expensive to build, and building a new one each time ensures it doesn't contain unexpected values. Merge internal change: 90274866 https://codereview.chromium.org/1065543003/ Augment QUIC_VERSION_25 by removing unused error_details field from QuicRstStreamFrame The error field is populated, but error_details string is never used. Merge internal change: 90259315 https://codereview.chromium.org/1091863002/ Stop storing QuicSession's flow controller in a scoped_ptr. Every session has a flow controller nowadays. We never change or delete it, no longer needs to be in a scoped_ptr. Merge internal change: 90250975 https://codereview.chromium.org/1097603002/ Additional tests to verify that a connection is closed when a decryptable packet with damaged payload is processed. Add a debug logging message. Merge internal change: 90188127 https://codereview.chromium.org/1094743002/ Tidy up some comments in QuicConnection, and remove linebreak in method signature. https://codereview.chromium.org/1090073002/ Initialize all fields in the default QuicServerId constructor Fixed QuicServerId constructor to initialize all fields. Merge internal change: 90180296 https://codereview.chromium.org/1061783004/ Implement QUIC version 25 which supports SPDY/4 style header blocks. Merge internal change: 90161489 https://codereview.chromium.org/1094733002/ Remove DFATAL on double close of a QUIC connection, silent early return instead. No behavior change. This DFATAL is a relic from the old days when the code was much simpler and we could easily verify that CloseConnection wasn't being called from multiple places in the current stack. Multiple calls to CloseConnection are not dangerous. Quoting rch: "the code is significantly more complex now and reasoning about where we are in the call stack of other methods which might have also closed the connection seems really daunting." Merge internal change: 90156411 https://codereview.chromium.org/1096563002/ add a version() convenience method to ReliableQuicStream. Merge internal change: 89979074 https://codereview.chromium.org/1096493005/ deprecate --FLAGS_quic_small_default_packet_size Merge internal change: 89899060 https://codereview.chromium.org/1070393003/ Remove QUIC's ack train detection code because it's never used now that pacing is always enabled. Merge internal change: 89890425 https://codereview.chromium.org/1097533002/ Review URL: https://codereview.chromium.org/1091923002 Cr-Commit-Position: refs/heads/master@{#325772}
Diffstat (limited to 'net/quic/spdy_utils.h')
-rw-r--r--net/quic/spdy_utils.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/net/quic/spdy_utils.h b/net/quic/spdy_utils.h
index efb72a0..ac13c2e 100644
--- a/net/quic/spdy_utils.h
+++ b/net/quic/spdy_utils.h
@@ -8,6 +8,7 @@
#include <string>
#include "net/base/net_export.h"
+#include "net/quic/quic_protocol.h"
#include "net/spdy/spdy_framer.h"
namespace net {
@@ -16,8 +17,15 @@ const SpdyMajorVersion kDefaultSpdyMajorVersion = SPDY3;
class NET_EXPORT_PRIVATE SpdyUtils {
public:
+ static SpdyMajorVersion GetSpdyVersionForQuicVersion(
+ QuicVersion quic_version);
+
static std::string SerializeUncompressedHeaders(
- const SpdyHeaderBlock& headers);
+ const SpdyHeaderBlock& headers,
+ QuicVersion version);
+
+ static SpdyHeaderBlock ConvertSpdy3ResponseHeadersToSpdy4(
+ SpdyHeaderBlock response_headers);
private:
DISALLOW_COPY_AND_ASSIGN(SpdyUtils);