diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-01 00:50:32 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-01 00:50:32 +0000 |
commit | e7f48fe5924df6cbd42dff40731ba029d2503678 (patch) | |
tree | 2cb2c0b04399b134f5170ba4fa6554a141cfb146 /net/curvecp | |
parent | e6e646d8463bfeb97894e756073add37a401c85b (diff) | |
download | chromium_src-e7f48fe5924df6cbd42dff40731ba029d2503678.zip chromium_src-e7f48fe5924df6cbd42dff40731ba029d2503678.tar.gz chromium_src-e7f48fe5924df6cbd42dff40731ba029d2503678.tar.bz2 |
base::Bind: More random cleanups.
BUG=none
TEST=none
R=groby@chromium.org
Review URL: http://codereview.chromium.org/8734017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112362 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/curvecp')
-rw-r--r-- | net/curvecp/client_packetizer.cc | 7 | ||||
-rw-r--r-- | net/curvecp/client_packetizer.h | 3 |
2 files changed, 6 insertions, 4 deletions
diff --git a/net/curvecp/client_packetizer.cc b/net/curvecp/client_packetizer.cc index 2d96b1f..72bf4a0 100644 --- a/net/curvecp/client_packetizer.cc +++ b/net/curvecp/client_packetizer.cc @@ -4,6 +4,7 @@ #include "net/curvecp/client_packetizer.h" +#include "base/bind.h" #include "net/base/io_buffer.h" #include "net/base/net_errors.h" #include "net/base/sys_addrinfo.h" @@ -38,7 +39,7 @@ ClientPacketizer::ClientPacketizer() initiate_sent_(false), ALLOW_THIS_IN_INITIALIZER_LIST( io_callback_(this, &ClientPacketizer::OnIOComplete)), - ALLOW_THIS_IN_INITIALIZER_LIST(timers_factory_(this)) { + ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { // TODO(mbelshe): Initialize our keys and such properly. // for now we use random values to keep them unique. for (int i = 0; i < 32; ++i) @@ -315,12 +316,12 @@ int ClientPacketizer::ConnectNextAddress() { void ClientPacketizer::StartHelloTimer(int milliseconds) { MessageLoop::current()->PostDelayedTask( FROM_HERE, - timers_factory_.NewRunnableMethod(&ClientPacketizer::OnHelloTimeout), + base::Bind(&ClientPacketizer::OnHelloTimeout, weak_factory_.GetWeakPtr()), milliseconds); } void ClientPacketizer::RevokeHelloTimer() { - timers_factory_.RevokeAll(); + weak_factory_.InvalidateWeakPtrs(); } void ClientPacketizer::OnHelloTimeout() { diff --git a/net/curvecp/client_packetizer.h b/net/curvecp/client_packetizer.h index 4adfe80..4915bbe 100644 --- a/net/curvecp/client_packetizer.h +++ b/net/curvecp/client_packetizer.h @@ -8,6 +8,7 @@ #include "base/compiler_specific.h" #include "base/memory/scoped_ptr.h" +#include "base/memory/weak_ptr.h" #include "base/task.h" #include "net/base/address_list.h" #include "net/base/completion_callback.h" @@ -93,7 +94,7 @@ class ClientPacketizer : public Packetizer { uchar shortterm_public_key_[32]; OldCompletionCallbackImpl<ClientPacketizer> io_callback_; - ScopedRunnableMethodFactory<ClientPacketizer> timers_factory_; + base::WeakPtrFactory<ClientPacketizer> weak_factory_; DISALLOW_COPY_AND_ASSIGN(ClientPacketizer); }; |