summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_crypto_server_stream.h
diff options
context:
space:
mode:
authorrtenneti <rtenneti@chromium.org>2015-06-03 19:31:44 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-04 02:32:13 +0000
commita4228eab304c9d379d0235682a7701c7e36029e5 (patch)
tree0705076cdb38075930422c4f9eca53786fa7ed84 /net/quic/quic_crypto_server_stream.h
parent8da589acbe17b327b69abbece0c1c36a1a3b1f65 (diff)
downloadchromium_src-a4228eab304c9d379d0235682a7701c7e36029e5.zip
chromium_src-a4228eab304c9d379d0235682a7701c7e36029e5.tar.gz
chromium_src-a4228eab304c9d379d0235682a7701c7e36029e5.tar.bz2
Landing Recent QUIC changes until 06/01/2015.
Fix QUIC tests not to use stream ID 3. Stream ID 3 is reserver for headers, but some tests were using it for data stream. Fixed them to use stream ID 5. relnote: test cleanup: don't use stream ID 3 for data streams in tests. Merge internal change: 94937344 https://codereview.chromium.org/1162263010/ relnote: Added FEC send policy to send FEC packet when FEC group is closed or when FEC timer goes off (same as the current code). This is the default policy. Thus this change doesn't change current behavior. Added a new policy to send FEC only when FEC timer goes off. This policy is not enabled in the code. When FEC group is closed (or reset) because of the new policy, packet_generator calls delgate's OnResetFecGroup. Implementation of this method in QuicConnection cancel's the FEC timer (because there is no FEC packet outstanding). Changed packet generator's unittests to run when each policy is enabled. Merge internal change: 94774277 https://codereview.chromium.org/1145893012/ relnote: Low risk. Add non-varz counter for CHLOs with server nonces. Added support to the QuicCryptoServerStream for the number of handshake messages that contain server nonces. Previously, this class was just counting handshake messages, irregardless of server nonces. If encryption was established with just one handshake message, the jetstream session would conclude this was a 0-RTT connection. Unfortunately, when stateless rejects come into play, the first handshake after an SREJ will cause encryption to be established in a single handshake. However, this should not be counted as a 0-RTT connection. The solution is to separately keep track of handshake messages that contain server nonces. If a connection is established in one handshake and contains a server-nonce, it is NOT a 0-RTT connection. Added support to the crypto stream tests as well. Merge internal change: 94767471 https://codereview.chromium.org/1158073004/ Add QUIC connection options for IW3, 20, and 50 for initial CWND experiments. Merge internal change: 94763199 https://codereview.chromium.org/1159113004/ relnote: Low risk. Changed some incorrect documentation in quic_crypto_server_config.h The following is the internal message: Add varz for counting crypto handshake reject messages. Added two new varz for keeping track of REJ/SREJ messages sent. Whenever the server processes a client hello, it now checks the crypto result. If the result is some kind of REJ/SREJ message, it now increments the appropriate varz. The tests for these varz will be included in a forthcoming CL that includes the end_to_end_test and adds support for stateless rejects at the server. Changed some incorrect documentation in quic_crypto_server_config.h Merge internal change: 94762526 https://codereview.chromium.org/1162433007/ relnote: Minor simplification of QUIC's AeadBaseDecrypter. Made the corresponding changes from internal code to NSS and OpenSSL implementations. Merge internal change: 94586771 https://codereview.chromium.org/1152173016/ relnote: Merge QuicEncrypter's Encrypt into EncryptPacket and avoid an extra allocation and copy in NullEncrypter. No functional change. Merge internal change: 94569655 https://codereview.chromium.org/1164803004/ relnote: Remove an unnecessary virtual method from the QuicEncrypter interface. No functional change. More cleanup and optimization to follow. Merge internal change: 94539011 https://codereview.chromium.org/1160263004/ Update quic_client_bin.cc to use the correct hostname (not IP) in the ServerID. Merge internal change: 94480774 https://codereview.chromium.org/1152623007/ relnote: Remove obsolete QuicStreamFrame constructor. No functional change. Merge internal change: 94293525 https://codereview.chromium.org/1168443002/ relnote: Simplify the creation of QuicStreamFrame by directly constructing the buffer and wrapping it in an IOVector. Eliminates extra creation of temporary IOVectors and saves a copy in GetStreamData::GetDataAsString. Estimated to save 2% of CPU. Merge internal change: 94214497 https://codereview.chromium.org/1157403008/ R=rch@chromium.org Review URL: https://codereview.chromium.org/1152923007 Cr-Commit-Position: refs/heads/master@{#332769}
Diffstat (limited to 'net/quic/quic_crypto_server_stream.h')
-rw-r--r--net/quic/quic_crypto_server_stream.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/net/quic/quic_crypto_server_stream.h b/net/quic/quic_crypto_server_stream.h
index 27f6f95..0a1a61a 100644
--- a/net/quic/quic_crypto_server_stream.h
+++ b/net/quic/quic_crypto_server_stream.h
@@ -68,6 +68,10 @@ class NET_EXPORT_PRIVATE QuicCryptoServerStream : public QuicCryptoStream {
uint8 num_handshake_messages() const { return num_handshake_messages_; }
+ uint8 num_handshake_messages_with_server_nonces() const {
+ return num_handshake_messages_with_server_nonces_;
+ }
+
int num_server_config_update_messages_sent() const {
return num_server_config_update_messages_sent_;
}
@@ -167,6 +171,11 @@ class NET_EXPORT_PRIVATE QuicCryptoServerStream : public QuicCryptoStream {
// Number of handshake messages received by this stream.
uint8 num_handshake_messages_;
+ // Number of handshake messages received by this stream that contain
+ // server nonces (indicating that this is a non-zero-RTT handshake
+ // attempt).
+ uint8 num_handshake_messages_with_server_nonces_;
+
// Number of server config update (SCUP) messages sent by this stream.
int num_server_config_update_messages_sent_;