OLD | NEW |
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/quic/quic_stream_factory.h" | 5 #include "net/quic/quic_stream_factory.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "base/message_loop_proxy.h" | 10 #include "base/message_loop_proxy.h" |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 DCHECK(!factory_->HasActiveSession(host_port_proxy_pair_)); | 213 DCHECK(!factory_->HasActiveSession(host_port_proxy_pair_)); |
214 factory_->ActivateSession(host_port_proxy_pair_, session_); | 214 factory_->ActivateSession(host_port_proxy_pair_, session_); |
215 | 215 |
216 return OK; | 216 return OK; |
217 } | 217 } |
218 | 218 |
219 QuicStreamFactory::QuicStreamFactory( | 219 QuicStreamFactory::QuicStreamFactory( |
220 HostResolver* host_resolver, | 220 HostResolver* host_resolver, |
221 ClientSocketFactory* client_socket_factory, | 221 ClientSocketFactory* client_socket_factory, |
222 QuicRandom* random_generator, | 222 QuicRandom* random_generator, |
223 QuicClock* clock, | 223 QuicClock* clock) |
224 bool use_spdy_over_quic) | |
225 : host_resolver_(host_resolver), | 224 : host_resolver_(host_resolver), |
226 client_socket_factory_(client_socket_factory), | 225 client_socket_factory_(client_socket_factory), |
227 random_generator_(random_generator), | 226 random_generator_(random_generator), |
228 clock_(clock), | 227 clock_(clock), |
229 use_spdy_over_quic_(use_spdy_over_quic), | |
230 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { | 228 ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { |
231 } | 229 } |
232 | 230 |
233 QuicStreamFactory::~QuicStreamFactory() { | 231 QuicStreamFactory::~QuicStreamFactory() { |
234 STLDeleteElements(&all_sessions_); | 232 STLDeleteElements(&all_sessions_); |
235 STLDeleteValues(&active_jobs_); | 233 STLDeleteValues(&active_jobs_); |
236 } | 234 } |
237 | 235 |
238 int QuicStreamFactory::Create(const HostPortProxyPair& host_port_proxy_pair, | 236 int QuicStreamFactory::Create(const HostPortProxyPair& host_port_proxy_pair, |
239 const BoundNetLog& net_log, | 237 const BoundNetLog& net_log, |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 scoped_ptr<QuicHttpStream> QuicStreamFactory::CreateIfSessionExists( | 294 scoped_ptr<QuicHttpStream> QuicStreamFactory::CreateIfSessionExists( |
297 const HostPortProxyPair& host_port_proxy_pair, | 295 const HostPortProxyPair& host_port_proxy_pair, |
298 const BoundNetLog& net_log) { | 296 const BoundNetLog& net_log) { |
299 if (!HasActiveSession(host_port_proxy_pair)) { | 297 if (!HasActiveSession(host_port_proxy_pair)) { |
300 return scoped_ptr<QuicHttpStream>(NULL); | 298 return scoped_ptr<QuicHttpStream>(NULL); |
301 } | 299 } |
302 | 300 |
303 QuicClientSession* session = active_sessions_[host_port_proxy_pair]; | 301 QuicClientSession* session = active_sessions_[host_port_proxy_pair]; |
304 DCHECK(session); | 302 DCHECK(session); |
305 return scoped_ptr<QuicHttpStream>( | 303 return scoped_ptr<QuicHttpStream>( |
306 new QuicHttpStream(session->CreateOutgoingReliableStream(), | 304 new QuicHttpStream(session->CreateOutgoingReliableStream())); |
307 use_spdy_over_quic_)); | |
308 } | 305 } |
309 | 306 |
310 void QuicStreamFactory::OnIdleSession(QuicClientSession* session) { | 307 void QuicStreamFactory::OnIdleSession(QuicClientSession* session) { |
311 } | 308 } |
312 | 309 |
313 void QuicStreamFactory::OnSessionClose(QuicClientSession* session) { | 310 void QuicStreamFactory::OnSessionClose(QuicClientSession* session) { |
314 DCHECK_EQ(0u, session->GetNumOpenStreams()); | 311 DCHECK_EQ(0u, session->GetNumOpenStreams()); |
315 const AliasSet& aliases = session_aliases_[session]; | 312 const AliasSet& aliases = session_aliases_[session]; |
316 for (AliasSet::const_iterator it = aliases.begin(); it != aliases.end(); | 313 for (AliasSet::const_iterator it = aliases.begin(); it != aliases.end(); |
317 ++it) { | 314 ++it) { |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 void QuicStreamFactory::ActivateSession( | 388 void QuicStreamFactory::ActivateSession( |
392 const HostPortProxyPair& host_port_proxy_pair, | 389 const HostPortProxyPair& host_port_proxy_pair, |
393 QuicClientSession* session) { | 390 QuicClientSession* session) { |
394 DCHECK(!HasActiveSession(host_port_proxy_pair)); | 391 DCHECK(!HasActiveSession(host_port_proxy_pair)); |
395 active_sessions_[host_port_proxy_pair] = session; | 392 active_sessions_[host_port_proxy_pair] = session; |
396 session_aliases_[session].insert(host_port_proxy_pair); | 393 session_aliases_[session].insert(host_port_proxy_pair); |
397 } | 394 } |
398 | 395 |
399 | 396 |
400 } // namespace net | 397 } // namespace net |
OLD | NEW |