Index: net/tools/quic/quic_dispatcher.cc |
diff --git a/net/tools/quic/quic_dispatcher.cc b/net/tools/quic/quic_dispatcher.cc |
index 18e75115947622884cb0326e21c5a7e351f702f8..802746fc038b339d47b23e254c77707a83bc5f4b 100644 |
--- a/net/tools/quic/quic_dispatcher.cc |
+++ b/net/tools/quic/quic_dispatcher.cc |
@@ -124,7 +124,6 @@ class QuicDispatcher::QuicFramerVisitor : public QuicFramerVisitorInterface { |
QuicDispatcher::QuicDispatcher(const QuicConfig& config, |
const QuicCryptoServerConfig& crypto_config, |
const QuicVersionVector& supported_versions, |
- int fd, |
EpollServer* epoll_server) |
: config_(config), |
crypto_config_(crypto_config), |
@@ -133,7 +132,6 @@ QuicDispatcher::QuicDispatcher(const QuicConfig& config, |
delete_sessions_alarm_(new DeleteSessionsAlarm(this)), |
epoll_server_(epoll_server), |
helper_(new QuicEpollConnectionHelper(epoll_server_)), |
- writer_(new QuicPacketWriterWrapper(new QuicDefaultPacketWriter(fd))), |
supported_versions_(supported_versions), |
current_packet_(NULL), |
framer_(supported_versions, /*unused*/ QuicTime::Zero(), true), |
@@ -146,6 +144,11 @@ QuicDispatcher::~QuicDispatcher() { |
STLDeleteElements(&closed_session_list_); |
} |
+void QuicDispatcher::Initialize(int fd) { |
+ DCHECK(writer_ == NULL); |
+ writer_.reset(CreateWriterWrapper(CreateWriter(fd))); |
+} |
+ |
// TODO(fnk): remove the Writer interface implementation in favor of |
// direct requests for blocked list placement from Connection/Session. |
WriteResult QuicDispatcher::WritePacket(const char* buffer, size_t buf_len, |
@@ -327,10 +330,6 @@ void QuicDispatcher::OnConnectionClosed(QuicGuid guid, QuicErrorCode error) { |
CleanUpSession(it); |
} |
-void QuicDispatcher::set_fd(int fd) { |
- writer_->set_writer(new QuicDefaultPacketWriter(fd)); |
-} |
- |
QuicSession* QuicDispatcher::CreateQuicSession( |
QuicGuid guid, |
const IPEndPoint& server_address, |
@@ -342,6 +341,19 @@ QuicSession* QuicDispatcher::CreateQuicSession( |
return session; |
} |
+QuicPacketWriter* QuicDispatcher::CreateWriter(int fd) { |
+ return new QuicDefaultPacketWriter(fd); |
+} |
+ |
+QuicPacketWriterWrapper* QuicDispatcher::CreateWriterWrapper( |
+ QuicPacketWriter* writer) { |
+ return new QuicPacketWriterWrapper(writer); |
+} |
+ |
+void QuicDispatcher::set_writer(QuicPacketWriter* writer) { |
+ writer_->set_writer(writer); |
+} |
+ |
bool QuicDispatcher::HandlePacketForTimeWait( |
const QuicPacketPublicHeader& header) { |
if (header.reset_flag) { |