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

Unified Diff: net/spdy/spdy_session.cc

Issue 8824006: Migrate net/socket/socket.h, net/socket/stream_socket.h to base::Bind(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased 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
« no previous file with comments | « net/spdy/spdy_session.h ('k') | net/udp/datagram_server_socket.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/spdy_session.cc
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
index 686f4ae350addf216bab6b3f94c89906bf560219..17c18ebdf52e121a0cb82b8592dbe737aca4d034 100644
--- a/net/spdy/spdy_session.cc
+++ b/net/spdy/spdy_session.cc
@@ -252,11 +252,7 @@ SpdySession::SpdySession(const HostPortProxyPair& host_port_proxy_pair,
HttpServerProperties* http_server_properties,
bool verify_domain_authentication,
NetLog* net_log)
- : ALLOW_THIS_IN_INITIALIZER_LIST(
- read_callback_(this, &SpdySession::OnReadComplete)),
- ALLOW_THIS_IN_INITIALIZER_LIST(
- write_callback_(this, &SpdySession::OnWriteComplete)),
- ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)),
+ : ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)),
host_port_proxy_pair_(host_port_proxy_pair),
spdy_session_pool_(spdy_session_pool),
http_server_properties_(http_server_properties),
@@ -428,8 +424,8 @@ void SpdySession::ProcessPendingCreateStreams() {
CallbackResultPair(pending_create.callback, error);
MessageLoop::current()->PostTask(
FROM_HERE,
- method_factory_.NewRunnableMethod(
- &SpdySession::InvokeUserStreamCreationCallback, stream));
+ base::Bind(&SpdySession::InvokeUserStreamCreationCallback,
+ weak_factory_.GetWeakPtr(), stream));
break;
}
}
@@ -757,9 +753,10 @@ net::Error SpdySession::ReadSocket() {
CHECK(connection_.get());
CHECK(connection_->socket());
- int bytes_read = connection_->socket()->Read(read_buffer_.get(),
- kReadBufferSize,
- &read_callback_);
+ int bytes_read = connection_->socket()->Read(
+ read_buffer_.get(),
+ kReadBufferSize,
+ base::Bind(&SpdySession::OnReadComplete, base::Unretained(this)));
switch (bytes_read) {
case 0:
// Socket is closed!
@@ -776,8 +773,8 @@ net::Error SpdySession::ReadSocket() {
read_pending_ = true;
MessageLoop::current()->PostTask(
FROM_HERE,
- method_factory_.NewRunnableMethod(
- &SpdySession::OnReadComplete, bytes_read));
+ base::Bind(&SpdySession::OnReadComplete,
+ weak_factory_.GetWeakPtr(), bytes_read));
break;
}
return OK;
@@ -793,7 +790,7 @@ void SpdySession::WriteSocketLater() {
delayed_write_pending_ = true;
MessageLoop::current()->PostTask(
FROM_HERE,
- method_factory_.NewRunnableMethod(&SpdySession::WriteSocket));
+ base::Bind(&SpdySession::WriteSocket, weak_factory_.GetWeakPtr()));
}
void SpdySession::WriteSocket() {
@@ -850,8 +847,10 @@ void SpdySession::WriteSocket() {
}
write_pending_ = true;
- int rv = connection_->socket()->Write(in_flight_write_.buffer(),
- in_flight_write_.buffer()->BytesRemaining(), &write_callback_);
+ int rv = connection_->socket()->Write(
+ in_flight_write_.buffer(),
+ in_flight_write_.buffer()->BytesRemaining(),
+ base::Bind(&SpdySession::OnWriteComplete, base::Unretained(this)));
if (rv == net::ERR_IO_PENDING)
break;
@@ -1596,7 +1595,7 @@ void SpdySession::PlanToSendTrailingPing() {
trailing_ping_pending_ = true;
MessageLoop::current()->PostDelayedTask(
FROM_HERE,
- method_factory_.NewRunnableMethod(&SpdySession::SendTrailingPing),
+ base::Bind(&SpdySession::SendTrailingPing, weak_factory_.GetWeakPtr()),
trailing_ping_delay_time_ms_);
}
@@ -1632,8 +1631,8 @@ void SpdySession::PlanToCheckPingStatus() {
check_ping_status_pending_ = true;
MessageLoop::current()->PostDelayedTask(
FROM_HERE,
- method_factory_.NewRunnableMethod(
- &SpdySession::CheckPingStatus, base::TimeTicks::Now()),
+ base::Bind(&SpdySession::CheckPingStatus, weak_factory_.GetWeakPtr(),
+ base::TimeTicks::Now()),
hung_interval_ms_);
}
@@ -1664,7 +1663,8 @@ void SpdySession::CheckPingStatus(base::TimeTicks last_check_time) {
// Check the status of connection after a delay.
MessageLoop::current()->PostDelayedTask(
FROM_HERE,
- method_factory_.NewRunnableMethod(&SpdySession::CheckPingStatus, now),
+ base::Bind(&SpdySession::CheckPingStatus, weak_factory_.GetWeakPtr(),
+ now),
delay.InMilliseconds());
}
« no previous file with comments | « net/spdy/spdy_session.h ('k') | net/udp/datagram_server_socket.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698