summaryrefslogtreecommitdiffstats
path: root/net/tools
diff options
context:
space:
mode:
authorrtenneti <rtenneti@chromium.org>2015-03-02 22:36:50 -0800
committerCommit bot <commit-bot@chromium.org>2015-03-03 06:37:36 +0000
commitae5ac43d4e570358d18b94e9007283078ee7c456 (patch)
treecf44aff521cae270ed43801bd3c0a74227b9b1a0 /net/tools
parent3f9cbd3ae7b8d2ac0c87aabbc03425d56d8a917b (diff)
downloadchromium_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.cc25
-rw-r--r--net/tools/quic/quic_dispatcher.h10
-rw-r--r--net/tools/quic/quic_packet_writer_wrapper.cc4
-rw-r--r--net/tools/quic/quic_packet_writer_wrapper.h3
-rw-r--r--net/tools/quic/quic_server.h4
-rw-r--r--net/tools/quic/quic_server_session_test.cc6
-rw-r--r--net/tools/quic/quic_time_wait_list_manager.cc38
-rw-r--r--net/tools/quic/quic_time_wait_list_manager_test.cc1
-rw-r--r--net/tools/quic/test_tools/packet_dropping_test_writer.h1
-rw-r--r--net/tools/quic/test_tools/quic_dispatcher_peer.cc11
-rw-r--r--net/tools/quic/test_tools/quic_dispatcher_peer.h6
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);