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 75572cffd9cdb688abf769ce3632ecd311033423..d1abd5826339de3ca504400188b77fcf7ec6dce7 100644 |
--- a/net/socket/client_socket_pool_base.h |
+++ b/net/socket/client_socket_pool_base.h |
@@ -39,6 +39,7 @@ |
#include "net/base/load_states.h" |
#include "net/base/net_errors.h" |
#include "net/base/net_log.h" |
+#include "net/base/network_change_notifier.h" |
#include "net/base/request_priority.h" |
#include "net/socket/client_socket.h" |
#include "net/socket/client_socket_pool.h" |
@@ -121,7 +122,8 @@ namespace internal { |
// ClientSocketPoolBase instead. |
class ClientSocketPoolBaseHelper |
: public base::RefCounted<ClientSocketPoolBaseHelper>, |
- public ConnectJob::Delegate { |
+ public ConnectJob::Delegate, |
+ public NetworkChangeNotifier::Observer { |
public: |
class Request { |
public: |
@@ -168,7 +170,8 @@ class ClientSocketPoolBaseHelper |
int max_sockets_per_group, |
base::TimeDelta unused_idle_socket_timeout, |
base::TimeDelta used_idle_socket_timeout, |
- ConnectJobFactory* connect_job_factory); |
+ ConnectJobFactory* connect_job_factory, |
+ NetworkChangeNotifier* network_change_notifier); |
// See ClientSocketPool::RequestSocket for documentation on this function. |
// Note that |request| must be heap allocated. If ERR_IO_PENDING is returned, |
@@ -208,6 +211,9 @@ class ClientSocketPoolBaseHelper |
// ConnectJob::Delegate methods: |
virtual void OnConnectJobComplete(int result, ConnectJob* job); |
+ // NetworkChangeNotifier::Observer methods: |
+ virtual void OnIPAddressChanged(); |
+ |
// For testing. |
bool may_have_stalled_group() const { return may_have_stalled_group_; } |
@@ -428,6 +434,8 @@ class ClientSocketPoolBaseHelper |
const scoped_ptr<ConnectJobFactory> connect_job_factory_; |
+ NetworkChangeNotifier* const network_change_notifier_; |
+ |
// TODO(vandebo) Remove when backup jobs move to TCPClientSocketPool |
bool backup_jobs_enabled_; |
@@ -494,12 +502,14 @@ class ClientSocketPoolBase { |
const std::string& name, |
base::TimeDelta unused_idle_socket_timeout, |
base::TimeDelta used_idle_socket_timeout, |
- ConnectJobFactory* connect_job_factory) |
+ ConnectJobFactory* connect_job_factory, |
+ NetworkChangeNotifier* network_change_notifier) |
: name_(name), |
helper_(new internal::ClientSocketPoolBaseHelper( |
max_sockets, max_sockets_per_group, |
unused_idle_socket_timeout, used_idle_socket_timeout, |
- new ConnectJobFactoryAdaptor(connect_job_factory))) {} |
+ new ConnectJobFactoryAdaptor(connect_job_factory), |
+ network_change_notifier)) {} |
virtual ~ClientSocketPoolBase() {} |