| 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..970ae63b386694f159425515b253756c8970fd04 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.
|
| + static bool cleanup_timer_enabled();
|
| + static bool set_cleanup_timer_enabled(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_;
|
|
|