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

Side by Side Diff: net/http/http_stream_request.cc

Issue 3197018: Refactor: change the spdy session pool key to take a ProxyServer instead of a stri... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 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/http/http_network_transaction_unittest.cc ('k') | net/proxy/proxy_server.h » ('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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/http/http_stream_request.h" 5 #include "net/http/http_stream_request.h"
6 6
7 #include "base/stl_util-inl.h" 7 #include "base/stl_util-inl.h"
8 #include "base/string_number_conversions.h" 8 #include "base/string_number_conversions.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "net/base/connection_type_histograms.h" 10 #include "net/base/connection_type_histograms.h"
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 bool want_spdy_over_npn = 416 bool want_spdy_over_npn =
417 alternate_protocol_mode_ == kUsingAlternateProtocol && 417 alternate_protocol_mode_ == kUsingAlternateProtocol &&
418 alternate_protocol_ == HttpAlternateProtocols::NPN_SPDY_2; 418 alternate_protocol_ == HttpAlternateProtocols::NPN_SPDY_2;
419 using_ssl_ = request_info().url.SchemeIs("https") || 419 using_ssl_ = request_info().url.SchemeIs("https") ||
420 (force_spdy_always_ && force_spdy_over_ssl_) || 420 (force_spdy_always_ && force_spdy_over_ssl_) ||
421 want_spdy_over_npn; 421 want_spdy_over_npn;
422 using_spdy_ = false; 422 using_spdy_ = false;
423 423
424 // Check first if we have a spdy session for this group. If so, then go 424 // Check first if we have a spdy session for this group. If so, then go
425 // straight to using that. 425 // straight to using that.
426 HostPortProxyPair pair(endpoint_, proxy_info()->proxy_server().ToPacString()); 426 HostPortProxyPair pair(endpoint_, proxy_info()->proxy_server());
427 if (session_->spdy_session_pool()->HasSession(pair)) { 427 if (session_->spdy_session_pool()->HasSession(pair)) {
428 using_spdy_ = true; 428 using_spdy_ = true;
429 next_state_ = STATE_INIT_STREAM; 429 next_state_ = STATE_INIT_STREAM;
430 return OK; 430 return OK;
431 } 431 }
432 432
433 // Build the string used to uniquely identify connections of this type. 433 // Build the string used to uniquely identify connections of this type.
434 // Determine the host and port to connect to. 434 // Determine the host and port to connect to.
435 std::string connection_group = endpoint_.ToString(); 435 std::string connection_group = endpoint_.ToString();
436 DCHECK(!connection_group.empty()); 436 DCHECK(!connection_group.empty());
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 stream_.reset(new HttpStreamHandle(connection_.release(), stream)); 677 stream_.reset(new HttpStreamHandle(connection_.release(), stream));
678 return stream_->InitializeStream(&request_info(), net_log_, &io_callback_); 678 return stream_->InitializeStream(&request_info(), net_log_, &io_callback_);
679 } 679 }
680 680
681 CHECK(!stream_.get()); 681 CHECK(!stream_.get());
682 682
683 const scoped_refptr<SpdySessionPool> spdy_pool = 683 const scoped_refptr<SpdySessionPool> spdy_pool =
684 session_->spdy_session_pool(); 684 session_->spdy_session_pool();
685 scoped_refptr<SpdySession> spdy_session; 685 scoped_refptr<SpdySession> spdy_session;
686 686
687 HostPortProxyPair pair(endpoint_, 687 HostPortProxyPair pair(endpoint_, proxy_info()->proxy_server());
688 proxy_info()->proxy_server().ToPacString());
689 if (session_->spdy_session_pool()->HasSession(pair)) { 688 if (session_->spdy_session_pool()->HasSession(pair)) {
690 spdy_session = 689 spdy_session =
691 session_->spdy_session_pool()->Get(pair, session_, net_log_); 690 session_->spdy_session_pool()->Get(pair, session_, net_log_);
692 } else { 691 } else {
693 // SPDY can be negotiated using the TLS next protocol negotiation (NPN) 692 // SPDY can be negotiated using the TLS next protocol negotiation (NPN)
694 // extension, or just directly using SSL. Either way, |connection_| must 693 // extension, or just directly using SSL. Either way, |connection_| must
695 // contain an SSLClientSocket. 694 // contain an SSLClientSocket.
696 CHECK(connection_->socket()); 695 CHECK(connection_->socket());
697 int error = spdy_pool->GetSpdySessionFromSocket( 696 int error = spdy_pool->GetSpdySessionFromSocket(
698 pair, session_, connection_.release(), net_log_, 697 pair, session_, connection_.release(), net_log_,
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
910 100); 909 100);
911 break; 910 break;
912 default: 911 default:
913 NOTREACHED(); 912 NOTREACHED();
914 break; 913 break;
915 } 914 }
916 } 915 }
917 916
918 } // namespace net 917 } // namespace net
919 918
OLDNEW
« no previous file with comments | « net/http/http_network_transaction_unittest.cc ('k') | net/proxy/proxy_server.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698