Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(728)

Unified Diff: net/socket/client_socket_pool_base.h

Issue 8990001: base::Bind: Convert most of net/http. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Clang. Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 052c613aa4d3420aa687516634e22782e27b761b..bfe5d45e3978cbf56741c5314f85d799a6e95c87 100644
--- a/net/socket/client_socket_pool_base.h
+++ b/net/socket/client_socket_pool_base.h
@@ -33,6 +33,7 @@
#include "base/basictypes.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
+#include "base/memory/weak_ptr.h"
#include "base/task.h"
#include "base/time.h"
#include "base/timer.h"
@@ -189,7 +190,7 @@ class NET_EXPORT_PRIVATE ClientSocketPoolBaseHelper
class NET_EXPORT_PRIVATE Request {
public:
Request(ClientSocketHandle* handle,
- OldCompletionCallback* callback,
+ const CompletionCallback& callback,
RequestPriority priority,
bool ignore_limits,
Flags flags,
@@ -198,7 +199,7 @@ class NET_EXPORT_PRIVATE ClientSocketPoolBaseHelper
virtual ~Request();
ClientSocketHandle* handle() const { return handle_; }
- OldCompletionCallback* callback() const { return callback_; }
+ const CompletionCallback& callback() const { return callback_; }
RequestPriority priority() const { return priority_; }
bool ignore_limits() const { return ignore_limits_; }
Flags flags() const { return flags_; }
@@ -206,7 +207,7 @@ class NET_EXPORT_PRIVATE ClientSocketPoolBaseHelper
private:
ClientSocketHandle* const handle_;
- OldCompletionCallback* const callback_;
+ CompletionCallback callback_;
const RequestPriority priority_;
bool ignore_limits_;
const Flags flags_;
@@ -398,10 +399,10 @@ class NET_EXPORT_PRIVATE ClientSocketPoolBaseHelper
return pending_requests_.front()->priority();
}
- bool HasBackupJob() const { return !method_factory_.empty(); }
+ bool HasBackupJob() const { return weak_factory_.HasWeakPtrs(); }
void CleanupBackupJob() {
- method_factory_.RevokeAll();
+ weak_factory_.InvalidateWeakPtrs();
}
// Set a timer to create a backup socket if it takes too long to create one.
@@ -437,7 +438,7 @@ class NET_EXPORT_PRIVATE ClientSocketPoolBaseHelper
RequestQueue pending_requests_;
int active_socket_count_; // number of active sockets used by clients
// A factory to pin the backup_job tasks.
- ScopedRunnableMethodFactory<Group> method_factory_;
+ base::WeakPtrFactory<Group> weak_factory_;
};
typedef std::map<std::string, Group*> GroupMap;
@@ -445,11 +446,12 @@ class NET_EXPORT_PRIVATE ClientSocketPoolBaseHelper
typedef std::set<ConnectJob*> ConnectJobSet;
struct CallbackResultPair {
- CallbackResultPair() : callback(NULL), result(OK) {}
- CallbackResultPair(OldCompletionCallback* callback_in, int result_in)
+ CallbackResultPair() : result(OK) {}
+ CallbackResultPair(const CompletionCallback& callback_in, int result_in)
: callback(callback_in), result(result_in) {}
+ ~CallbackResultPair();
- OldCompletionCallback* callback;
+ CompletionCallback callback;
int result;
};
@@ -541,7 +543,7 @@ class NET_EXPORT_PRIVATE ClientSocketPoolBaseHelper
// current message loop. Inserts |callback| into |pending_callback_map_|,
// keyed by |handle|.
void InvokeUserCallbackLater(
- ClientSocketHandle* handle, OldCompletionCallback* callback, int rv);
+ ClientSocketHandle* handle, const CompletionCallback& callback, int rv);
// Invokes the user callback for |handle|. By the time this task has run,
// it's possible that the request has been cancelled, so |handle| may not
@@ -594,7 +596,7 @@ class NET_EXPORT_PRIVATE ClientSocketPoolBaseHelper
std::set<LayeredPool*> higher_layer_pools_;
- ScopedRunnableMethodFactory<ClientSocketPoolBaseHelper> method_factory_;
+ base::WeakPtrFactory<ClientSocketPoolBaseHelper> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(ClientSocketPoolBaseHelper);
};
@@ -607,7 +609,7 @@ class ClientSocketPoolBase {
class Request : public internal::ClientSocketPoolBaseHelper::Request {
public:
Request(ClientSocketHandle* handle,
- OldCompletionCallback* callback,
+ const CompletionCallback& callback,
RequestPriority priority,
internal::ClientSocketPoolBaseHelper::Flags flags,
bool ignore_limits,
@@ -674,7 +676,7 @@ class ClientSocketPoolBase {
const scoped_refptr<SocketParams>& params,
RequestPriority priority,
ClientSocketHandle* handle,
- OldCompletionCallback* callback,
+ const CompletionCallback& callback,
const BoundNetLog& net_log) {
Request* request =
new Request(handle, callback, priority,
@@ -692,7 +694,7 @@ class ClientSocketPoolBase {
int num_sockets,
const BoundNetLog& net_log) {
const Request request(NULL /* no handle */,
- NULL /* no callback */,
+ CompletionCallback(),
LOWEST,
internal::ClientSocketPoolBaseHelper::NO_IDLE_SOCKETS,
params->ignore_limits(),

Powered by Google App Engine
This is Rietveld 408576698