Index: net/tools/quic/end_to_end_test.cc |
diff --git a/net/tools/quic/end_to_end_test.cc b/net/tools/quic/end_to_end_test.cc |
index 08d2e43f43499ad3a25d2a02c9f733cec7c27e7a..db3b8f9f9a8ca87c72f3212763a4d97b9e33d9b4 100644 |
--- a/net/tools/quic/end_to_end_test.cc |
+++ b/net/tools/quic/end_to_end_test.cc |
@@ -22,13 +22,13 @@ |
#include "net/quic/core/crypto/aes_128_gcm_12_encrypter.h" |
#include "net/quic/core/crypto/null_encrypter.h" |
#include "net/quic/core/quic_client_session_base.h" |
-#include "net/quic/core/quic_flags.h" |
#include "net/quic/core/quic_framer.h" |
#include "net/quic/core/quic_packet_creator.h" |
#include "net/quic/core/quic_packets.h" |
#include "net/quic/core/quic_server_id.h" |
#include "net/quic/core/quic_session.h" |
#include "net/quic/core/quic_utils.h" |
+#include "net/quic/platform/api/quic_flags.h" |
#include "net/quic/platform/api/quic_logging.h" |
#include "net/quic/platform/api/quic_ptr_util.h" |
#include "net/quic/platform/api/quic_socket_address.h" |
@@ -153,9 +153,8 @@ std::vector<TestParams> GetTestParams() { |
QuicVersionVector version_buckets[1]; |
for (const QuicVersion version : all_supported_versions) { |
- // Versions: 34+ |
- // QUIC_VERSION_34 deprecates entropy and uses new ack and stop waiting |
- // wire formats. |
+ // Versions: 35+ |
+ // QUIC_VERSION_35 allows endpoints to independently set stream limit. |
version_buckets[0].push_back(version); |
} |
@@ -634,7 +633,7 @@ TEST_P(EndToEndTest, HandshakeSuccessful) { |
ASSERT_TRUE(Initialize()); |
EXPECT_TRUE(client_->client()->WaitForCryptoHandshakeConfirmed()); |
QuicCryptoStream* crypto_stream = |
- QuicSessionPeer::GetCryptoStream(client_->client()->session()); |
+ QuicSessionPeer::GetMutableCryptoStream(client_->client()->session()); |
QuicStreamSequencer* sequencer = QuicStreamPeer::sequencer(crypto_stream); |
EXPECT_NE(FLAGS_quic_reloadable_flag_quic_release_crypto_stream_buffer, |
QuicStreamSequencerPeer::IsUnderlyingBufferAllocated(sequencer)); |
@@ -642,7 +641,7 @@ TEST_P(EndToEndTest, HandshakeSuccessful) { |
QuicDispatcher* dispatcher = |
QuicServerPeer::GetDispatcher(server_thread_->server()); |
QuicSession* server_session = dispatcher->session_map().begin()->second.get(); |
- crypto_stream = QuicSessionPeer::GetCryptoStream(server_session); |
+ crypto_stream = QuicSessionPeer::GetMutableCryptoStream(server_session); |
sequencer = QuicStreamPeer::sequencer(crypto_stream); |
EXPECT_NE(FLAGS_quic_reloadable_flag_quic_release_crypto_stream_buffer, |
QuicStreamSequencerPeer::IsUnderlyingBufferAllocated(sequencer)); |
@@ -1279,41 +1278,6 @@ TEST_P(EndToEndTest, Timeout) { |
} |
} |
-TEST_P(EndToEndTest, NegotiateMaxOpenStreams) { |
- // Negotiate 1 max open stream. |
- client_config_.SetMaxStreamsPerConnection(1, 1); |
- ASSERT_TRUE(Initialize()); |
- EXPECT_TRUE(client_->client()->WaitForCryptoHandshakeConfirmed()); |
- |
- if (negotiated_version_ > QUIC_VERSION_34) { |
- // Newer versions use max incoming dynamic streams. |
- return; |
- } |
- |
- // Make the client misbehave after negotiation. |
- const int kServerMaxStreams = kMaxStreamsMinimumIncrement + 1; |
- QuicSessionPeer::SetMaxOpenOutgoingStreams(client_->client()->session(), |
- kServerMaxStreams + 1); |
- |
- SpdyHeaderBlock headers; |
- headers[":method"] = "POST"; |
- headers[":path"] = "/foo"; |
- headers[":scheme"] = "https"; |
- headers[":authority"] = server_hostname_; |
- headers["content-length"] = "3"; |
- |
- // The server supports a small number of additional streams beyond the |
- // negotiated limit. Open enough streams to go beyond that limit. |
- for (int i = 0; i < kServerMaxStreams + 1; ++i) { |
- client_->SendMessage(headers, "", /*fin=*/false); |
- } |
- client_->WaitForResponse(); |
- |
- EXPECT_TRUE(client_->connected()); |
- EXPECT_EQ(QUIC_REFUSED_STREAM, client_->stream_error()); |
- EXPECT_EQ(QUIC_NO_ERROR, client_->connection_error()); |
-} |
- |
TEST_P(EndToEndTest, MaxIncomingDynamicStreamsLimitRespected) { |
// Set a limit on maximum number of incoming dynamic streams. |
// Make sure the limit is respected. |
@@ -1323,11 +1287,6 @@ TEST_P(EndToEndTest, MaxIncomingDynamicStreamsLimitRespected) { |
ASSERT_TRUE(Initialize()); |
EXPECT_TRUE(client_->client()->WaitForCryptoHandshakeConfirmed()); |
- if (negotiated_version_ <= QUIC_VERSION_34) { |
- // Earlier versions negotiated max open streams. |
- return; |
- } |
- |
// Make the client misbehave after negotiation. |
const int kServerMaxStreams = |
kMaxStreamsMinimumIncrement + kServerMaxIncomingDynamicStreams; |
@@ -1364,11 +1323,6 @@ TEST_P(EndToEndTest, SetIndependentMaxIncomingDynamicStreamsLimits) { |
ASSERT_TRUE(Initialize()); |
EXPECT_TRUE(client_->client()->WaitForCryptoHandshakeConfirmed()); |
- if (negotiated_version_ <= QUIC_VERSION_34) { |
- // Earlier versions negotiated max open streams. |
- return; |
- } |
- |
// The client has received the server's limit and vice versa. |
EXPECT_EQ(kServerMaxIncomingDynamicStreams, |
client_->client()->session()->max_open_outgoing_streams()); |
@@ -1409,22 +1363,6 @@ TEST_P(EndToEndTest, NegotiateCongestionControl) { |
server_thread_->Resume(); |
} |
-TEST_P(EndToEndTest, LimitMaxOpenStreams) { |
- // Server limits the number of max streams to 2. |
- server_config_.SetMaxStreamsPerConnection(2, 2); |
- // Client tries to negotiate for 10. |
- client_config_.SetMaxStreamsPerConnection(10, 5); |
- |
- ASSERT_TRUE(Initialize()); |
- EXPECT_TRUE(client_->client()->WaitForCryptoHandshakeConfirmed()); |
- if (negotiated_version_ > QUIC_VERSION_34) { |
- // No negotiated max streams beyond version 34. |
- return; |
- } |
- QuicConfig* client_negotiated_config = client_->client()->session()->config(); |
- EXPECT_EQ(2u, client_negotiated_config->MaxStreamsPerConnection()); |
-} |
- |
TEST_P(EndToEndTest, ClientSuggestsRTT) { |
// Client suggests initial RTT, verify it is used. |
const uint32_t kInitialRTT = 20000; |
@@ -1764,8 +1702,6 @@ TEST_P(EndToEndTest, DifferentFlowControlWindows) { |
// Test negotiation of IFWA connection option. |
TEST_P(EndToEndTest, NegotiatedServerInitialFlowControlWindow) { |
- FLAGS_quic_reloadable_flag_quic_large_ifw_options = true; |
- |
const uint32_t kClientStreamIFCW = 123456; |
const uint32_t kClientSessionIFCW = 234567; |
set_client_initial_stream_flow_control_receive_window(kClientStreamIFCW); |
@@ -1828,7 +1764,7 @@ TEST_P(EndToEndTest, HeadersAndCryptoStreamsNoConnectionFlowControl) { |
server_thread_->WaitForCryptoHandshakeConfirmed(); |
QuicCryptoStream* crypto_stream = |
- QuicSessionPeer::GetCryptoStream(client_->client()->session()); |
+ QuicSessionPeer::GetMutableCryptoStream(client_->client()->session()); |
EXPECT_LT( |
QuicFlowControllerPeer::SendWindowSize(crypto_stream->flow_controller()), |
kStreamIFCW); |
@@ -1879,8 +1815,10 @@ TEST_P(EndToEndTest, FlowControlsSynced) { |
ExpectFlowControlsSynced(client_session->flow_controller(), |
server_session->flow_controller()); |
ExpectFlowControlsSynced( |
- QuicSessionPeer::GetCryptoStream(client_session)->flow_controller(), |
- QuicSessionPeer::GetCryptoStream(server_session)->flow_controller()); |
+ QuicSessionPeer::GetMutableCryptoStream(client_session) |
+ ->flow_controller(), |
+ QuicSessionPeer::GetMutableCryptoStream(server_session) |
+ ->flow_controller()); |
SpdyFramer spdy_framer(SpdyFramer::ENABLE_COMPRESSION); |
SpdySettingsIR settings_frame; |
settings_frame.AddSetting(SETTINGS_MAX_HEADER_LIST_SIZE, |