summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_crypto_server_stream.h
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-17 17:57:01 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-17 17:57:01 +0000
commitef95114d4d73b9f561e09c4f7688b5f7c18330ba (patch)
treed8d77e0efffa6b3a0a2c392b42e94c7cf36253c9 /net/quic/quic_crypto_server_stream.h
parentf467442c9e0db18557ee0e1a5060bd25827f9ed9 (diff)
downloadchromium_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.h12
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_;