Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(789)

Side by Side Diff: net/quic/quic_config_test.cc

Issue 734063004: Update from https://crrev.com/304418 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/quic_config.cc ('k') | net/quic/quic_connection.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/quic_config.h" 5 #include "net/quic/quic_config.h"
6 6
7 #include "net/quic/crypto/crypto_handshake_message.h" 7 #include "net/quic/crypto/crypto_handshake_message.h"
8 #include "net/quic/crypto/crypto_protocol.h" 8 #include "net/quic/crypto/crypto_protocol.h"
9 #include "net/quic/quic_flags.h" 9 #include "net/quic/quic_flags.h"
10 #include "net/quic/quic_protocol.h" 10 #include "net/quic/quic_protocol.h"
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 TEST_F(QuicConfigTest, ProcessClientHello) { 74 TEST_F(QuicConfigTest, ProcessClientHello) {
75 QuicConfig client_config; 75 QuicConfig client_config;
76 QuicTagVector cgst; 76 QuicTagVector cgst;
77 cgst.push_back(kQBIC); 77 cgst.push_back(kQBIC);
78 client_config.SetCongestionFeedback(cgst, kQBIC); 78 client_config.SetCongestionFeedback(cgst, kQBIC);
79 client_config.SetIdleConnectionStateLifetime( 79 client_config.SetIdleConnectionStateLifetime(
80 QuicTime::Delta::FromSeconds(2 * kMaximumIdleTimeoutSecs), 80 QuicTime::Delta::FromSeconds(2 * kMaximumIdleTimeoutSecs),
81 QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs)); 81 QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs));
82 client_config.SetMaxStreamsPerConnection( 82 client_config.SetMaxStreamsPerConnection(
83 2 * kDefaultMaxStreamsPerConnection, kDefaultMaxStreamsPerConnection); 83 2 * kDefaultMaxStreamsPerConnection, kDefaultMaxStreamsPerConnection);
84 client_config.SetInitialRoundTripTimeUsToSend( 84 client_config.SetInitialRoundTripTimeUsToSend(10 * kNumMicrosPerMilli);
85 10 * base::Time::kMicrosecondsPerMillisecond);
86 client_config.SetInitialFlowControlWindowToSend( 85 client_config.SetInitialFlowControlWindowToSend(
87 2 * kInitialSessionFlowControlWindowForTest); 86 2 * kInitialSessionFlowControlWindowForTest);
88 client_config.SetInitialStreamFlowControlWindowToSend( 87 client_config.SetInitialStreamFlowControlWindowToSend(
89 2 * kInitialStreamFlowControlWindowForTest); 88 2 * kInitialStreamFlowControlWindowForTest);
90 client_config.SetInitialSessionFlowControlWindowToSend( 89 client_config.SetInitialSessionFlowControlWindowToSend(
91 2 * kInitialSessionFlowControlWindowForTest); 90 2 * kInitialSessionFlowControlWindowForTest);
92 client_config.SetSocketReceiveBufferToSend(kDefaultSocketReceiveBuffer); 91 client_config.SetSocketReceiveBufferToSend(kDefaultSocketReceiveBuffer);
93 QuicTagVector copt; 92 QuicTagVector copt;
94 copt.push_back(kTBBR); 93 copt.push_back(kTBBR);
95 copt.push_back(kFHDR); 94 copt.push_back(kFHDR);
96 client_config.SetConnectionOptionsToSend(copt); 95 client_config.SetConnectionOptionsToSend(copt);
97 CryptoHandshakeMessage msg; 96 CryptoHandshakeMessage msg;
98 client_config.ToHandshakeMessage(&msg); 97 client_config.ToHandshakeMessage(&msg);
99 string error_details; 98 string error_details;
100 const QuicErrorCode error = 99 const QuicErrorCode error =
101 config_.ProcessPeerHello(msg, CLIENT, &error_details); 100 config_.ProcessPeerHello(msg, CLIENT, &error_details);
102 EXPECT_EQ(QUIC_NO_ERROR, error); 101 EXPECT_EQ(QUIC_NO_ERROR, error);
103 EXPECT_TRUE(config_.negotiated()); 102 EXPECT_TRUE(config_.negotiated());
104 EXPECT_EQ(kQBIC, config_.CongestionFeedback()); 103 EXPECT_EQ(kQBIC, config_.CongestionFeedback());
105 EXPECT_EQ(QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs), 104 EXPECT_EQ(QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs),
106 config_.IdleConnectionStateLifetime()); 105 config_.IdleConnectionStateLifetime());
107 EXPECT_EQ(kDefaultMaxStreamsPerConnection, 106 EXPECT_EQ(kDefaultMaxStreamsPerConnection,
108 config_.MaxStreamsPerConnection()); 107 config_.MaxStreamsPerConnection());
109 EXPECT_EQ(QuicTime::Delta::FromSeconds(0), config_.KeepaliveTimeout()); 108 EXPECT_EQ(QuicTime::Delta::FromSeconds(0), config_.KeepaliveTimeout());
110 EXPECT_EQ(10 * base::Time::kMicrosecondsPerMillisecond, 109 EXPECT_EQ(10 * kNumMicrosPerMilli, config_.ReceivedInitialRoundTripTimeUs());
111 config_.ReceivedInitialRoundTripTimeUs());
112 EXPECT_TRUE(config_.HasReceivedConnectionOptions()); 110 EXPECT_TRUE(config_.HasReceivedConnectionOptions());
113 EXPECT_EQ(2u, config_.ReceivedConnectionOptions().size()); 111 EXPECT_EQ(2u, config_.ReceivedConnectionOptions().size());
114 EXPECT_EQ(config_.ReceivedConnectionOptions()[0], kTBBR); 112 EXPECT_EQ(config_.ReceivedConnectionOptions()[0], kTBBR);
115 EXPECT_EQ(config_.ReceivedConnectionOptions()[1], kFHDR); 113 EXPECT_EQ(config_.ReceivedConnectionOptions()[1], kFHDR);
116 EXPECT_EQ(config_.ReceivedInitialFlowControlWindowBytes(), 114 EXPECT_EQ(config_.ReceivedInitialFlowControlWindowBytes(),
117 2 * kInitialSessionFlowControlWindowForTest); 115 2 * kInitialSessionFlowControlWindowForTest);
118 EXPECT_EQ(config_.ReceivedInitialStreamFlowControlWindowBytes(), 116 EXPECT_EQ(config_.ReceivedInitialStreamFlowControlWindowBytes(),
119 2 * kInitialStreamFlowControlWindowForTest); 117 2 * kInitialStreamFlowControlWindowForTest);
120 EXPECT_EQ(config_.ReceivedInitialSessionFlowControlWindowBytes(), 118 EXPECT_EQ(config_.ReceivedInitialSessionFlowControlWindowBytes(),
121 2 * kInitialSessionFlowControlWindowForTest); 119 2 * kInitialSessionFlowControlWindowForTest);
122 EXPECT_EQ(config_.ReceivedSocketReceiveBuffer(), 120 EXPECT_EQ(config_.ReceivedSocketReceiveBuffer(),
123 kDefaultSocketReceiveBuffer); 121 kDefaultSocketReceiveBuffer);
124 } 122 }
125 123
126 TEST_F(QuicConfigTest, ProcessServerHello) { 124 TEST_F(QuicConfigTest, ProcessServerHello) {
127 QuicConfig server_config; 125 QuicConfig server_config;
128 QuicTagVector cgst; 126 QuicTagVector cgst;
129 cgst.push_back(kQBIC); 127 cgst.push_back(kQBIC);
130 server_config.SetCongestionFeedback(cgst, kQBIC); 128 server_config.SetCongestionFeedback(cgst, kQBIC);
131 server_config.SetIdleConnectionStateLifetime( 129 server_config.SetIdleConnectionStateLifetime(
132 QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs / 2), 130 QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs / 2),
133 QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs / 2)); 131 QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs / 2));
134 server_config.SetMaxStreamsPerConnection( 132 server_config.SetMaxStreamsPerConnection(
135 kDefaultMaxStreamsPerConnection / 2, 133 kDefaultMaxStreamsPerConnection / 2,
136 kDefaultMaxStreamsPerConnection / 2); 134 kDefaultMaxStreamsPerConnection / 2);
137 server_config.SetInitialCongestionWindowToSend(kDefaultInitialWindow / 2); 135 server_config.SetInitialRoundTripTimeUsToSend(10 * kNumMicrosPerMilli);
138 server_config.SetInitialRoundTripTimeUsToSend(
139 10 * base::Time::kMicrosecondsPerMillisecond);
140 server_config.SetInitialFlowControlWindowToSend( 136 server_config.SetInitialFlowControlWindowToSend(
141 2 * kInitialSessionFlowControlWindowForTest); 137 2 * kInitialSessionFlowControlWindowForTest);
142 server_config.SetInitialStreamFlowControlWindowToSend( 138 server_config.SetInitialStreamFlowControlWindowToSend(
143 2 * kInitialStreamFlowControlWindowForTest); 139 2 * kInitialStreamFlowControlWindowForTest);
144 server_config.SetInitialSessionFlowControlWindowToSend( 140 server_config.SetInitialSessionFlowControlWindowToSend(
145 2 * kInitialSessionFlowControlWindowForTest); 141 2 * kInitialSessionFlowControlWindowForTest);
146 server_config.SetSocketReceiveBufferToSend(kDefaultSocketReceiveBuffer); 142 server_config.SetSocketReceiveBufferToSend(kDefaultSocketReceiveBuffer);
147 CryptoHandshakeMessage msg; 143 CryptoHandshakeMessage msg;
148 server_config.ToHandshakeMessage(&msg); 144 server_config.ToHandshakeMessage(&msg);
149 string error_details; 145 string error_details;
150 const QuicErrorCode error = 146 const QuicErrorCode error =
151 config_.ProcessPeerHello(msg, SERVER, &error_details); 147 config_.ProcessPeerHello(msg, SERVER, &error_details);
152 EXPECT_EQ(QUIC_NO_ERROR, error); 148 EXPECT_EQ(QUIC_NO_ERROR, error);
153 EXPECT_TRUE(config_.negotiated()); 149 EXPECT_TRUE(config_.negotiated());
154 EXPECT_EQ(kQBIC, config_.CongestionFeedback()); 150 EXPECT_EQ(kQBIC, config_.CongestionFeedback());
155 EXPECT_EQ(QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs / 2), 151 EXPECT_EQ(QuicTime::Delta::FromSeconds(kMaximumIdleTimeoutSecs / 2),
156 config_.IdleConnectionStateLifetime()); 152 config_.IdleConnectionStateLifetime());
157 EXPECT_EQ(kDefaultMaxStreamsPerConnection / 2, 153 EXPECT_EQ(kDefaultMaxStreamsPerConnection / 2,
158 config_.MaxStreamsPerConnection()); 154 config_.MaxStreamsPerConnection());
159 EXPECT_EQ(kDefaultInitialWindow / 2,
160 config_.ReceivedInitialCongestionWindow());
161 EXPECT_EQ(QuicTime::Delta::FromSeconds(0), config_.KeepaliveTimeout()); 155 EXPECT_EQ(QuicTime::Delta::FromSeconds(0), config_.KeepaliveTimeout());
162 EXPECT_EQ(10 * base::Time::kMicrosecondsPerMillisecond, 156 EXPECT_EQ(10 * kNumMicrosPerMilli, config_.ReceivedInitialRoundTripTimeUs());
163 config_.ReceivedInitialRoundTripTimeUs());
164 EXPECT_EQ(config_.ReceivedInitialFlowControlWindowBytes(), 157 EXPECT_EQ(config_.ReceivedInitialFlowControlWindowBytes(),
165 2 * kInitialSessionFlowControlWindowForTest); 158 2 * kInitialSessionFlowControlWindowForTest);
166 EXPECT_EQ(config_.ReceivedInitialStreamFlowControlWindowBytes(), 159 EXPECT_EQ(config_.ReceivedInitialStreamFlowControlWindowBytes(),
167 2 * kInitialStreamFlowControlWindowForTest); 160 2 * kInitialStreamFlowControlWindowForTest);
168 EXPECT_EQ(config_.ReceivedInitialSessionFlowControlWindowBytes(), 161 EXPECT_EQ(config_.ReceivedInitialSessionFlowControlWindowBytes(),
169 2 * kInitialSessionFlowControlWindowForTest); 162 2 * kInitialSessionFlowControlWindowForTest);
170 EXPECT_EQ(config_.ReceivedSocketReceiveBuffer(), 163 EXPECT_EQ(config_.ReceivedSocketReceiveBuffer(),
171 kDefaultSocketReceiveBuffer); 164 kDefaultSocketReceiveBuffer);
172 } 165 }
173 166
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 EXPECT_DFATAL(config.SetInitialFlowControlWindowToSend(kInvalidWindow), 274 EXPECT_DFATAL(config.SetInitialFlowControlWindowToSend(kInvalidWindow),
282 "Initial flow control receive window"); 275 "Initial flow control receive window");
283 276
284 EXPECT_EQ(kDefaultFlowControlSendWindow, 277 EXPECT_EQ(kDefaultFlowControlSendWindow,
285 config.GetInitialFlowControlWindowToSend()); 278 config.GetInitialFlowControlWindowToSend());
286 } 279 }
287 280
288 } // namespace 281 } // namespace
289 } // namespace test 282 } // namespace test
290 } // namespace net 283 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_config.cc ('k') | net/quic/quic_connection.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698