diff options
author | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-17 17:57:01 +0000 |
---|---|---|
committer | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-17 17:57:01 +0000 |
commit | ef95114d4d73b9f561e09c4f7688b5f7c18330ba (patch) | |
tree | d8d77e0efffa6b3a0a2c392b42e94c7cf36253c9 /net/quic/quic_crypto_server_stream.h | |
parent | f467442c9e0db18557ee0e1a5060bd25827f9ed9 (diff) | |
download | chromium_src-ef95114d4d73b9f561e09c4f7688b5f7c18330ba.zip chromium_src-ef95114d4d73b9f561e09c4f7688b5f7c18330ba.tar.gz chromium_src-ef95114d4d73b9f561e09c4f7688b5f7c18330ba.tar.bz2 |
Land Recent QUIC Changes
QUIC crypto: move config objects.
Currently the client and server configs are setup and torn-down for each
connection. Since they are supposed to be per-client and per-server objects,
this change makes them parameters that are passed into the connection
Merge internal change: 44269387
QUIC crypto steps 6 and 7: per-server strike register.
This change adds a per-server strike-register that allows the server to
complete 0-RTT connections if the client has enough information cached.
Due to the fact that the per-server and per-client objects
(QuicCryptoServerConfig and QuicCryptoClientConfig) are currently setup and
torn down for each connection, there's no tests in this change for a 0-RTT
handshake because we can't do one yet. The next change will move these objects
into the right place so that 0-RTT handshakes can be tested.
This change also reminded me why I had a server nonce: without it the server
cannot terminate any connections if the strike-register fails. So the server
nonce is firmly back.
Merge internal change: 44228897
R=rch@chromium.org
Review URL: https://codereview.chromium.org/13976007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194634 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_crypto_server_stream.h')
-rw-r--r-- | net/quic/quic_crypto_server_stream.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/net/quic/quic_crypto_server_stream.h b/net/quic/quic_crypto_server_stream.h index 7841172..3e4264a 100644 --- a/net/quic/quic_crypto_server_stream.h +++ b/net/quic/quic_crypto_server_stream.h @@ -8,10 +8,14 @@ #include <string> #include "net/quic/crypto/crypto_handshake.h" +#include "net/quic/quic_config.h" #include "net/quic/quic_crypto_stream.h" namespace net { +class CryptoHandshakeMessage; +class QuicCryptoServerConfig; +class QuicNegotiatedParameters; class QuicSession; namespace test { @@ -20,6 +24,9 @@ class CryptoTestUtils; class NET_EXPORT_PRIVATE QuicCryptoServerStream : public QuicCryptoStream { public: + QuicCryptoServerStream(const QuicConfig& config, + const QuicCryptoServerConfig& crypto_config, + QuicSession* session); explicit QuicCryptoServerStream(QuicSession* session); virtual ~QuicCryptoServerStream(); @@ -35,10 +42,9 @@ class NET_EXPORT_PRIVATE QuicCryptoServerStream : public QuicCryptoStream { // config_ contains non-crypto parameters that are negotiated in the crypto // handshake. - QuicConfig config_; + const QuicConfig& config_; // crypto_config_ contains crypto parameters for the handshake. - QuicCryptoServerConfig crypto_config_; - std::string server_nonce_; + const QuicCryptoServerConfig& crypto_config_; QuicNegotiatedParameters negotiated_params_; QuicCryptoNegotiatedParameters crypto_negotiated_params_; |