diff options
author | rtenneti <rtenneti@chromium.org> | 2015-03-02 22:36:50 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-03 06:37:36 +0000 |
commit | ae5ac43d4e570358d18b94e9007283078ee7c456 (patch) | |
tree | cf44aff521cae270ed43801bd3c0a74227b9b1a0 /net/tools | |
parent | 3f9cbd3ae7b8d2ac0c87aabbc03425d56d8a917b (diff) | |
download | chromium_src-ae5ac43d4e570358d18b94e9007283078ee7c456.zip chromium_src-ae5ac43d4e570358d18b94e9007283078ee7c456.tar.gz chromium_src-ae5ac43d4e570358d18b94e9007283078ee7c456.tar.bz2 |
Land Recent QUIC Changes until 03/02/2015.
CL generated with data from dead-code analysis using
.../scythe:remove_dead_code #codehealth
Merge internal change: 87564533
https://codereview.chromium.org/973683003/
Change QUIC's PrrSender::TimeUntilSend to accept bytes instead of
packets. No functional change.
Merge internal change: 87535917
https://codereview.chromium.org/972033002/
Discard acks from QUIC's UnackedPacketMap when the map is larger than
one half of its max size(2500). Was previously 200.
Merge internal change: 87419283
https://codereview.chromium.org/977453002/
Remove TCP and BBR's max congestion window. No practical change,
because Chrome's receive window is the limiting factor.
Adds kMaxReportedCwnd and kMaxReorderingForRtt as constants to replace
the max CWND in classes that used to rely on max CWND.
Merge internal change: 87346681
https://codereview.chromium.org/968923005/
Minor simplification to QuicSentPacketManager::PendingRetransmission.
No functional change.
Merge internal change: 87254408
https://codereview.chromium.org/969153002/
Log the QUIC SRBF (socket receive buffer size) as an int instead of
hex value.
Merge internal change: 87247898
https://codereview.chromium.org/974593002/
Minimally test a few things to keep them from Scythe. test-only change.
Merge internal change: 87171236
https://codereview.chromium.org/971493003/
Deprecate FLAGS_quic_limit_time_wait_list_size.
Merge internal change: 87059868
https://codereview.chromium.org/968323002/
CL generated with data from dead-code analysis using
.../scythe:remove_dead_code #codehealth
Merge internal change: 86999211
https://codereview.chromium.org/974563002/
Remove unused ability to disable flow control in QUIC
QuicFlowController::Disable() is no longer called. It was used when we
disabled flow control for the headers and crypto streams, and for old
versions which did not support connection level flow control. Now that
we are on QUIC_VERSION_23, we now use flow control on all streams and
all connections, so this is safe to remove.
Thanks to tgreer@ for the scythe code removal in cl/86835556, and
alyssar@ for noticing that the removal of the dead
QuicFlowController:Disable() meant we could remove substantially more in
this CL.
Merge internal change: 86960342
https://codereview.chromium.org/969053004/
Remove unnecessary virtual CreateQuicConnection method.
Merge internal change: 86947282
https://codereview.chromium.org/972783002/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/968233004
Cr-Commit-Position: refs/heads/master@{#318846}
Diffstat (limited to 'net/tools')
-rw-r--r-- | net/tools/quic/quic_dispatcher.cc | 25 | ||||
-rw-r--r-- | net/tools/quic/quic_dispatcher.h | 10 | ||||
-rw-r--r-- | net/tools/quic/quic_packet_writer_wrapper.cc | 4 | ||||
-rw-r--r-- | net/tools/quic/quic_packet_writer_wrapper.h | 3 | ||||
-rw-r--r-- | net/tools/quic/quic_server.h | 4 | ||||
-rw-r--r-- | net/tools/quic/quic_server_session_test.cc | 6 | ||||
-rw-r--r-- | net/tools/quic/quic_time_wait_list_manager.cc | 38 | ||||
-rw-r--r-- | net/tools/quic/quic_time_wait_list_manager_test.cc | 1 | ||||
-rw-r--r-- | net/tools/quic/test_tools/packet_dropping_test_writer.h | 1 | ||||
-rw-r--r-- | net/tools/quic/test_tools/quic_dispatcher_peer.cc | 11 | ||||
-rw-r--r-- | net/tools/quic/test_tools/quic_dispatcher_peer.h | 6 |
11 files changed, 18 insertions, 91 deletions
diff --git a/net/tools/quic/quic_dispatcher.cc b/net/tools/quic/quic_dispatcher.cc index 8f19cf4..9921940 100644 --- a/net/tools/quic/quic_dispatcher.cc +++ b/net/tools/quic/quic_dispatcher.cc @@ -372,28 +372,17 @@ QuicSession* QuicDispatcher::CreateQuicSession( QuicConnectionId connection_id, const IPEndPoint& server_address, const IPEndPoint& client_address) { - QuicServerSession* session = new QuicServerSession( - config_, - CreateQuicConnection(connection_id, server_address, client_address), - this); + // The QuicSession takes ownership of |connection| below. + QuicConnection* connection = new QuicConnection( + connection_id, client_address, helper_.get(), connection_writer_factory_, + /* owns_writer= */ true, /* is_server= */ true, + crypto_config_.HasProofSource(), supported_versions_); + + QuicServerSession* session = new QuicServerSession(config_, connection, this); session->InitializeSession(crypto_config_); return session; } -QuicConnection* QuicDispatcher::CreateQuicConnection( - QuicConnectionId connection_id, - const IPEndPoint& server_address, - const IPEndPoint& client_address) { - return new QuicConnection(connection_id, - client_address, - helper_.get(), - connection_writer_factory_, - /* owns_writer= */ true, - /* is_server= */ true, - crypto_config_.HasProofSource(), - supported_versions_); -} - QuicTimeWaitListManager* QuicDispatcher::CreateQuicTimeWaitListManager() { return new QuicTimeWaitListManager( writer_.get(), this, epoll_server(), supported_versions()); diff --git a/net/tools/quic/quic_dispatcher.h b/net/tools/quic/quic_dispatcher.h index 36e711a..4b3fe0a 100644 --- a/net/tools/quic/quic_dispatcher.h +++ b/net/tools/quic/quic_dispatcher.h @@ -135,11 +135,6 @@ class QuicDispatcher : public QuicServerSessionVisitor, const IPEndPoint& server_address, const IPEndPoint& client_address); - virtual QuicConnection* CreateQuicConnection( - QuicConnectionId connection_id, - const IPEndPoint& server_address, - const IPEndPoint& client_address); - // Called by |framer_visitor_| when the public header has been parsed. virtual bool OnUnauthenticatedPublicHeader( const QuicPacketPublicHeader& header); @@ -148,11 +143,6 @@ class QuicDispatcher : public QuicServerSessionVisitor, // will be owned by the dispatcher as time_wait_list_manager_ virtual QuicTimeWaitListManager* CreateQuicTimeWaitListManager(); - // Replaces the packet writer with |writer|. Takes ownership of |writer|. - void set_writer(QuicPacketWriter* writer) { - writer_.reset(writer); - } - QuicTimeWaitListManager* time_wait_list_manager() { return time_wait_list_manager_.get(); } diff --git a/net/tools/quic/quic_packet_writer_wrapper.cc b/net/tools/quic/quic_packet_writer_wrapper.cc index 3d1b03d..3befce9 100644 --- a/net/tools/quic/quic_packet_writer_wrapper.cc +++ b/net/tools/quic/quic_packet_writer_wrapper.cc @@ -40,9 +40,5 @@ void QuicPacketWriterWrapper::set_writer(QuicPacketWriter* writer) { writer_.reset(writer); } -QuicPacketWriter* QuicPacketWriterWrapper::release_writer() { - return writer_.release(); -} - } // namespace tools } // namespace net diff --git a/net/tools/quic/quic_packet_writer_wrapper.h b/net/tools/quic/quic_packet_writer_wrapper.h index a8b819c..ca366b5 100644 --- a/net/tools/quic/quic_packet_writer_wrapper.h +++ b/net/tools/quic/quic_packet_writer_wrapper.h @@ -34,9 +34,6 @@ class QuicPacketWriterWrapper : public net::QuicPacketWriter { // Takes ownership of |writer|. void set_writer(QuicPacketWriter* writer); - // Releases ownership of |writer_|. - QuicPacketWriter* release_writer(); - private: scoped_ptr<QuicPacketWriter> writer_; diff --git a/net/tools/quic/quic_server.h b/net/tools/quic/quic_server.h index 31e5988..7c50371 100644 --- a/net/tools/quic/quic_server.h +++ b/net/tools/quic/quic_server.h @@ -133,10 +133,6 @@ class QuicServer : public EpollCallbackInterface { // skipped as necessary). QuicVersionVector supported_versions_; - // Size of flow control receive window to advertise to clients on new - // connections. - uint32 server_initial_flow_control_receive_window_; - DISALLOW_COPY_AND_ASSIGN(QuicServer); }; diff --git a/net/tools/quic/quic_server_session_test.cc b/net/tools/quic/quic_server_session_test.cc index 71c2b42..8074d31 100644 --- a/net/tools/quic/quic_server_session_test.cc +++ b/net/tools/quic/quic_server_session_test.cc @@ -36,7 +36,6 @@ using net::test::ValueRestore; using net::test::kClientDataStreamId1; using net::test::kClientDataStreamId2; using net::test::kClientDataStreamId3; -using net::test::kClientDataStreamId4; using std::string; using testing::StrictMock; using testing::_; @@ -51,9 +50,6 @@ class QuicServerSessionPeer { QuicServerSession* s, QuicStreamId id) { return s->GetIncomingDataStream(id); } - static QuicDataStream* GetDataStream(QuicServerSession* s, QuicStreamId id) { - return s->GetDataStream(id); - } static void SetCryptoStream(QuicServerSession* s, QuicCryptoServerStream* crypto_stream) { s->crypto_stream_.reset(crypto_stream); @@ -87,8 +83,6 @@ class QuicServerSessionTest : public ::testing::TestWithParam<QuicVersion> { visitor_ = QuicConnectionPeer::GetVisitor(connection_); } - QuicVersion version() const { return connection_->version(); } - StrictMock<MockQuicServerSessionVisitor> owner_; StrictMock<MockConnection>* connection_; QuicConfig config_; diff --git a/net/tools/quic/quic_time_wait_list_manager.cc b/net/tools/quic/quic_time_wait_list_manager.cc index c9e589c..98f96ec 100644 --- a/net/tools/quic/quic_time_wait_list_manager.cc +++ b/net/tools/quic/quic_time_wait_list_manager.cc @@ -118,10 +118,8 @@ void QuicTimeWaitListManager::AddConnectionIdToTimeWait( connection_id_map_.erase(it); } TrimTimeWaitListIfNeeded(); - if (FLAGS_quic_limit_time_wait_list_size) { - DCHECK_LT(num_connections(), - static_cast<size_t>(FLAGS_quic_time_wait_list_max_connections)); - } + DCHECK_LT(num_connections(), + static_cast<size_t>(FLAGS_quic_time_wait_list_max_connections)); ConnectionIdData data(num_packets, version, clock_.ApproximateNow(), @@ -300,36 +298,20 @@ bool QuicTimeWaitListManager::MaybeExpireOldestConnection( void QuicTimeWaitListManager::CleanUpOldConnectionIds() { QuicTime now = clock_.ApproximateNow(); QuicTime expiration = now.Subtract(kTimeWaitPeriod_); - if (FLAGS_quic_limit_time_wait_list_size) { - while (MaybeExpireOldestConnection(expiration)) { - } - } else { - while (!connection_id_map_.empty()) { - ConnectionIdMap::iterator it = connection_id_map_.begin(); - QuicTime oldest_connection_id = it->second.time_added; - if (now.Subtract(oldest_connection_id) < kTimeWaitPeriod_) { - break; - } - const QuicConnectionId connection_id = it->first; - // This connection_id has lived its age, retire it now. - delete it->second.close_packet; - connection_id_map_.erase(it); - visitor_->OnConnectionRemovedFromTimeWaitList(connection_id); - } + + while (MaybeExpireOldestConnection(expiration)) { } SetConnectionIdCleanUpAlarm(); } void QuicTimeWaitListManager::TrimTimeWaitListIfNeeded() { - if (FLAGS_quic_limit_time_wait_list_size) { - if (FLAGS_quic_time_wait_list_max_connections < 0) { - return; - } - while (num_connections() >= - static_cast<size_t>(FLAGS_quic_time_wait_list_max_connections)) { - MaybeExpireOldestConnection(QuicTime::Infinite()); - } + if (FLAGS_quic_time_wait_list_max_connections < 0) { + return; + } + while (num_connections() >= + static_cast<size_t>(FLAGS_quic_time_wait_list_max_connections)) { + MaybeExpireOldestConnection(QuicTime::Infinite()); } } diff --git a/net/tools/quic/quic_time_wait_list_manager_test.cc b/net/tools/quic/quic_time_wait_list_manager_test.cc index bddcc17..f67fe7e 100644 --- a/net/tools/quic/quic_time_wait_list_manager_test.cc +++ b/net/tools/quic/quic_time_wait_list_manager_test.cc @@ -488,7 +488,6 @@ TEST_F(QuicTimeWaitListManagerTest, ConnectionIdsOrderedByTime) { } TEST_F(QuicTimeWaitListManagerTest, MaxConnectionsTest) { - ValueRestore<bool> old_flag(&FLAGS_quic_limit_time_wait_list_size, true); // Basically, shut off time-based eviction. FLAGS_quic_time_wait_list_seconds = 10000000000; FLAGS_quic_time_wait_list_max_connections = 5; diff --git a/net/tools/quic/test_tools/packet_dropping_test_writer.h b/net/tools/quic/test_tools/packet_dropping_test_writer.h index cdd8efc..b39539f 100644 --- a/net/tools/quic/test_tools/packet_dropping_test_writer.h +++ b/net/tools/quic/test_tools/packet_dropping_test_writer.h @@ -104,6 +104,7 @@ class PacketDroppingTestWriter : public QuicPacketWriterWrapper { buffer_size_ = buffer_size; } + // Useful for reproducing very flaky issues. void set_seed(uint64 seed) { simple_random_.set_seed(seed); } diff --git a/net/tools/quic/test_tools/quic_dispatcher_peer.cc b/net/tools/quic/test_tools/quic_dispatcher_peer.cc index 1900420..5d3ce7a 100644 --- a/net/tools/quic/test_tools/quic_dispatcher_peer.cc +++ b/net/tools/quic/test_tools/quic_dispatcher_peer.cc @@ -44,17 +44,6 @@ QuicEpollConnectionHelper* QuicDispatcherPeer::GetHelper( } // static -QuicConnection* QuicDispatcherPeer::CreateQuicConnection( - QuicDispatcher* dispatcher, - QuicConnectionId connection_id, - const IPEndPoint& server, - const IPEndPoint& client) { - return dispatcher->CreateQuicConnection(connection_id, - server, - client); -} - -// static QuicDispatcher::WriteBlockedList* QuicDispatcherPeer::GetWriteBlockedList( QuicDispatcher* dispatcher) { return &dispatcher->write_blocked_list_; diff --git a/net/tools/quic/test_tools/quic_dispatcher_peer.h b/net/tools/quic/test_tools/quic_dispatcher_peer.h index 6271615..e5edf16 100644 --- a/net/tools/quic/test_tools/quic_dispatcher_peer.h +++ b/net/tools/quic/test_tools/quic_dispatcher_peer.h @@ -34,12 +34,6 @@ class QuicDispatcherPeer { static QuicEpollConnectionHelper* GetHelper(QuicDispatcher* dispatcher); - static QuicConnection* CreateQuicConnection( - QuicDispatcher* dispatcher, - QuicConnectionId connection_id, - const IPEndPoint& server, - const IPEndPoint& client); - static QuicDispatcher::WriteBlockedList* GetWriteBlockedList( QuicDispatcher* dispatcher); |