Landing Recent QUIC changes until 12/18/2015 13:57 UTC

relnote: Replace last remaining NULLs in gfe/quic with nullptr. No behavior change.

Merge internal change: 110570650
https://codereview.chromium.org/1542753004/

relnote: Add PushResponse() in QuicSimpleServerStream.

Merge internal change: 110554875
https://codereview.chromium.org/1545793002/

relnote: Adding details to most quic connection close calls.

This is a precursor to removing CloseConnection[without details] entirely.
This is so we can to be able disambiguate various causes of specific error codes when logging them server side.  We can always add more details where useful at a later point.

Merge internal change: 110546286
https://codereview.chromium.org/1548783002/

relnote: Add path_id to QuicSentPacketManager and QuicSentPacketManager::PendingRetransmission. No functional change.

Merge internal change: 110540464
https://codereview.chromium.org/1542773004/

relnote: Add class QuicMultipathReceivedPacketManager (not in use currently).

Merge internal change: 110454683
https://codereview.chromium.org/1548703002/

relnote: If the user supplied a request body in hex, print response body in hex as well. In addition, convert hex in both cases to printable ASCII characters where possible.

Example output:

Request:
headers:
{
  :authority:test.example.com
  :path:/net.grpc.examples.QuicGreeter/SayHello
  :scheme:http
  :method:POST
  te:trailers
  grpc-encoding:identity
  grpc-accept-encoding:identity,deflate,gzip
  content-type:application/grpc
  user-agent:grpc-c++/0.12.0.0 grpc-c/0.12.0.0 (linux)
}
body hex:   00000000070a05776f726c64
body ascii:  . . . . . . . w o r l d

Response:
headers:
 HTTP/1.1 200 OK
 grpc-encoding: identity
 grpc-accept-encoding: identity,deflate,gzip
 content-type: application/grpc

body hex:   0a0b48656c6c6f20776f726c64
body ascii:  . . H e l l o   w o r l d
trailers:
{
  grpc-status:0
}

Request succeeded (200).

Merge internal change: 110446931
https://codereview.chromium.org/1545703002/

relnote: Drop not awaited packets before decrypt them.

Merge internal change: 110403572
https://codereview.chromium.org/1546633002/

relnote: Add path_id to SerializedPacket. No functional change.

Merge internal change: 110393215
https://codereview.chromium.org/1542123002/

relnote: Drop packets which are larger than kMaxPacketSize, instead of closing the connection with QUIC_PACKET_TOO_LARGE. Not flag protected.

Merge internal change: 110290154
https://codereview.chromium.org/1543703002/

relnote: Adds a DCHECK that the host argument to QuicInMemoryCache::AddResponse is not empty. An empty host works fine in google3, but breaks tests in Chromium for $reasons.

Merge internal change: 110286048
https://codereview.chromium.org/1544563002/

relnote: Delete unused methods in QuicServerSession

Merge internal change: 110254138
https://codereview.chromium.org/1539333003/

relnote: If message body specified with --body_hex then print out the user provided
string rather than the binary body.

Merge internal change: 110244865
https://codereview.chromium.org/1538373002/

[email protected]

Review URL: https://codereview.chromium.org/1541263002

Cr-Commit-Position: refs/heads/master@{#366986}
diff --git a/net/quic/test_tools/quic_test_utils.cc b/net/quic/test_tools/quic_test_utils.cc
index 2f82c41..ba2bb613 100644
--- a/net/quic/test_tools/quic_test_utils.cc
+++ b/net/quic/test_tools/quic_test_utils.cc
@@ -758,6 +758,11 @@
 
 MockQuicConnectionDebugVisitor::~MockQuicConnectionDebugVisitor() {}
 
+MockReceivedPacketManager::MockReceivedPacketManager(QuicConnectionStats* stats)
+    : QuicReceivedPacketManager(stats) {}
+
+MockReceivedPacketManager::~MockReceivedPacketManager() {}
+
 void CreateClientSessionForTest(QuicServerId server_id,
                                 bool supports_stateless_rejects,
                                 QuicTime::Delta connection_start_time,