From b867702268009cc8d2be5c67559a1f10e55ee45d Mon Sep 17 00:00:00 2001 From: zhongyi Date: Mon, 30 Nov 2015 21:51:30 -0800 Subject: Landing Recent QUIC changes until and including Mon Nov 23 17:03:24. Set validate_client_hello_cb_ to nullptr after cancellation. Protected by default enabled --quic_set_client_hello_cb_nullptr Merge internal change: 108506727 https://codereview.chromium.org/1481673002/ n/a (QUIC test server code) SendReponse() now checks response :status to be valid http/2 response status (integer) before proceeding; Merge internal change: 108359314 https://codereview.chromium.org/1480793002/ n/a(add new unused interfaces to QuicInMemoryCache) Add more members to QuicInMemoryCache to support server push. Currently I added a multimap to keep the association between request and push resources. And also added two public methods to add response which has server push resources and to get these resources with request. Merge internal change: 108138965 https://codereview.chromium.org/1479443003 Deprecate --quic_fix_fin_accounting Merge internal change: 108509430 https://codereview.chromium.org/1478893002/ Pretty-print QUIC RREJ tag values as a list of enum strings instead of a blob of hex. Merge internal change: 108500935 https://codereview.chromium.org/1479663002/ Move packet header validation checking into ProcessValidatedPacket. Only migrates connection if peer address change and this packet can be handled. Merge internal change: 108420190 https://codereview.chromium.org/1477013002/ Combine OnSynStream and OnSynReply into a single OnHeaders method. No behavior change. Also fixes comments that refer to SYN_STREAM and SYN_REPLY. Merge internal change: 108368234 https://codereview.chromium.org/1476093002/ Reserve 2 entries in the frames held in QUIC's RetransmittableFrames. No functional change. Saves 1% of CPU in the local loadtest in new and delete. Merge internal change: 108356497 https://codereview.chromium.org/1475913002/ Add a new QUIC connection option, kACKD, allowing QUIC to ack less frequently. Flag protected by quic_ack_decimation. Merge internal change: 108337600 https://codereview.chromium.org/1465223005/ Protected by --quic_connection_options_to_transport_stats. Merge internal change: 108265760 https://codereview.chromium.org/1474943002/ Pass StringPiece by value rather than reference in QUIC NullDecrypter. Merge internal change: 108252135 https://codereview.chromium.org/1473633003/ Deprecate --allow_many_available_streams DELTA_BY_EXTENSION=cc=35,cfg=6 Merge internal change: 108244052 https://codereview.chromium.org/1472083004/ deprecating quic_implement_stop_reading Merge internal change: 108241751 https://codereview.chromium.org/1473243004/ Refactor to break QUIC's ack queueing in to a separate method, no functional change. Merge internal change: 108171697 https://codereview.chromium.org/1470393003/ renaming SPDY priorities for clarity Merge internal change: 108141573 https://codereview.chromium.org/1474933002/ Refactor of QUIC ack code and minor change to current behavior by sending an ack immediately when 20 packets are received instead of setting the alarm. This refactor will make it easier to change the acking policy in future CLs via a connection option. Merge internal change: 108134651 https://codereview.chromium.org/1481463002/ Isolate most FEC logic in QuicPacketCreator. No functional change expected. QuicPacketGenerator: Add OnFecGroupReset. Move MaybeStartFecProtection, MaybeSendFecPacketAndCloseGroup, fec_send_policy_, fec_timeout_, rtt_multiplier_for_fec_timeout_, should_fec_protect_ to Creator. Remove ResetFecGroup, ShouldSendFecPacket. QuicPacketCreator: Add OnResetFecGroup to Delegate. Add OnRttChange, GetFecTimeout. Remove IsFecEnabled, IsFecProtected, fec_group_number(). Move StartFecProtectingPackets, StopFecProtectingPackets, ShouldSendFec, ResetFecGroup from public to private. Merge internal change: 108084786 https://codereview.chromium.org/1472263002/ Use public flags 0x40 bit as PUBLIC_FLAG_MULTIPATH, indicating whether a 1-byte QuicPathId is presented in packet header. QuicFrame can write and process this flag and the path id. Merge internal change: 108080231 https://codereview.chromium.org/1470113004/ Reset rtt estimates and TCP cubic congestion control on connection migrations which are not caused by NATs. Merge internal change: 108078794 https://codereview.chromium.org/1473803002/ BUG= Review URL: https://codereview.chromium.org/1485963002 Cr-Commit-Position: refs/heads/master@{#362359} --- net/quic/test_tools/quic_test_utils.cc | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'net/quic/test_tools/quic_test_utils.cc') diff --git a/net/quic/test_tools/quic_test_utils.cc b/net/quic/test_tools/quic_test_utils.cc index 380a487a..f46419b 100644 --- a/net/quic/test_tools/quic_test_utils.cc +++ b/net/quic/test_tools/quic_test_utils.cc @@ -329,15 +329,15 @@ TestQuicSpdyServerSession::TestQuicSpdyServerSession( QuicConnection* connection, const QuicConfig& config, const QuicCryptoServerConfig* crypto_config) - : QuicSpdySession(connection, config) { - crypto_stream_.reset(new QuicCryptoServerStream(crypto_config, this)); + : QuicServerSession(config, connection, &visitor_, crypto_config) { Initialize(); } TestQuicSpdyServerSession::~TestQuicSpdyServerSession() {} QuicCryptoServerStream* TestQuicSpdyServerSession::GetCryptoStream() { - return crypto_stream_.get(); + return static_cast( + QuicServerSession::GetCryptoStream()); } TestQuicSpdyClientSession::TestQuicSpdyClientSession( @@ -655,7 +655,8 @@ size_t GetPacketLengthForOneStream(QuicVersion version, NullEncrypter().GetCiphertextSize( QuicFramer::GetMinAckFrameSize(PACKET_1BYTE_PACKET_NUMBER)) + GetPacketHeaderSize(connection_id_length, include_version, - packet_number_length, is_in_fec_group); + /*include_path_id=*/false, packet_number_length, + is_in_fec_group); if (stream_length < ack_length) { *payload_length = 1 + ack_length - stream_length; } @@ -756,6 +757,7 @@ MockQuicConnectionDebugVisitor::~MockQuicConnectionDebugVisitor() {} void CreateClientSessionForTest(QuicServerId server_id, bool supports_stateless_rejects, QuicTime::Delta connection_start_time, + QuicVersionVector supported_versions, MockConnectionHelper* helper, QuicCryptoClientConfig* crypto_client_config, PacketSavingConnection** client_connection, @@ -770,8 +772,8 @@ void CreateClientSessionForTest(QuicServerId server_id, QuicConfig config = supports_stateless_rejects ? DefaultQuicConfigStatelessRejects() : DefaultQuicConfig(); - *client_connection = - new PacketSavingConnection(helper, Perspective::IS_CLIENT); + *client_connection = new PacketSavingConnection( + helper, Perspective::IS_CLIENT, supported_versions); *client_session = new TestQuicSpdyClientSession( *client_connection, config, server_id, crypto_client_config); (*client_connection)->AdvanceTime(connection_start_time); @@ -779,6 +781,7 @@ void CreateClientSessionForTest(QuicServerId server_id, void CreateServerSessionForTest(QuicServerId server_id, QuicTime::Delta connection_start_time, + QuicVersionVector supported_versions, MockConnectionHelper* helper, QuicCryptoServerConfig* server_crypto_config, PacketSavingConnection** server_connection, @@ -790,8 +793,8 @@ void CreateServerSessionForTest(QuicServerId server_id, << "Connections must start at non-zero times, otherwise the " << "strike-register will be unhappy."; - *server_connection = - new PacketSavingConnection(helper, Perspective::IS_SERVER); + *server_connection = new PacketSavingConnection( + helper, Perspective::IS_SERVER, supported_versions); *server_session = new TestQuicSpdyServerSession( *server_connection, DefaultQuicConfig(), server_crypto_config); -- cgit v1.1