summaryrefslogtreecommitdiffstats
path: root/net/socket_stream/socket_stream.cc
diff options
context:
space:
mode:
authorajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-09 18:43:55 +0000
committerajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-09 18:43:55 +0000
commit83039bbf2f2ec0e918f7000b5212d104f60f2bb7 (patch)
treeb22dbd0051b57a437a588772a874271f0d02ffdb /net/socket_stream/socket_stream.cc
parente7456a206fe5b50aeb322ebabd6c26adc869a5fd (diff)
downloadchromium_src-83039bbf2f2ec0e918f7000b5212d104f60f2bb7.zip
chromium_src-83039bbf2f2ec0e918f7000b5212d104f60f2bb7.tar.gz
chromium_src-83039bbf2f2ec0e918f7000b5212d104f60f2bb7.tar.bz2
Migrate net/socket/socket.h, net/socket/stream_socket.h to base::Bind().
This changes Socket::Read(), Socket::Write, and StreamSocket::Connect() to use CompletionCallback and fixes all users. BUG=none TEST=existing. Review URL: http://codereview.chromium.org/8824006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113825 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket_stream/socket_stream.cc')
-rw-r--r--net/socket_stream/socket_stream.cc23
1 files changed, 11 insertions, 12 deletions
diff --git a/net/socket_stream/socket_stream.cc b/net/socket_stream/socket_stream.cc
index e948570..0e9f6b0 100644
--- a/net/socket_stream/socket_stream.cc
+++ b/net/socket_stream/socket_stream.cc
@@ -71,10 +71,6 @@ SocketStream::SocketStream(const GURL& url, Delegate* delegate)
base::Unretained(this)))),
ALLOW_THIS_IN_INITIALIZER_LIST(
io_callback_old_(this, &SocketStream::OnIOCompleted)),
- ALLOW_THIS_IN_INITIALIZER_LIST(
- read_callback_old_(this, &SocketStream::OnReadCompleted)),
- ALLOW_THIS_IN_INITIALIZER_LIST(
- write_callback_old_(this, &SocketStream::OnWriteCompleted)),
read_buf_(NULL),
write_buf_(NULL),
current_write_buf_(NULL),
@@ -668,7 +664,7 @@ int SocketStream::DoTcpConnect(int result) {
net_log_.net_log(),
net_log_.source()));
metrics_->OnStartConnection();
- return socket_->Connect(&io_callback_old_);
+ return socket_->Connect(io_callback_);
}
int SocketStream::DoTcpConnectComplete(int result) {
@@ -761,7 +757,7 @@ int SocketStream::DoWriteTunnelHeaders() {
int buf_len = static_cast<int>(tunnel_request_headers_->headers_.size() -
tunnel_request_headers_bytes_sent_);
DCHECK_GT(buf_len, 0);
- return socket_->Write(tunnel_request_headers_, buf_len, &io_callback_old_);
+ return socket_->Write(tunnel_request_headers_, buf_len, io_callback_);
}
int SocketStream::DoWriteTunnelHeadersComplete(int result) {
@@ -798,7 +794,7 @@ int SocketStream::DoReadTunnelHeaders() {
tunnel_response_headers_->SetDataOffset(tunnel_response_headers_len_);
CHECK(tunnel_response_headers_->data());
- return socket_->Read(tunnel_response_headers_, buf_len, &io_callback_old_);
+ return socket_->Read(tunnel_response_headers_, buf_len, io_callback_);
}
int SocketStream::DoReadTunnelHeadersComplete(int result) {
@@ -895,7 +891,7 @@ int SocketStream::DoSOCKSConnect() {
s = new SOCKSClientSocket(s, req_info, host_resolver_);
socket_.reset(s);
metrics_->OnCountConnectionType(SocketStreamMetrics::SOCKS_CONNECTION);
- return socket_->Connect(&io_callback_old_);
+ return socket_->Connect(io_callback_);
}
int SocketStream::DoSOCKSConnectComplete(int result) {
@@ -926,7 +922,7 @@ int SocketStream::DoSecureProxyConnect() {
ssl_context));
next_state_ = STATE_SECURE_PROXY_CONNECT_COMPLETE;
metrics_->OnCountConnectionType(SocketStreamMetrics::SECURE_PROXY_CONNECTION);
- return socket_->Connect(&io_callback_old_);
+ return socket_->Connect(io_callback_);
}
int SocketStream::DoSecureProxyConnectComplete(int result) {
@@ -956,7 +952,7 @@ int SocketStream::DoSSLConnect() {
ssl_context));
next_state_ = STATE_SSL_CONNECT_COMPLETE;
metrics_->OnCountConnectionType(SocketStreamMetrics::SSL_CONNECTION);
- return socket_->Connect(&io_callback_old_);
+ return socket_->Connect(io_callback_);
}
int SocketStream::DoSSLConnectComplete(int result) {
@@ -1001,7 +997,9 @@ int SocketStream::DoReadWrite(int result) {
if (!read_buf_) {
// No read pending and server didn't close the socket.
read_buf_ = new IOBuffer(kReadBufferSize);
- result = socket_->Read(read_buf_, kReadBufferSize, &read_callback_old_);
+ result = socket_->Read(read_buf_, kReadBufferSize,
+ base::Bind(&SocketStream::OnReadCompleted,
+ base::Unretained(this)));
if (result > 0) {
return DidReceiveData(result);
} else if (result == 0) {
@@ -1029,7 +1027,8 @@ int SocketStream::DoReadWrite(int result) {
current_write_buf_->SetOffset(write_buf_offset_);
result = socket_->Write(current_write_buf_,
current_write_buf_->BytesRemaining(),
- &write_callback_old_);
+ base::Bind(&SocketStream::OnWriteCompleted,
+ base::Unretained(this)));
if (result > 0) {
return DidSendData(result);
}