summaryrefslogtreecommitdiffstats
path: root/net/tools/quic
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-03 10:20:28 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-03 10:20:28 +0000
commit9cda5fd9eb12ce1cec3d557c9733c9fb229844ee (patch)
tree65d69ac8bb2b9661b419247d74e0fadbd35b266a /net/tools/quic
parent008db1214e1a69af13f746085620b7ec49c95132 (diff)
downloadchromium_src-9cda5fd9eb12ce1cec3d557c9733c9fb229844ee.zip
chromium_src-9cda5fd9eb12ce1cec3d557c9733c9fb229844ee.tar.gz
chromium_src-9cda5fd9eb12ce1cec3d557c9733c9fb229844ee.tar.bz2
Land Recent QUIC Changes.
Ensuring that QUIC's pacing sender can have TimeUntilSend called multiple times and behave return the same time to send. Also add more tests to ensure the pacing sender properly makes up for lost time, but stops doing so after application limited sending. Merge internal change: 68257669 https://codereview.chromium.org/312573002/ Drop "Interface" from name of QUIC debug interfaces that should not be abstract. Drop Interface from some class names. Merge internal change: 68257565 https://codereview.chromium.org/310693002/ QUIC flow control now based on highest received byte offset rather than bytes buffered. No longer keep track of how many bytes we have buffered in the QUIC flow controller - this adds complexity when we can just track the highest received byte offset. This allows us to detect flow control violation earlier. QUIC flow control now based on highest received byte offset rather than bytes buffered. Protected behind (already ENABLEd) FLAGS_enable_quic_stream_flow_control_2 Merge internal change: 68200399 https://codereview.chromium.org/305033011/ Changes the pacing sender's alarm granularity from 1 microsecond to 5 milliseconds. Merge internal change: 68197640 https://codereview.chromium.org/302283004/ Remove unnecessary MaybeSendWindowUpdate from ReliableQuicStream: always try sending a WINDOW_UPDATE from inside AddBytesConsumed. Whenever bytes_consumed changes we may want to send a WINDOW_UPDATE, and this CL prevents future users calling AddBytesConsumed and forgetting MaybeSendWindowUpdate. QUIC: remove unnecessary MaybeSendWindowUpdate from ReliableQuicStream Merge internal change: 68188106 https://codereview.chromium.org/308363002/ Remove the TransmissionType argument from QuicConnection CanWrite and SentPacketManager TimeUntilSend by generalizing the QuicSentPackeManager's TLP alarm. Merge internal change: 68148420 https://codereview.chromium.org/306013009/ Cleanup in QuicConnection to always cancel the send alarm when CanWrite is consulted and use CanWrite when deciding to send in response to a packet receipt. Merge internal change: 68118973 https://codereview.chromium.org/304293009/ Allow QUIC's BBR congestion control to be negotiated in the crypto handshake. Adding an implementation of QuicFixedTagVector to QuicConfig to enable multiple congestion control options per connection. Merge internal change: 68114869 https://codereview.chromium.org/308273004/ Move test-only method from QuicFramer to quic_test_utils. Merge internal change: 68110215 https://codereview.chromium.org/305343002/ Replaced options from QuicPacketCreator with members and explicit getters/setters. A couple of small bugs fixed. Merge internal change: 68099048 https://codereview.chromium.org/301173007/ R=rch@chromium.org Review URL: https://codereview.chromium.org/312553003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274455 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/tools/quic')
-rw-r--r--net/tools/quic/quic_client.cc7
-rw-r--r--net/tools/quic/quic_client.h2
-rw-r--r--net/tools/quic/quic_time_wait_list_manager_test.cc5
-rw-r--r--net/tools/quic/test_tools/quic_test_client.cc4
-rw-r--r--net/tools/quic/test_tools/quic_test_client.h2
5 files changed, 3 insertions, 17 deletions
diff --git a/net/tools/quic/quic_client.cc b/net/tools/quic/quic_client.cc
index 8ecd997..f2802a2 100644
--- a/net/tools/quic/quic_client.cc
+++ b/net/tools/quic/quic_client.cc
@@ -296,13 +296,6 @@ void QuicClient::OnClose(QuicDataStream* stream) {
printf("%s\n", client_stream->data().c_str());
}
-QuicPacketCreator::Options* QuicClient::options() {
- if (session() == NULL) {
- return NULL;
- }
- return session_->options();
-}
-
bool QuicClient::connected() const {
return session_.get() && session_->connection() &&
session_->connection()->connected();
diff --git a/net/tools/quic/quic_client.h b/net/tools/quic/quic_client.h
index e1b1c2d..33dfeaa 100644
--- a/net/tools/quic/quic_client.h
+++ b/net/tools/quic/quic_client.h
@@ -116,8 +116,6 @@ class QuicClient : public EpollCallbackInterface,
// QuicDataStream::Visitor
virtual void OnClose(QuicDataStream* stream) OVERRIDE;
- QuicPacketCreator::Options* options();
-
QuicClientSession* session() { return session_.get(); }
bool connected() const;
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 d58b4e1..4bc50c3 100644
--- a/net/tools/quic/quic_time_wait_list_manager_test.cc
+++ b/net/tools/quic/quic_time_wait_list_manager_test.cc
@@ -21,10 +21,10 @@
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
+using net::test::BuildUnsizedDataPacket;
using net::test::NoOpFramerVisitor;
using net::test::QuicVersionMax;
using net::test::QuicVersionMin;
-using testing::_;
using testing::Args;
using testing::Assign;
using testing::DoAll;
@@ -36,6 +36,7 @@ using testing::ReturnPointee;
using testing::SetArgPointee;
using testing::StrictMock;
using testing::Truly;
+using testing::_;
namespace net {
namespace tools {
@@ -150,7 +151,7 @@ class QuicTimeWaitListManagerTest : public ::testing::Test {
QuicFrames frames;
frames.push_back(frame);
scoped_ptr<QuicPacket> packet(
- framer_.BuildUnsizedDataPacket(header, frames).packet);
+ BuildUnsizedDataPacket(&framer_, header, frames).packet);
EXPECT_TRUE(packet != NULL);
QuicEncryptedPacket* encrypted = framer_.EncryptPacket(ENCRYPTION_NONE,
sequence_number,
diff --git a/net/tools/quic/test_tools/quic_test_client.cc b/net/tools/quic/test_tools/quic_test_client.cc
index c4f2706..625cf1a 100644
--- a/net/tools/quic/test_tools/quic_test_client.cc
+++ b/net/tools/quic/test_tools/quic_test_client.cc
@@ -272,10 +272,6 @@ ssize_t QuicTestClient::SendData(string data, bool last_data) {
return data.length();
}
-QuicPacketCreator::Options* QuicTestClient::options() {
- return client_->options();
-}
-
bool QuicTestClient::response_complete() const {
return response_complete_;
}
diff --git a/net/tools/quic/test_tools/quic_test_client.h b/net/tools/quic/test_tools/quic_test_client.h
index 837f154..975ce5a 100644
--- a/net/tools/quic/test_tools/quic_test_client.h
+++ b/net/tools/quic/test_tools/quic_test_client.h
@@ -85,8 +85,6 @@ class QuicTestClient : public SimpleClient,
// Wraps data in a quic packet and sends it.
ssize_t SendData(string data, bool last_data);
- QuicPacketCreator::Options* options();
-
// From SimpleClient
// Clears any outstanding state and sends a simple GET of 'uri' to the
// server. Returns 0 if the request failed and no bytes were written.