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

Side by Side Diff: net/http/http_network_session.h

Issue 7240021: net: Add NET_API for some linux-only files (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #ifndef NET_HTTP_HTTP_NETWORK_SESSION_H_ 5 #ifndef NET_HTTP_HTTP_NETWORK_SESSION_H_
6 #define NET_HTTP_HTTP_NETWORK_SESSION_H_ 6 #define NET_HTTP_HTTP_NETWORK_SESSION_H_
7 #pragma once 7 #pragma once
8 8
9 #include <set> 9 #include <set>
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 91
92 TransportClientSocketPool* transport_socket_pool() { 92 TransportClientSocketPool* transport_socket_pool() {
93 return socket_pool_manager_.transport_socket_pool(); 93 return socket_pool_manager_.transport_socket_pool();
94 } 94 }
95 95
96 SSLClientSocketPool* ssl_socket_pool() { 96 SSLClientSocketPool* ssl_socket_pool() {
97 return socket_pool_manager_.ssl_socket_pool(); 97 return socket_pool_manager_.ssl_socket_pool();
98 } 98 }
99 99
100 SOCKSClientSocketPool* GetSocketPoolForSOCKSProxy( 100 SOCKSClientSocketPool* GetSocketPoolForSOCKSProxy(
101 const HostPortPair& socks_proxy) { 101 const HostPortPair& socks_proxy);
102 return socket_pool_manager_.GetSocketPoolForSOCKSProxy(socks_proxy);
103 }
104 102
105 HttpProxyClientSocketPool* GetSocketPoolForHTTPProxy( 103 HttpProxyClientSocketPool* GetSocketPoolForHTTPProxy(
106 const HostPortPair& http_proxy) { 104 const HostPortPair& http_proxy);
107 return socket_pool_manager_.GetSocketPoolForHTTPProxy(http_proxy);
108 }
109 105
110 SSLClientSocketPool* GetSocketPoolForSSLWithProxy( 106 SSLClientSocketPool* GetSocketPoolForSSLWithProxy(
111 const HostPortPair& proxy_server) { 107 const HostPortPair& proxy_server);
112 return socket_pool_manager_.GetSocketPoolForSSLWithProxy(proxy_server);
113 }
114 108
115 CertVerifier* cert_verifier() { return cert_verifier_; } 109 CertVerifier* cert_verifier() { return cert_verifier_; }
116 ProxyService* proxy_service() { return proxy_service_; } 110 ProxyService* proxy_service() { return proxy_service_; }
117 SSLConfigService* ssl_config_service() { return ssl_config_service_; } 111 SSLConfigService* ssl_config_service() { return ssl_config_service_; }
118 SpdySessionPool* spdy_session_pool() { return &spdy_session_pool_; } 112 SpdySessionPool* spdy_session_pool() { return &spdy_session_pool_; }
119 HttpAuthHandlerFactory* http_auth_handler_factory() { 113 HttpAuthHandlerFactory* http_auth_handler_factory() {
120 return http_auth_handler_factory_; 114 return http_auth_handler_factory_;
121 } 115 }
122 NetworkDelegate* network_delegate() { 116 NetworkDelegate* network_delegate() {
123 return network_delegate_; 117 return network_delegate_;
124 } 118 }
125 119
126 HttpStreamFactory* http_stream_factory() { 120 HttpStreamFactory* http_stream_factory() {
127 return http_stream_factory_.get(); 121 return http_stream_factory_.get();
128 } 122 }
129 123
130 NetLog* net_log() { 124 NetLog* net_log() {
131 return net_log_; 125 return net_log_;
132 } 126 }
133 127
134 // Creates a Value summary of the state of the socket pools. The caller is 128 // Creates a Value summary of the state of the socket pools. The caller is
135 // responsible for deleting the returned value. 129 // responsible for deleting the returned value.
136 Value* SocketPoolInfoToValue() const { 130 Value* SocketPoolInfoToValue() const;
137 return socket_pool_manager_.SocketPoolInfoToValue();
138 }
139 131
140 // Creates a Value summary of the state of the SPDY sessions. The caller is 132 // Creates a Value summary of the state of the SPDY sessions. The caller is
141 // responsible for deleting the returned value. 133 // responsible for deleting the returned value.
142 Value* SpdySessionPoolInfoToValue() const; 134 Value* SpdySessionPoolInfoToValue() const;
143 135
144 void CloseAllConnections() { 136 void CloseAllConnections();
145 socket_pool_manager_.FlushSocketPools(); 137 void CloseIdleConnections();
146 spdy_session_pool_.CloseCurrentSessions();
147 }
148
149 void CloseIdleConnections() {
150 socket_pool_manager_.CloseIdleSockets();
151 }
152
153 138
154 private: 139 private:
155 friend class base::RefCounted<HttpNetworkSession>; 140 friend class base::RefCounted<HttpNetworkSession>;
156 friend class HttpNetworkSessionPeer; 141 friend class HttpNetworkSessionPeer;
157 142
158 ~HttpNetworkSession(); 143 ~HttpNetworkSession();
159 144
160 NetLog* const net_log_; 145 NetLog* const net_log_;
161 NetworkDelegate* const network_delegate_; 146 NetworkDelegate* const network_delegate_;
162 CertVerifier* const cert_verifier_; 147 CertVerifier* const cert_verifier_;
163 HttpAuthHandlerFactory* const http_auth_handler_factory_; 148 HttpAuthHandlerFactory* const http_auth_handler_factory_;
164 149
165 // Not const since it's modified by HttpNetworkSessionPeer for testing. 150 // Not const since it's modified by HttpNetworkSessionPeer for testing.
166 ProxyService* proxy_service_; 151 ProxyService* proxy_service_;
167 const scoped_refptr<SSLConfigService> ssl_config_service_; 152 const scoped_refptr<SSLConfigService> ssl_config_service_;
168 153
169 HttpAuthCache http_auth_cache_; 154 HttpAuthCache http_auth_cache_;
170 SSLClientAuthCache ssl_client_auth_cache_; 155 SSLClientAuthCache ssl_client_auth_cache_;
171 HttpAlternateProtocols alternate_protocols_; 156 HttpAlternateProtocols alternate_protocols_;
172 ClientSocketPoolManager socket_pool_manager_; 157 ClientSocketPoolManager socket_pool_manager_;
173 SpdySessionPool spdy_session_pool_; 158 SpdySessionPool spdy_session_pool_;
174 scoped_ptr<HttpStreamFactory> http_stream_factory_; 159 scoped_ptr<HttpStreamFactory> http_stream_factory_;
175 std::set<HttpResponseBodyDrainer*> response_drainers_; 160 std::set<HttpResponseBodyDrainer*> response_drainers_;
176 }; 161 };
177 162
178 } // namespace net 163 } // namespace net
179 164
180 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ 165 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698