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; |
} |