| 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) {
|
|
|