| Index: net/quic/quic_connection_test.cc
|
| diff --git a/net/quic/quic_connection_test.cc b/net/quic/quic_connection_test.cc
|
| index 7faafe7a844ba689c1f2664b62b5839494aaaaec..04a6a881cc1e8584ddad725058ca4acb47d9926b 100644
|
| --- a/net/quic/quic_connection_test.cc
|
| +++ b/net/quic/quic_connection_test.cc
|
| @@ -38,6 +38,7 @@ using testing::Contains;
|
| using testing::DoAll;
|
| using testing::InSequence;
|
| using testing::InvokeWithoutArgs;
|
| +using testing::NiceMock;
|
| using testing::Ref;
|
| using testing::Return;
|
| using testing::SaveArg;
|
| @@ -412,21 +413,20 @@ class TestConnection : public QuicConnection {
|
| TestConnection(QuicConnectionId connection_id,
|
| IPEndPoint address,
|
| TestConnectionHelper* helper,
|
| - TestPacketWriter* writer,
|
| + const PacketWriterFactory& factory,
|
| bool is_server,
|
| QuicVersion version)
|
| : QuicConnection(connection_id,
|
| address,
|
| helper,
|
| - writer,
|
| - false /* owns_writer */,
|
| + factory,
|
| + /* owns_writer= */ false,
|
| is_server,
|
| - SupportedVersions(version)),
|
| - writer_(writer) {
|
| + SupportedVersions(version)) {
|
| // Disable tail loss probes for most tests.
|
| QuicSentPacketManagerPeer::SetMaxTailLossProbes(
|
| QuicConnectionPeer::GetSentPacketManager(this), 0);
|
| - writer_->set_is_server(is_server);
|
| + writer()->set_is_server(is_server);
|
| }
|
|
|
| void SendAck() {
|
| @@ -538,11 +538,11 @@ class TestConnection : public QuicConnection {
|
|
|
| void SetSupportedVersions(const QuicVersionVector& versions) {
|
| QuicConnectionPeer::GetFramer(this)->SetSupportedVersions(versions);
|
| - writer_->SetSupportedVersions(versions);
|
| + writer()->SetSupportedVersions(versions);
|
| }
|
|
|
| void set_is_server(bool is_server) {
|
| - writer_->set_is_server(is_server);
|
| + writer()->set_is_server(is_server);
|
| QuicConnectionPeer::SetIsServer(this, is_server);
|
| }
|
|
|
| @@ -579,7 +579,9 @@ class TestConnection : public QuicConnection {
|
| using QuicConnection::SelectMutualVersion;
|
|
|
| private:
|
| - TestPacketWriter* writer_;
|
| + TestPacketWriter* writer() {
|
| + return static_cast<TestPacketWriter*>(QuicConnection::writer());
|
| + }
|
|
|
| DISALLOW_COPY_AND_ASSIGN(TestConnection);
|
| };
|
| @@ -602,6 +604,16 @@ class FecQuicConnectionDebugVisitor
|
| QuicPacketHeader revived_header_;
|
| };
|
|
|
| +class MockPacketWriterFactory : public QuicConnection::PacketWriterFactory {
|
| + public:
|
| + MockPacketWriterFactory(QuicPacketWriter* writer) {
|
| + ON_CALL(*this, Create(_)).WillByDefault(Return(writer));
|
| + }
|
| + virtual ~MockPacketWriterFactory() {}
|
| +
|
| + MOCK_CONST_METHOD1(Create, QuicPacketWriter*(QuicConnection* connection));
|
| +};
|
| +
|
| class QuicConnectionTest : public ::testing::TestWithParam<QuicVersion> {
|
| protected:
|
| QuicConnectionTest()
|
| @@ -612,8 +624,9 @@ class QuicConnectionTest : public ::testing::TestWithParam<QuicVersion> {
|
| loss_algorithm_(new MockLossAlgorithm()),
|
| helper_(new TestConnectionHelper(&clock_, &random_generator_)),
|
| writer_(new TestPacketWriter(version())),
|
| + factory_(writer_.get()),
|
| connection_(connection_id_, IPEndPoint(), helper_.get(),
|
| - writer_.get(), false, version()),
|
| + factory_, false, version()),
|
| frame1_(1, false, 0, MakeIOVector(data1)),
|
| frame2_(1, false, 3, MakeIOVector(data2)),
|
| sequence_number_length_(PACKET_6BYTE_SEQUENCE_NUMBER),
|
| @@ -968,6 +981,7 @@ class QuicConnectionTest : public ::testing::TestWithParam<QuicVersion> {
|
| MockRandom random_generator_;
|
| scoped_ptr<TestConnectionHelper> helper_;
|
| scoped_ptr<TestPacketWriter> writer_;
|
| + NiceMock<MockPacketWriterFactory> factory_;
|
| TestConnection connection_;
|
| StrictMock<MockConnectionVisitor> visitor_;
|
|
|
| @@ -3959,9 +3973,9 @@ TEST_P(QuicConnectionTest, Pacing) {
|
| ValueRestore<bool> old_flag(&FLAGS_enable_quic_pacing, true);
|
|
|
| TestConnection server(connection_id_, IPEndPoint(), helper_.get(),
|
| - writer_.get(), true, version());
|
| + factory_, /* is_server= */ true, version());
|
| TestConnection client(connection_id_, IPEndPoint(), helper_.get(),
|
| - writer_.get(), false, version());
|
| + factory_, /* is_server= */ false, version());
|
| EXPECT_TRUE(client.sent_packet_manager().using_pacing());
|
| EXPECT_FALSE(server.sent_packet_manager().using_pacing());
|
| }
|
|
|