| Index: net/socket/client_socket_pool_base.h
 | 
| ===================================================================
 | 
| --- net/socket/client_socket_pool_base.h	(revision 127728)
 | 
| +++ net/socket/client_socket_pool_base.h	(working copy)
 | 
| @@ -28,7 +28,6 @@
 | 
|  #include <map>
 | 
|  #include <set>
 | 
|  #include <string>
 | 
| -#include <vector>
 | 
|  
 | 
|  #include "base/basictypes.h"
 | 
|  #include "base/memory/ref_counted.h"
 | 
| @@ -240,11 +239,6 @@
 | 
|  
 | 
|    virtual ~ClientSocketPoolBaseHelper();
 | 
|  
 | 
| -  // Adds/Removes layered pools. It is expected in the destructor that no
 | 
| -  // layered pools remain.
 | 
| -  void AddLayeredPool(LayeredPool* pool);
 | 
| -  void RemoveLayeredPool(LayeredPool* pool);
 | 
| -
 | 
|    // See ClientSocketPool::RequestSocket for documentation on this function.
 | 
|    // ClientSocketPoolBaseHelper takes ownership of |request|, which must be
 | 
|    // heap allocated.
 | 
| @@ -267,9 +261,6 @@
 | 
|    // See ClientSocketPool::Flush for documentation on this function.
 | 
|    void Flush();
 | 
|  
 | 
| -  // See ClientSocketPool::IsStalled for documentation on this function.
 | 
| -  bool IsStalled() const;
 | 
| -
 | 
|    // See ClientSocketPool::CloseIdleSockets for documentation on this function.
 | 
|    void CloseIdleSockets();
 | 
|  
 | 
| @@ -315,16 +306,6 @@
 | 
|    // sockets that timed out or can't be reused.  Made public for testing.
 | 
|    void CleanupIdleSockets(bool force);
 | 
|  
 | 
| -  // Closes one idle socket.  Picks the first one encountered.
 | 
| -  // TODO(willchan): Consider a better algorithm for doing this.  Perhaps we
 | 
| -  // should keep an ordered list of idle sockets, and close them in order.
 | 
| -  // Requires maintaining more state.  It's not clear if it's worth it since
 | 
| -  // I'm not sure if we hit this situation often.
 | 
| -  bool CloseOneIdleSocket();
 | 
| -
 | 
| -  // Checks layered pools to see if they can close an idle connection.
 | 
| -  bool CloseOneIdleConnectionInLayeredPool();
 | 
| -
 | 
|    // See ClientSocketPool::GetInfoAsValue for documentation on this function.
 | 
|    base::DictionaryValue* GetInfoAsValue(const std::string& name,
 | 
|                                          const std::string& type) const;
 | 
| @@ -390,7 +371,7 @@
 | 
|            static_cast<int>(idle_sockets_.size());
 | 
|      }
 | 
|  
 | 
| -    bool IsStalledOnPoolMaxSockets(int max_sockets_per_group) const {
 | 
| +    bool IsStalled(int max_sockets_per_group) const {
 | 
|        return HasAvailableSocketSlot(max_sockets_per_group) &&
 | 
|            pending_requests_.size() > jobs_.size();
 | 
|      }
 | 
| @@ -476,9 +457,9 @@
 | 
|  
 | 
|    // 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 (and if both |group| and |group_name| are not NULL), fills |group|
 | 
| -  // and |group_name| with data of the stalled group having highest priority.
 | 
| -  bool FindTopStalledGroup(Group** group, std::string* group_name) const;
 | 
| +  // if so, fills |group| and |group_name| with data of the stalled group
 | 
| +  // having highest priority.
 | 
| +  bool FindTopStalledGroup(Group** group, std::string* group_name);
 | 
|  
 | 
|    // Called when timer_ fires.  This method scans the idle sockets removing
 | 
|    // sockets that timed out or can't be reused.
 | 
| @@ -530,6 +511,13 @@
 | 
|    static void LogBoundConnectJobToRequest(
 | 
|        const NetLog::Source& connect_job_source, const Request* request);
 | 
|  
 | 
| +  // Closes one idle socket.  Picks the first one encountered.
 | 
| +  // TODO(willchan): Consider a better algorithm for doing this.  Perhaps we
 | 
| +  // should keep an ordered list of idle sockets, and close them in order.
 | 
| +  // Requires maintaining more state.  It's not clear if it's worth it since
 | 
| +  // I'm not sure if we hit this situation often.
 | 
| +  void CloseOneIdleSocket();
 | 
| +
 | 
|    // Same as CloseOneIdleSocket() except it won't close an idle socket in
 | 
|    // |group|.  If |group| is NULL, it is ignored.  Returns true if it closed a
 | 
|    // socket.
 | 
| @@ -594,8 +582,6 @@
 | 
|    // make sure that they are discarded rather than reused.
 | 
|    int pool_generation_number_;
 | 
|  
 | 
| -  std::set<LayeredPool*> higher_layer_pools_;
 | 
| -
 | 
|    base::WeakPtrFactory<ClientSocketPoolBaseHelper> weak_factory_;
 | 
|  
 | 
|    DISALLOW_COPY_AND_ASSIGN(ClientSocketPoolBaseHelper);
 | 
| @@ -662,14 +648,7 @@
 | 
|    virtual ~ClientSocketPoolBase() {}
 | 
|  
 | 
|    // These member functions simply forward to ClientSocketPoolBaseHelper.
 | 
| -  void AddLayeredPool(LayeredPool* pool) {
 | 
| -    helper_.AddLayeredPool(pool);
 | 
| -  }
 | 
|  
 | 
| -  void RemoveLayeredPool(LayeredPool* pool) {
 | 
| -    helper_.RemoveLayeredPool(pool);
 | 
| -  }
 | 
| -
 | 
|    // RequestSocket bundles up the parameters into a Request and then forwards to
 | 
|    // ClientSocketPoolBaseHelper::RequestSocket().
 | 
|    int RequestSocket(const std::string& group_name,
 | 
| @@ -713,10 +692,6 @@
 | 
|      return helper_.ReleaseSocket(group_name, socket, id);
 | 
|    }
 | 
|  
 | 
| -  void Flush() { helper_.Flush(); }
 | 
| -
 | 
| -  bool IsStalled() const { return helper_.IsStalled(); }
 | 
| -
 | 
|    void CloseIdleSockets() { return helper_.CloseIdleSockets(); }
 | 
|  
 | 
|    int idle_socket_count() const { return helper_.idle_socket_count(); }
 | 
| @@ -765,12 +740,8 @@
 | 
|  
 | 
|    void EnableConnectBackupJobs() { helper_.EnableConnectBackupJobs(); }
 | 
|  
 | 
| -  bool CloseOneIdleSocket() { return helper_.CloseOneIdleSocket(); }
 | 
| +  void Flush() { helper_.Flush(); }
 | 
|  
 | 
| -  bool CloseOneIdleConnectionInLayeredPool() {
 | 
| -    return helper_.CloseOneIdleConnectionInLayeredPool();
 | 
| -  }
 | 
| -
 | 
|   private:
 | 
|    // This adaptor class exists to bridge the
 | 
|    // internal::ClientSocketPoolBaseHelper::ConnectJobFactory and
 | 
| 
 |