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

Side by Side Diff: net/socket_stream/socket_stream.cc

Issue 1696005: Add net log entries that summarize transmit and receive byte counts. (Closed)
Patch Set: More tests and address comments Created 10 years, 8 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
« no previous file with comments | « net/socket/tcp_pinger.h ('k') | net/spdy/spdy_session.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) 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 // TODO(ukai): code is similar with http_network_transaction.cc. We should 5 // TODO(ukai): code is similar with http_network_transaction.cc. We should
6 // think about ways to share code, if possible. 6 // think about ways to share code, if possible.
7 7
8 #include "net/socket_stream/socket_stream.h" 8 #include "net/socket_stream/socket_stream.h"
9 9
10 #include <string> 10 #include <string>
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 } else { 492 } else {
493 next_state_ = STATE_CLOSE; 493 next_state_ = STATE_CLOSE;
494 } 494 }
495 // TODO(ukai): if error occured, reconsider proxy after error. 495 // TODO(ukai): if error occured, reconsider proxy after error.
496 return result; 496 return result;
497 } 497 }
498 498
499 int SocketStream::DoTcpConnect() { 499 int SocketStream::DoTcpConnect() {
500 next_state_ = STATE_TCP_CONNECT_COMPLETE; 500 next_state_ = STATE_TCP_CONNECT_COMPLETE;
501 DCHECK(factory_); 501 DCHECK(factory_);
502 socket_.reset(factory_->CreateTCPClientSocket(addresses_)); 502 socket_.reset(factory_->CreateTCPClientSocket(addresses_,
503 net_log_.net_log()));
503 metrics_->OnStartConnection(); 504 metrics_->OnStartConnection();
504 return socket_->Connect(&io_callback_, net_log_); 505 return socket_->Connect(&io_callback_);
505 } 506 }
506 507
507 int SocketStream::DoTcpConnectComplete(int result) { 508 int SocketStream::DoTcpConnectComplete(int result) {
508 // TODO(ukai): if error occured, reconsider proxy after error. 509 // TODO(ukai): if error occured, reconsider proxy after error.
509 if (result != OK) { 510 if (result != OK) {
510 next_state_ = STATE_CLOSE; 511 next_state_ = STATE_CLOSE;
511 return result; 512 return result;
512 } 513 }
513 514
514 if (proxy_mode_ == kTunnelProxy) 515 if (proxy_mode_ == kTunnelProxy)
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
710 ClientSocket* s = socket_.release(); 711 ClientSocket* s = socket_.release();
711 HostResolver::RequestInfo req_info(url_.HostNoBrackets(), 712 HostResolver::RequestInfo req_info(url_.HostNoBrackets(),
712 url_.EffectiveIntPort()); 713 url_.EffectiveIntPort());
713 714
714 if (proxy_info_.proxy_server().scheme() == ProxyServer::SCHEME_SOCKS5) 715 if (proxy_info_.proxy_server().scheme() == ProxyServer::SCHEME_SOCKS5)
715 s = new SOCKS5ClientSocket(s, req_info); 716 s = new SOCKS5ClientSocket(s, req_info);
716 else 717 else
717 s = new SOCKSClientSocket(s, req_info, host_resolver_.get()); 718 s = new SOCKSClientSocket(s, req_info, host_resolver_.get());
718 socket_.reset(s); 719 socket_.reset(s);
719 metrics_->OnSOCKSProxy(); 720 metrics_->OnSOCKSProxy();
720 return socket_->Connect(&io_callback_, net_log_); 721 return socket_->Connect(&io_callback_);
721 } 722 }
722 723
723 int SocketStream::DoSOCKSConnectComplete(int result) { 724 int SocketStream::DoSOCKSConnectComplete(int result) {
724 DCHECK_EQ(kSOCKSProxy, proxy_mode_); 725 DCHECK_EQ(kSOCKSProxy, proxy_mode_);
725 726
726 if (result == OK) { 727 if (result == OK) {
727 if (is_secure()) 728 if (is_secure())
728 next_state_ = STATE_SSL_CONNECT; 729 next_state_ = STATE_SSL_CONNECT;
729 else 730 else
730 result = DidEstablishConnection(); 731 result = DidEstablishConnection();
731 } else { 732 } else {
732 next_state_ = STATE_CLOSE; 733 next_state_ = STATE_CLOSE;
733 } 734 }
734 return result; 735 return result;
735 } 736 }
736 737
737 int SocketStream::DoSSLConnect() { 738 int SocketStream::DoSSLConnect() {
738 DCHECK(factory_); 739 DCHECK(factory_);
739 socket_.reset(factory_->CreateSSLClientSocket( 740 socket_.reset(factory_->CreateSSLClientSocket(
740 socket_.release(), url_.HostNoBrackets(), ssl_config_)); 741 socket_.release(), url_.HostNoBrackets(), ssl_config_));
741 next_state_ = STATE_SSL_CONNECT_COMPLETE; 742 next_state_ = STATE_SSL_CONNECT_COMPLETE;
742 metrics_->OnSSLConnection(); 743 metrics_->OnSSLConnection();
743 return socket_->Connect(&io_callback_, net_log_); 744 return socket_->Connect(&io_callback_);
744 } 745 }
745 746
746 int SocketStream::DoSSLConnectComplete(int result) { 747 int SocketStream::DoSSLConnectComplete(int result) {
747 if (IsCertificateError(result)) { 748 if (IsCertificateError(result)) {
748 if (socket_->IsConnectedAndIdle()) { 749 if (socket_->IsConnectedAndIdle()) {
749 result = HandleCertificateError(result); 750 result = HandleCertificateError(result);
750 } else { 751 } else {
751 // SSLClientSocket for Mac will report socket is not connected, 752 // SSLClientSocket for Mac will report socket is not connected,
752 // if it returns cert verification error. It didn't perform 753 // if it returns cert verification error. It didn't perform
753 // SSLHandshake yet. 754 // SSLHandshake yet.
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 939
939 SSLConfigService* SocketStream::ssl_config_service() const { 940 SSLConfigService* SocketStream::ssl_config_service() const {
940 return context_->ssl_config_service(); 941 return context_->ssl_config_service();
941 } 942 }
942 943
943 ProxyService* SocketStream::proxy_service() const { 944 ProxyService* SocketStream::proxy_service() const {
944 return context_->proxy_service(); 945 return context_->proxy_service();
945 } 946 }
946 947
947 } // namespace net 948 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/tcp_pinger.h ('k') | net/spdy/spdy_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698