| Index: net/tools/quic/quic_dispatcher.cc
|
| diff --git a/net/tools/quic/quic_dispatcher.cc b/net/tools/quic/quic_dispatcher.cc
|
| index bfff5e6a692e4b2a568f30f2f2c398f0677d1944..d702b1d4c6f1a6bb03b88c84c90c48fbb5269e20 100644
|
| --- a/net/tools/quic/quic_dispatcher.cc
|
| +++ b/net/tools/quic/quic_dispatcher.cc
|
| @@ -94,7 +94,8 @@ 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.
|
| - time_wait_list_manager_->AddGuidToTimeWait(guid);
|
| + // We don't know the version here, so assume latest.
|
| + time_wait_list_manager_->AddGuidToTimeWait(guid, QuicVersionMax());
|
| time_wait_list_manager_->ProcessPacket(server_address,
|
| client_address,
|
| guid,
|
| @@ -114,7 +115,8 @@ void QuicDispatcher::ProcessPacket(const IPEndPoint& server_address,
|
| void QuicDispatcher::CleanUpSession(SessionMap::iterator it) {
|
| QuicSession* session = it->second;
|
| write_blocked_list_.RemoveBlockedObject(session->connection());
|
| - time_wait_list_manager_->AddGuidToTimeWait(it->first);
|
| + time_wait_list_manager_->AddGuidToTimeWait(it->first,
|
| + session->connection()->version());
|
| session_map_.erase(it);
|
| }
|
|
|
| @@ -188,7 +190,8 @@ QuicSession* QuicDispatcher::CreateQuicSession(
|
| QuicConnectionHelperInterface* helper =
|
| new QuicEpollConnectionHelper(this, epoll_server);
|
| QuicServerSession* session = new QuicServerSession(
|
| - config_, new QuicConnection(guid, client_address, helper, true), this);
|
| + config_, new QuicConnection(guid, client_address, helper, true,
|
| + QuicVersionMax()), this);
|
| session->InitializeSession(crypto_config_);
|
| return session;
|
| }
|
|
|