| OLD | NEW |
| 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 #ifndef NET_SOCKET_TCP_CLIENT_SOCKET_POOL_H_ | 5 #ifndef NET_SOCKET_TCP_CLIENT_SOCKET_POOL_H_ |
| 6 #define NET_SOCKET_TCP_CLIENT_SOCKET_POOL_H_ | 6 #define NET_SOCKET_TCP_CLIENT_SOCKET_POOL_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 TCPSocketParams(const std::string& host, int port, RequestPriority priority, | 32 TCPSocketParams(const std::string& host, int port, RequestPriority priority, |
| 33 const GURL& referrer, bool disable_resolver_cache); | 33 const GURL& referrer, bool disable_resolver_cache); |
| 34 | 34 |
| 35 const HostResolver::RequestInfo& destination() const { return destination_; } | 35 const HostResolver::RequestInfo& destination() const { return destination_; } |
| 36 | 36 |
| 37 private: | 37 private: |
| 38 friend class base::RefCounted<TCPSocketParams>; | 38 friend class base::RefCounted<TCPSocketParams>; |
| 39 ~TCPSocketParams(); | 39 ~TCPSocketParams(); |
| 40 | 40 |
| 41 void Initialize(RequestPriority priority, const GURL& referrer, | 41 void Initialize(RequestPriority priority, const GURL& referrer, |
| 42 bool disable_resolver_cache) { | 42 bool disable_resolver_cache); |
| 43 // The referrer is used by the DNS prefetch system to correlate resolutions | |
| 44 // with the page that triggered them. It doesn't impact the actual addresses | |
| 45 // that we resolve to. | |
| 46 destination_.set_referrer(referrer); | |
| 47 destination_.set_priority(priority); | |
| 48 if (disable_resolver_cache) | |
| 49 destination_.set_allow_cached_response(false); | |
| 50 } | |
| 51 | 43 |
| 52 HostResolver::RequestInfo destination_; | 44 HostResolver::RequestInfo destination_; |
| 53 | 45 |
| 54 DISALLOW_COPY_AND_ASSIGN(TCPSocketParams); | 46 DISALLOW_COPY_AND_ASSIGN(TCPSocketParams); |
| 55 }; | 47 }; |
| 56 | 48 |
| 57 // TCPConnectJob handles the host resolution necessary for socket creation | 49 // TCPConnectJob handles the host resolution necessary for socket creation |
| 58 // and the tcp connect. | 50 // and the tcp connect. |
| 59 class TCPConnectJob : public ConnectJob { | 51 class TCPConnectJob : public ConnectJob { |
| 60 public: | 52 public: |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 ClientSocketHandle* handle); | 132 ClientSocketHandle* handle); |
| 141 | 133 |
| 142 virtual void ReleaseSocket(const std::string& group_name, | 134 virtual void ReleaseSocket(const std::string& group_name, |
| 143 ClientSocket* socket, | 135 ClientSocket* socket, |
| 144 int id); | 136 int id); |
| 145 | 137 |
| 146 virtual void Flush(); | 138 virtual void Flush(); |
| 147 | 139 |
| 148 virtual void CloseIdleSockets(); | 140 virtual void CloseIdleSockets(); |
| 149 | 141 |
| 150 virtual int IdleSocketCount() const { | 142 virtual int IdleSocketCount() const; |
| 151 return base_.idle_socket_count(); | |
| 152 } | |
| 153 | 143 |
| 154 virtual int IdleSocketCountInGroup(const std::string& group_name) const; | 144 virtual int IdleSocketCountInGroup(const std::string& group_name) const; |
| 155 | 145 |
| 156 virtual LoadState GetLoadState(const std::string& group_name, | 146 virtual LoadState GetLoadState(const std::string& group_name, |
| 157 const ClientSocketHandle* handle) const; | 147 const ClientSocketHandle* handle) const; |
| 158 | 148 |
| 159 virtual DictionaryValue* GetInfoAsValue(const std::string& name, | 149 virtual DictionaryValue* GetInfoAsValue(const std::string& name, |
| 160 const std::string& type, | 150 const std::string& type, |
| 161 bool include_nested_pools) const { | 151 bool include_nested_pools) const; |
| 162 return base_.GetInfoAsValue(name, type); | |
| 163 } | |
| 164 | 152 |
| 165 virtual base::TimeDelta ConnectionTimeout() const { | 153 virtual base::TimeDelta ConnectionTimeout() const; |
| 166 return base_.ConnectionTimeout(); | |
| 167 } | |
| 168 | 154 |
| 169 virtual ClientSocketPoolHistograms* histograms() const { | 155 virtual ClientSocketPoolHistograms* histograms() const; |
| 170 return base_.histograms(); | |
| 171 } | |
| 172 | 156 |
| 173 private: | 157 private: |
| 174 typedef ClientSocketPoolBase<TCPSocketParams> PoolBase; | 158 typedef ClientSocketPoolBase<TCPSocketParams> PoolBase; |
| 175 | 159 |
| 176 class TCPConnectJobFactory | 160 class TCPConnectJobFactory |
| 177 : public PoolBase::ConnectJobFactory { | 161 : public PoolBase::ConnectJobFactory { |
| 178 public: | 162 public: |
| 179 TCPConnectJobFactory(ClientSocketFactory* client_socket_factory, | 163 TCPConnectJobFactory(ClientSocketFactory* client_socket_factory, |
| 180 HostResolver* host_resolver, | 164 HostResolver* host_resolver, |
| 181 NetLog* net_log) | 165 NetLog* net_log) |
| (...skipping 23 matching lines...) Expand all Loading... |
| 205 PoolBase base_; | 189 PoolBase base_; |
| 206 | 190 |
| 207 DISALLOW_COPY_AND_ASSIGN(TCPClientSocketPool); | 191 DISALLOW_COPY_AND_ASSIGN(TCPClientSocketPool); |
| 208 }; | 192 }; |
| 209 | 193 |
| 210 REGISTER_SOCKET_PARAMS_FOR_POOL(TCPClientSocketPool, TCPSocketParams); | 194 REGISTER_SOCKET_PARAMS_FOR_POOL(TCPClientSocketPool, TCPSocketParams); |
| 211 | 195 |
| 212 } // namespace net | 196 } // namespace net |
| 213 | 197 |
| 214 #endif // NET_SOCKET_TCP_CLIENT_SOCKET_POOL_H_ | 198 #endif // NET_SOCKET_TCP_CLIENT_SOCKET_POOL_H_ |
| OLD | NEW |