Chromium Code Reviews| Index: net/socket/client_socket_pool_base.h |
| diff --git a/net/socket/client_socket_pool_base.h b/net/socket/client_socket_pool_base.h |
| index 9e46e5eabd885c7f9c541b7b5b8b760ad2ddecf8..95338ce60046483b5c9104e5c1f24ccabb316a4f 100644 |
| --- a/net/socket/client_socket_pool_base.h |
| +++ b/net/socket/client_socket_pool_base.h |
| @@ -293,6 +293,14 @@ class NET_EXPORT_PRIVATE ClientSocketPoolBaseHelper |
| bool HasGroup(const std::string& group_name) const; |
| + // Called to enable/disable cleaning up idle sockets. When enabled, |
| + // idle sockets that have been around for longer than a period defined |
| + // by kCleanupInterval are cleaned up using a timer. Otherwise they are |
| + // closed next time client makes a request. This may reduce network |
| + // activity and power consumption. |
| + bool cleanup_timer_enabled() const { return use_cleanup_timer_; } |
| + void SetCleanupTimerEnabled( bool enabled ); |
|
mmenke
2011/11/11 20:19:20
nit: "(bool enabled)"
|
| + |
| // Closes all idle sockets if |force| is true. Else, only closes idle |
| // sockets that timed out or can't be reused. Made public for testing. |
| void CleanupIdleSockets(bool force); |
| @@ -442,6 +450,9 @@ class NET_EXPORT_PRIVATE ClientSocketPoolBaseHelper |
| void IncrementIdleCount(); |
| void DecrementIdleCount(); |
| + // Start cleanup timer for idle sockets. |
| + void StartIdleSocketTimer(); |
| + |
| // Scans the group map for groups which have an available socket slot and |
| // at least one pending request. Returns true if any groups are stalled, and |
| // if so, fills |group| and |group_name| with data of the stalled group |
| @@ -552,6 +563,9 @@ class NET_EXPORT_PRIVATE ClientSocketPoolBaseHelper |
| // The maximum number of sockets kept per group. |
| const int max_sockets_per_group_; |
| + // Whether to use timer to cleanup idle sockets. |
| + bool use_cleanup_timer_; |
| + |
| // The time to wait until closing idle sockets. |
| const base::TimeDelta unused_idle_socket_timeout_; |
| const base::TimeDelta used_idle_socket_timeout_; |
| @@ -705,6 +719,14 @@ class ClientSocketPoolBase { |
| return helper_.HasGroup(group_name); |
| } |
| + bool cleanup_timer_enabled() const { |
| + return helper_.cleanup_timer_enabled(); |
| + } |
| + |
| + void SetCleanupTimerEnabled(bool enabled) { |
| + return helper_.SetCleanupTimerEnabled(enabled); |
| + } |
| + |
| void CleanupIdleSockets(bool force) { |
| return helper_.CleanupIdleSockets(force); |
| } |