Chromium Code Reviews| Index: net/socket/client_socket_pool.h |
| =================================================================== |
| --- net/socket/client_socket_pool.h (revision 113335) |
| +++ net/socket/client_socket_pool.h (working copy) |
| @@ -29,6 +29,17 @@ |
| class ClientSocketPoolHistograms; |
| class StreamSocket; |
| +// ClientSocketPools are layered. This defines an interface for lower level |
| +// socket pools to communicate with higher layer pools. |
| +class NET_EXPORT LayeredPool { |
|
willchan no longer on Chromium
2011/12/07 03:40:56
Wait, is this only used in tests? Perhaps it shoul
ramant (doing other things)
2011/12/07 03:47:53
It is used by SpdySession, HttpProxyClientSocketPo
|
| + public: |
| + virtual ~LayeredPool() {} |
| + |
| + // Instructs the LayeredPool to close an idle connection. Return true if one |
| + // was closed. |
| + virtual bool CloseOneIdleConnection() = 0; |
| +}; |
| + |
| // A ClientSocketPool is used to restrict the number of sockets open at a time. |
| // It also maintains a list of idle persistent sockets. |
| // |
| @@ -110,6 +121,10 @@ |
| // the pool. Does not flush any pools wrapped by |this|. |
| virtual void Flush() = 0; |
| + // Returns true if a new request may hit a per-pool (not per-host) max socket |
| + // limit. |
| + virtual bool IsStalled() const = 0; |
| + |
| // Called to close any idle connections held by the connection manager. |
| virtual void CloseIdleSockets() = 0; |
| @@ -123,6 +138,12 @@ |
| virtual LoadState GetLoadState(const std::string& group_name, |
| const ClientSocketHandle* handle) const = 0; |
| + // Adds a LayeredPool on top of |this|. |
| + virtual void AddLayeredPool(LayeredPool* layered_pool) = 0; |
| + |
| + // Removes a LayeredPool from |this|. |
| + virtual void RemoveLayeredPool(LayeredPool* layered_pool) = 0; |
| + |
| // Retrieves information on the current state of the pool as a |
| // DictionaryValue. Caller takes possession of the returned value. |
| // If |include_nested_pools| is true, the states of any nested |