Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Side by Side Diff: net/tools/quic/quic_dispatcher.cc

Issue 19858003: * Removed QuicTag kQuicVersion1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed comments from rch Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/tools/quic/quic_client_bin.cc ('k') | net/tools/quic/quic_epoll_connection_helper_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/tools/quic/quic_dispatcher.h" 5 #include "net/tools/quic/quic_dispatcher.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 client_address, 87 client_address,
88 guid, 88 guid,
89 packet); 89 packet);
90 return; 90 return;
91 } 91 }
92 session = CreateQuicSession(guid, client_address, fd_, epoll_server_); 92 session = CreateQuicSession(guid, client_address, fd_, epoll_server_);
93 93
94 if (session == NULL) { 94 if (session == NULL) {
95 DLOG(INFO) << "Failed to create session for " << guid; 95 DLOG(INFO) << "Failed to create session for " << guid;
96 // Add this guid fo the time-wait state, to safely nack future packets. 96 // Add this guid fo the time-wait state, to safely nack future packets.
97 time_wait_list_manager_->AddGuidToTimeWait(guid); 97 // We don't know the version here, so assume latest.
98 time_wait_list_manager_->AddGuidToTimeWait(guid, QuicVersionMax());
98 time_wait_list_manager_->ProcessPacket(server_address, 99 time_wait_list_manager_->ProcessPacket(server_address,
99 client_address, 100 client_address,
100 guid, 101 guid,
101 packet); 102 packet);
102 return; 103 return;
103 } 104 }
104 DLOG(INFO) << "Created new session for " << guid; 105 DLOG(INFO) << "Created new session for " << guid;
105 session_map_.insert(make_pair(guid, session)); 106 session_map_.insert(make_pair(guid, session));
106 } else { 107 } else {
107 session = it->second; 108 session = it->second;
108 } 109 }
109 110
110 session->connection()->ProcessUdpPacket( 111 session->connection()->ProcessUdpPacket(
111 server_address, client_address, packet); 112 server_address, client_address, packet);
112 } 113 }
113 114
114 void QuicDispatcher::CleanUpSession(SessionMap::iterator it) { 115 void QuicDispatcher::CleanUpSession(SessionMap::iterator it) {
115 QuicSession* session = it->second; 116 QuicSession* session = it->second;
116 write_blocked_list_.RemoveBlockedObject(session->connection()); 117 write_blocked_list_.RemoveBlockedObject(session->connection());
117 time_wait_list_manager_->AddGuidToTimeWait(it->first); 118 time_wait_list_manager_->AddGuidToTimeWait(it->first,
119 session->connection()->version());
118 session_map_.erase(it); 120 session_map_.erase(it);
119 } 121 }
120 122
121 void QuicDispatcher::DeleteSessions() { 123 void QuicDispatcher::DeleteSessions() {
122 STLDeleteElements(&closed_session_list_); 124 STLDeleteElements(&closed_session_list_);
123 } 125 }
124 126
125 bool QuicDispatcher::OnCanWrite() { 127 bool QuicDispatcher::OnCanWrite() {
126 // We got an EPOLLOUT: the socket should not be blocked. 128 // We got an EPOLLOUT: the socket should not be blocked.
127 write_blocked_ = false; 129 write_blocked_ = false;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 } 183 }
182 184
183 QuicSession* QuicDispatcher::CreateQuicSession( 185 QuicSession* QuicDispatcher::CreateQuicSession(
184 QuicGuid guid, 186 QuicGuid guid,
185 const IPEndPoint& client_address, 187 const IPEndPoint& client_address,
186 int fd, 188 int fd,
187 EpollServer* epoll_server) { 189 EpollServer* epoll_server) {
188 QuicConnectionHelperInterface* helper = 190 QuicConnectionHelperInterface* helper =
189 new QuicEpollConnectionHelper(this, epoll_server); 191 new QuicEpollConnectionHelper(this, epoll_server);
190 QuicServerSession* session = new QuicServerSession( 192 QuicServerSession* session = new QuicServerSession(
191 config_, new QuicConnection(guid, client_address, helper, true), this); 193 config_, new QuicConnection(guid, client_address, helper, true,
194 QuicVersionMax()), this);
192 session->InitializeSession(crypto_config_); 195 session->InitializeSession(crypto_config_);
193 return session; 196 return session;
194 } 197 }
195 198
196 } // namespace tools 199 } // namespace tools
197 } // namespace net 200 } // namespace net
198 201
199 202
OLDNEW
« no previous file with comments | « net/tools/quic/quic_client_bin.cc ('k') | net/tools/quic/quic_epoll_connection_helper_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698