| Index: net/tools/quic/quic_dispatcher.cc
|
| diff --git a/net/tools/quic/quic_dispatcher.cc b/net/tools/quic/quic_dispatcher.cc
|
| index 0ec54706454ed7b4ce9906900907b381233a67db..2e7b9e628bab77e6f5dba40f1033ea365c441432 100644
|
| --- a/net/tools/quic/quic_dispatcher.cc
|
| +++ b/net/tools/quic/quic_dispatcher.cc
|
| @@ -37,18 +37,20 @@ class DeleteSessionsAlarm : public EpollAlarm {
|
|
|
| QuicDispatcher::QuicDispatcher(const QuicConfig& config,
|
| const QuicCryptoServerConfig& crypto_config,
|
| + const QuicVersionVector& supported_versions,
|
| int fd,
|
| EpollServer* epoll_server)
|
| : config_(config),
|
| crypto_config_(crypto_config),
|
| time_wait_list_manager_(
|
| - new QuicTimeWaitListManager(this, epoll_server)),
|
| + new QuicTimeWaitListManager(this, epoll_server, supported_versions)),
|
| delete_sessions_alarm_(new DeleteSessionsAlarm(this)),
|
| epoll_server_(epoll_server),
|
| fd_(fd),
|
| write_blocked_(false),
|
| helper_(new QuicEpollConnectionHelper(epoll_server_)),
|
| - writer_(new QuicDefaultPacketWriter(fd)) {
|
| + writer_(new QuicDefaultPacketWriter(fd)),
|
| + supported_versions_(supported_versions) {
|
| }
|
|
|
| QuicDispatcher::~QuicDispatcher() {
|
| @@ -102,9 +104,10 @@ void QuicDispatcher::ProcessPacket(const IPEndPoint& server_address,
|
|
|
| if (session == NULL) {
|
| DLOG(INFO) << "Failed to create session for " << guid;
|
| - // Add this guid fo the time-wait state, to safely nack future packets.
|
| + // Add this guid fo the time-wait state, to safely reject future packets.
|
| // We don't know the version here, so assume latest.
|
| - time_wait_list_manager_->AddGuidToTimeWait(guid, QuicVersionMax());
|
| + time_wait_list_manager_->AddGuidToTimeWait(guid,
|
| + supported_versions_.front());
|
| time_wait_list_manager_->ProcessPacket(server_address,
|
| client_address,
|
| guid,
|
| @@ -202,7 +205,7 @@ QuicSession* QuicDispatcher::CreateQuicSession(
|
| const IPEndPoint& client_address) {
|
| QuicServerSession* session = new QuicServerSession(
|
| config_, new QuicConnection(guid, client_address, helper_.get(), this,
|
| - true, QuicVersionMax()), this);
|
| + true, supported_versions_), this);
|
| session->InitializeSession(crypto_config_);
|
| return session;
|
| }
|
|
|