Index: net/tools/quic/quic_dispatcher.cc |
diff --git a/net/tools/quic/quic_dispatcher.cc b/net/tools/quic/quic_dispatcher.cc |
index 802746fc038b339d47b23e254c77707a83bc5f4b..20f1157506ad0b30fb28312e7749150caa511e30 100644 |
--- a/net/tools/quic/quic_dispatcher.cc |
+++ b/net/tools/quic/quic_dispatcher.cc |
@@ -127,8 +127,6 @@ QuicDispatcher::QuicDispatcher(const QuicConfig& config, |
EpollServer* epoll_server) |
: config_(config), |
crypto_config_(crypto_config), |
- time_wait_list_manager_( |
- new QuicTimeWaitListManager(this, epoll_server, supported_versions)), |
delete_sessions_alarm_(new DeleteSessionsAlarm(this)), |
epoll_server_(epoll_server), |
helper_(new QuicEpollConnectionHelper(epoll_server_)), |
@@ -147,6 +145,9 @@ QuicDispatcher::~QuicDispatcher() { |
void QuicDispatcher::Initialize(int fd) { |
DCHECK(writer_ == NULL); |
writer_.reset(CreateWriterWrapper(CreateWriter(fd))); |
+ time_wait_list_manager_.reset( |
+ new QuicTimeWaitListManager(writer_.get(), this, |
+ epoll_server(), supported_versions())); |
} |
// TODO(fnk): remove the Writer interface implementation in favor of |
@@ -330,6 +331,11 @@ void QuicDispatcher::OnConnectionClosed(QuicGuid guid, QuicErrorCode error) { |
CleanUpSession(it); |
} |
+void QuicDispatcher::OnWriteBlocked(QuicBlockedWriterInterface* writer) { |
+ DCHECK(writer_->IsWriteBlocked()); |
+ write_blocked_list_.insert(make_pair(writer, true)); |
+} |
+ |
QuicSession* QuicDispatcher::CreateQuicSession( |
QuicGuid guid, |
const IPEndPoint& server_address, |