summaryrefslogtreecommitdiffstats
path: root/net/curvecp/client_packetizer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/curvecp/client_packetizer.cc')
-rw-r--r--net/curvecp/client_packetizer.cc7
1 files changed, 4 insertions, 3 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() {