Index: net/tools/quic/quic_client.cc |
diff --git a/net/tools/quic/quic_client.cc b/net/tools/quic/quic_client.cc |
index ca87c2f58e107f7c6da143cc302f8e9d76aac782..48f789fac555836905aed1b1f052cebbb4ca605d 100644 |
--- a/net/tools/quic/quic_client.cc |
+++ b/net/tools/quic/quic_client.cc |
@@ -97,6 +97,18 @@ bool QuicClient::Initialize() { |
return true; |
} |
+QuicClient::DummyPacketWriterFactory::DummyPacketWriterFactory( |
+ QuicPacketWriter* writer) |
+ : writer_(writer) {} |
+ |
+QuicClient::DummyPacketWriterFactory::~DummyPacketWriterFactory() {} |
+ |
+QuicPacketWriter* QuicClient::DummyPacketWriterFactory::Create( |
+ QuicConnection* /*connection*/) const { |
+ return writer_; |
+} |
+ |
+ |
bool QuicClient::CreateUDPSocket() { |
int address_family = server_address_.GetSockAddrFamily(); |
fd_ = socket(address_family, SOCK_DGRAM | SOCK_NONBLOCK, IPPROTO_UDP); |
@@ -179,15 +191,18 @@ bool QuicClient::StartConnect() { |
QuicPacketWriter* writer = CreateQuicPacketWriter(); |
+ DummyPacketWriterFactory factory(writer); |
+ |
session_.reset(new QuicClientSession( |
config_, |
new QuicConnection(GenerateConnectionId(), |
server_address_, |
helper_.get(), |
- writer, |
- false /* owns_writer */, |
- false /* is_server */, |
+ factory, |
+ /* owns_writer= */ false, |
+ /* is_server= */ false, |
supported_versions_))); |
+ |
// Reset |writer_| after |session_| so that the old writer outlives the old |
// session. |
if (writer_.get() != writer) { |