Land Recent QUIC Changes.

QUIC - manually sync'ing changes between chrome and internal source
code.

Refactorings to QuicCryptoServerConfig to allow for async quic client
hello validation.

Merge internal change: 56375103

- Remove the QuicConnectionPeer::GetCongestionManager method (can call
  QuicConnection()::congestion_manager() directly now).
- Update a bunch of CongestionManager/SendAlgorithm methods to be const.

Merge internal change: 56361306

Change the QuicDispatcher to immediately put packets in time wait when
there is no version negotiation packet, instead of creating a new
session.

Merge internal change: 56353674

Add a new PacingSender which can be used to add pacing on top of an
existing QUIC sender.

Merge internal change: 56183480

Move StrikeRegisterClient to gfe/quic/crypto, so that
QuicCryptoServerConfig can depend on it. Implement a
StrikeRegisterClient that queries a local StrikeRegister.

See internal CL 56173502 for use cases.

Merge internal change: 56316281

[email protected]

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235976 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/quic/quic_protocol.h b/net/quic/quic_protocol.h
index 2520584..04cd830 100644
--- a/net/quic/quic_protocol.h
+++ b/net/quic/quic_protocol.h
@@ -436,9 +436,12 @@
   QUIC_CRYPTO_SERVER_CONFIG_EXPIRED = 45,
   // We failed to setup the symmetric keys for a connection.
   QUIC_CRYPTO_SYMMETRIC_KEY_SETUP_FAILED = 53,
+  // A handshake message arrived, but we are still validating the
+  // previous handshake message.
+  QUIC_CRYPTO_MESSAGE_WHILE_VALIDATING_CLIENT_HELLO = 54,
 
   // No error. Used as bound while iterating.
-  QUIC_LAST_ERROR = 54,
+  QUIC_LAST_ERROR = 55,
 };
 
 struct NET_EXPORT_PRIVATE QuicPacketPublicHeader {