Implement a QuicHeadersStream to handle reliable in-order delivery of
headers.
Changes the way headers are delivered in QUIC from being the first bytes
on a stream, to being delivered as SPDY SYN_STREAM/SYN_REPLY frames on
a dedicated headers stream. This also creates QUIC_VERSION_13. Since
the intra-stream serialization format changes, it is not possible for a
client to handle a version negotiation across this boundary.
Merge internal change: 58313427
[email protected]
Review URL: https://codereview.chromium.org/116513003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241682 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/quic/test_tools/quic_test_utils.cc b/net/quic/test_tools/quic_test_utils.cc
index d85f92f..1cf7e7b9 100644
--- a/net/quic/test_tools/quic_test_utils.cc
+++ b/net/quic/test_tools/quic_test_utils.cc
@@ -262,6 +262,17 @@
helper_(helper()) {
}
+MockConnection::MockConnection(bool is_server,
+ const QuicVersionVector& supported_versions)
+ : QuicConnection(kTestGuid,
+ IPEndPoint(Loopback4(), kTestPort),
+ new testing::NiceMock<MockHelper>(),
+ new testing::NiceMock<MockPacketWriter>(),
+ is_server, supported_versions),
+ writer_(QuicConnectionPeer::GetWriter(this)),
+ helper_(helper()) {
+}
+
MockConnection::~MockConnection() {
}
@@ -273,6 +284,12 @@
: MockConnection(is_server) {
}
+PacketSavingConnection::PacketSavingConnection(
+ bool is_server,
+ const QuicVersionVector& supported_versions)
+ : MockConnection(is_server, supported_versions) {
+}
+
PacketSavingConnection::~PacketSavingConnection() {
STLDeleteElements(&packets_);
STLDeleteElements(&encrypted_packets_);
@@ -512,6 +529,12 @@
return config;
}
+QuicVersionVector SupportedVersions(QuicVersion version) {
+ QuicVersionVector versions;
+ versions.push_back(version);
+ return versions;
+}
+
bool TestDecompressorVisitor::OnDecompressedData(StringPiece data) {
data.AppendToString(&data_);
return true;