summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-09 01:06:19 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-09 01:06:19 +0000
commitf749f9cee070a7a15107fa9cce6b89ad1d969bcf (patch)
tree0ecb3a7dd6daff154a8e2bf441ee097704651815 /net
parent4df3c1c675ded79c6c5d2f210a3131808ac93abd (diff)
downloadchromium_src-f749f9cee070a7a15107fa9cce6b89ad1d969bcf.zip
chromium_src-f749f9cee070a7a15107fa9cce6b89ad1d969bcf.tar.gz
chromium_src-f749f9cee070a7a15107fa9cce6b89ad1d969bcf.tar.bz2
Revert 113699 - base::Bind: Convert Socket::Write.
BUG=none TEST=none R=csilv Review URL: http://codereview.chromium.org/8831001 TBR=jhawkins@chromium.org Review URL: http://codereview.chromium.org/8889036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113719 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/curvecp/curvecp_client_socket.cc5
-rw-r--r--net/curvecp/curvecp_client_socket.h3
-rw-r--r--net/curvecp/curvecp_server_socket.cc5
-rw-r--r--net/curvecp/curvecp_server_socket.h3
-rw-r--r--net/curvecp/messenger.cc41
-rw-r--r--net/curvecp/messenger.h4
-rw-r--r--net/http/http_proxy_client_socket.cc9
-rw-r--r--net/http/http_proxy_client_socket.h3
-rw-r--r--net/socket/client_socket_pool_base_unittest.cc5
-rw-r--r--net/socket/socket.h2
-rw-r--r--net/socket/socket_test_util.cc119
-rw-r--r--net/socket/socket_test_util.h17
-rw-r--r--net/socket/socks5_client_socket.cc12
-rw-r--r--net/socket/socks5_client_socket.h3
-rw-r--r--net/socket/socks_client_socket.cc10
-rw-r--r--net/socket/socks_client_socket.h3
-rw-r--r--net/socket/ssl_client_socket_mac.cc42
-rw-r--r--net/socket/ssl_client_socket_mac.h6
-rw-r--r--net/socket/ssl_client_socket_nss.cc61
-rw-r--r--net/socket/ssl_client_socket_nss.h6
-rw-r--r--net/socket/ssl_client_socket_openssl.cc40
-rw-r--r--net/socket/ssl_client_socket_openssl.h8
-rw-r--r--net/socket/ssl_client_socket_win.cc46
-rw-r--r--net/socket/ssl_client_socket_win.h8
-rw-r--r--net/socket/ssl_server_socket_nss.cc43
-rw-r--r--net/socket/ssl_server_socket_nss.h5
-rw-r--r--net/socket/ssl_server_socket_unittest.cc14
-rw-r--r--net/socket/tcp_client_socket_libevent.cc36
-rw-r--r--net/socket/tcp_client_socket_libevent.h3
-rw-r--r--net/socket/tcp_client_socket_win.cc72
-rw-r--r--net/socket/tcp_client_socket_win.h8
-rw-r--r--net/socket/transport_client_socket_pool_unittest.cc12
-rw-r--r--net/socket/web_socket_server_socket.cc47
-rw-r--r--net/socket/web_socket_server_socket_unittest.cc24
-rw-r--r--net/spdy/spdy_proxy_client_socket.cc73
-rw-r--r--net/spdy/spdy_proxy_client_socket.h6
-rw-r--r--net/udp/udp_client_socket.cc5
-rw-r--r--net/udp/udp_client_socket.h2
-rw-r--r--net/udp/udp_socket_libevent.cc58
-rw-r--r--net/udp/udp_socket_libevent.h10
-rw-r--r--net/udp/udp_socket_win.cc47
-rw-r--r--net/udp/udp_socket_win.h8
42 files changed, 130 insertions, 804 deletions
diff --git a/net/curvecp/curvecp_client_socket.cc b/net/curvecp/curvecp_client_socket.cc
index d6889cf..6772e38 100644
--- a/net/curvecp/curvecp_client_socket.cc
+++ b/net/curvecp/curvecp_client_socket.cc
@@ -116,11 +116,6 @@ int CurveCPClientSocket::Write(IOBuffer* buf,
OldCompletionCallback* callback) {
return messenger_.Write(buf, buf_len, callback);
}
-int CurveCPClientSocket::Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- return messenger_.Write(buf, buf_len, callback);
-}
bool CurveCPClientSocket::SetReceiveBufferSize(int32 size) {
return true;
diff --git a/net/curvecp/curvecp_client_socket.h b/net/curvecp/curvecp_client_socket.h
index 90e2253..8062c87 100644
--- a/net/curvecp/curvecp_client_socket.h
+++ b/net/curvecp/curvecp_client_socket.h
@@ -51,9 +51,6 @@ class CurveCPClientSocket : public StreamSocket {
virtual int Write(IOBuffer* buf,
int buf_len,
OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) OVERRIDE;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
diff --git a/net/curvecp/curvecp_server_socket.cc b/net/curvecp/curvecp_server_socket.cc
index b48f82f..6e7934c 100644
--- a/net/curvecp/curvecp_server_socket.cc
+++ b/net/curvecp/curvecp_server_socket.cc
@@ -63,11 +63,6 @@ int CurveCPServerSocket::Write(IOBuffer* buf,
OldCompletionCallback* callback) {
return messenger_.Write(buf, buf_len, callback);
}
-int CurveCPServerSocket::Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- return messenger_.Write(buf, buf_len, callback);
-}
bool CurveCPServerSocket::SetReceiveBufferSize(int32 size) {
return true;
diff --git a/net/curvecp/curvecp_server_socket.h b/net/curvecp/curvecp_server_socket.h
index bd005f3..a2ea1d7 100644
--- a/net/curvecp/curvecp_server_socket.h
+++ b/net/curvecp/curvecp_server_socket.h
@@ -43,9 +43,6 @@ class CurveCPServerSocket : public Socket,
virtual int Write(IOBuffer* buf,
int buf_len,
OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) OVERRIDE;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
diff --git a/net/curvecp/messenger.cc b/net/curvecp/messenger.cc
index fc9adf5..a99abda 100644
--- a/net/curvecp/messenger.cc
+++ b/net/curvecp/messenger.cc
@@ -58,7 +58,7 @@ static const size_t kReceiveBufferSize = (128 * 1024);
Messenger::Messenger(Packetizer* packetizer)
: packetizer_(packetizer),
send_buffer_(kSendBufferSize),
- old_send_complete_callback_(NULL),
+ send_complete_callback_(NULL),
old_receive_complete_callback_(NULL),
pending_receive_length_(0),
send_message_in_progress_(false),
@@ -104,31 +104,10 @@ int Messenger::Read(IOBuffer* buf, int buf_len,
return bytes_read;
}
-int Messenger::Write(
- IOBuffer* buf, int buf_len, OldCompletionCallback* callback) {
+int Messenger::Write(IOBuffer* buf, int buf_len, OldCompletionCallback* callback) {
DCHECK(CalledOnValidThread());
DCHECK(!pending_send_.get()); // Already a write pending!
- DCHECK(!old_send_complete_callback_ && send_complete_callback_.is_null());
- DCHECK_LT(0, buf_len);
-
- int len = send_buffer_.write(buf->data(), buf_len);
- if (!send_timer_.IsRunning())
- send_timer_.Start(FROM_HERE, base::TimeDelta(),
- this, &Messenger::OnSendTimer);
- if (len)
- return len;
-
- // We couldn't add data to the send buffer, so block the application.
- pending_send_ = buf;
- pending_send_length_ = buf_len;
- old_send_complete_callback_ = callback;
- return ERR_IO_PENDING;
-}
-int Messenger::Write(
- IOBuffer* buf, int buf_len, const CompletionCallback& callback) {
- DCHECK(CalledOnValidThread());
- DCHECK(!pending_send_.get()); // Already a write pending!
- DCHECK(!old_send_complete_callback_ && send_complete_callback_.is_null());
+ DCHECK(!send_complete_callback_);
DCHECK_LT(0, buf_len);
int len = send_buffer_.write(buf->data(), buf_len);
@@ -189,21 +168,15 @@ IOBufferWithSize* Messenger::CreateBufferFromSendQueue() {
DCHECK_EQ(bytes, length);
// We consumed data, check to see if someone is waiting to write more data.
- if (old_send_complete_callback_ || !send_complete_callback_.is_null()) {
+ if (send_complete_callback_) {
DCHECK(pending_send_.get());
int len = send_buffer_.write(pending_send_->data(), pending_send_length_);
if (len) {
pending_send_ = NULL;
- if (old_send_complete_callback_) {
- OldCompletionCallback* callback = old_send_complete_callback_;
- old_send_complete_callback_ = NULL;
- callback->Run(len);
- } else {
- CompletionCallback callback = send_complete_callback_;
- send_complete_callback_.Reset();
- callback.Run(len);
- }
+ OldCompletionCallback* callback = send_complete_callback_;
+ send_complete_callback_ = NULL;
+ callback->Run(len);
}
}
diff --git a/net/curvecp/messenger.h b/net/curvecp/messenger.h
index b71c684..bb67946 100644
--- a/net/curvecp/messenger.h
+++ b/net/curvecp/messenger.h
@@ -36,7 +36,6 @@ class Messenger : public base::NonThreadSafe,
int Read(IOBuffer* buf, int buf_len, OldCompletionCallback* callback);
int Read(IOBuffer* buf, int buf_len, const CompletionCallback& callback);
int Write(IOBuffer* buf, int buf_len, OldCompletionCallback* callback);
- int Write(IOBuffer* buf, int buf_len, const CompletionCallback& callback);
// Packetizer::Listener implementation.
virtual void OnConnection(ConnectionKey key) OVERRIDE;
@@ -72,8 +71,7 @@ class Messenger : public base::NonThreadSafe,
// The send_buffer is a list of pending data to pack into messages and send
// to the remote.
CircularBuffer send_buffer_;
- OldCompletionCallback* old_send_complete_callback_;
- CompletionCallback send_complete_callback_;
+ OldCompletionCallback* send_complete_callback_;
scoped_refptr<IOBuffer> pending_send_;
int pending_send_length_;
diff --git a/net/http/http_proxy_client_socket.cc b/net/http/http_proxy_client_socket.cc
index 8e72f7d..ef9fb82 100644
--- a/net/http/http_proxy_client_socket.cc
+++ b/net/http/http_proxy_client_socket.cc
@@ -254,14 +254,7 @@ int HttpProxyClientSocket::Read(IOBuffer* buf, int buf_len,
int HttpProxyClientSocket::Write(IOBuffer* buf, int buf_len,
OldCompletionCallback* callback) {
DCHECK_EQ(STATE_DONE, next_state_);
- DCHECK(!old_user_callback_ && user_callback_.is_null());
-
- return transport_->socket()->Write(buf, buf_len, callback);
-}
-int HttpProxyClientSocket::Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- DCHECK_EQ(STATE_DONE, next_state_);
- DCHECK(!old_user_callback_ && user_callback_.is_null());
+ DCHECK(!old_user_callback_);
return transport_->socket()->Write(buf, buf_len, callback);
}
diff --git a/net/http/http_proxy_client_socket.h b/net/http/http_proxy_client_socket.h
index 6161bd2..662c305 100644
--- a/net/http/http_proxy_client_socket.h
+++ b/net/http/http_proxy_client_socket.h
@@ -84,9 +84,6 @@ class HttpProxyClientSocket : public ProxyClientSocket {
virtual int Write(IOBuffer* buf,
int buf_len,
OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) OVERRIDE;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
virtual int GetPeerAddress(AddressList* address) const OVERRIDE;
diff --git a/net/socket/client_socket_pool_base_unittest.cc b/net/socket/client_socket_pool_base_unittest.cc
index 73e460d..779b8dee 100644
--- a/net/socket/client_socket_pool_base_unittest.cc
+++ b/net/socket/client_socket_pool_base_unittest.cc
@@ -78,11 +78,6 @@ class MockClientSocket : public StreamSocket {
was_used_to_convey_data_ = true;
return len;
}
- virtual int Write(
- IOBuffer* /* buf */, int len, const CompletionCallback& /* callback */) {
- was_used_to_convey_data_ = true;
- return len;
- }
virtual bool SetReceiveBufferSize(int32 size) { return true; }
virtual bool SetSendBufferSize(int32 size) { return true; }
diff --git a/net/socket/socket.h b/net/socket/socket.h
index b02de0a..c185c44 100644
--- a/net/socket/socket.h
+++ b/net/socket/socket.h
@@ -48,8 +48,6 @@ class NET_EXPORT Socket {
// Disconnected before the write completes, the callback will not be invoked.
virtual int Write(IOBuffer* buf, int buf_len,
OldCompletionCallback* callback) = 0;
- virtual int Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) = 0;
// Set the receive buffer size (in bytes) for the socket.
// Note: changing this value can affect the TCP window size on some platforms.
diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc
index 7730a5b..376d542 100644
--- a/net/socket/socket_test_util.cc
+++ b/net/socket/socket_test_util.cc
@@ -832,26 +832,6 @@ int MockTCPClientSocket::Write(net::IOBuffer* buf, int buf_len,
return write_result.result;
}
-int MockTCPClientSocket::Write(net::IOBuffer* buf, int buf_len,
- const net::CompletionCallback& callback) {
- DCHECK(buf);
- DCHECK_GT(buf_len, 0);
-
- if (!connected_)
- return net::ERR_UNEXPECTED;
-
- std::string data(buf->data(), buf_len);
- net::MockWriteResult write_result = data_->OnWrite(data);
-
- was_used_to_convey_data_ = true;
-
- if (write_result.async) {
- RunCallbackAsync(callback, write_result.result);
- return net::ERR_IO_PENDING;
- }
-
- return write_result.result;
-}
int MockTCPClientSocket::Connect(net::OldCompletionCallback* callback) {
if (connected_)
@@ -992,7 +972,7 @@ DeterministicMockTCPClientSocket::DeterministicMockTCPClientSocket(
net::NetLog* net_log, net::DeterministicSocketData* data)
: MockClientSocket(net_log),
write_pending_(false),
- old_write_callback_(NULL),
+ write_callback_(NULL),
write_result_(0),
read_data_(),
read_buf_(NULL),
@@ -1007,10 +987,7 @@ DeterministicMockTCPClientSocket::~DeterministicMockTCPClientSocket() {}
void DeterministicMockTCPClientSocket::CompleteWrite() {
was_used_to_convey_data_ = true;
write_pending_ = false;
- if (old_write_callback_)
- old_write_callback_->Run(write_result_);
- else
- write_callback_.Run(write_result_);
+ write_callback_->Run(write_result_);
}
int DeterministicMockTCPClientSocket::CompleteRead() {
@@ -1044,6 +1021,30 @@ int DeterministicMockTCPClientSocket::CompleteRead() {
return result;
}
+int DeterministicMockTCPClientSocket::Write(
+ net::IOBuffer* buf, int buf_len, net::OldCompletionCallback* callback) {
+ DCHECK(buf);
+ DCHECK_GT(buf_len, 0);
+
+ if (!connected_)
+ return net::ERR_UNEXPECTED;
+
+ std::string data(buf->data(), buf_len);
+ net::MockWriteResult write_result = data_->OnWrite(data);
+
+ if (write_result.async) {
+ write_callback_ = callback;
+ write_result_ = write_result.result;
+ DCHECK(write_callback_ != NULL);
+ write_pending_ = true;
+ return net::ERR_IO_PENDING;
+ }
+
+ was_used_to_convey_data_ = true;
+ write_pending_ = false;
+ return write_result.result;
+}
+
int DeterministicMockTCPClientSocket::Read(
net::IOBuffer* buf, int buf_len, net::OldCompletionCallback* callback) {
if (!connected_)
@@ -1091,53 +1092,6 @@ int DeterministicMockTCPClientSocket::Read(
return CompleteRead();
}
-int DeterministicMockTCPClientSocket::Write(
- net::IOBuffer* buf, int buf_len, net::OldCompletionCallback* callback) {
- DCHECK(buf);
- DCHECK_GT(buf_len, 0);
-
- if (!connected_)
- return net::ERR_UNEXPECTED;
-
- std::string data(buf->data(), buf_len);
- net::MockWriteResult write_result = data_->OnWrite(data);
-
- if (write_result.async) {
- old_write_callback_ = callback;
- write_result_ = write_result.result;
- DCHECK(old_write_callback_ != NULL);
- write_pending_ = true;
- return net::ERR_IO_PENDING;
- }
-
- was_used_to_convey_data_ = true;
- write_pending_ = false;
- return write_result.result;
-}
-int DeterministicMockTCPClientSocket::Write(
- net::IOBuffer* buf, int buf_len, const net::CompletionCallback& callback) {
- DCHECK(buf);
- DCHECK_GT(buf_len, 0);
-
- if (!connected_)
- return net::ERR_UNEXPECTED;
-
- std::string data(buf->data(), buf_len);
- net::MockWriteResult write_result = data_->OnWrite(data);
-
- if (write_result.async) {
- write_callback_ = callback;
- write_result_ = write_result.result;
- DCHECK(!write_callback_.is_null());
- write_pending_ = true;
- return net::ERR_IO_PENDING;
- }
-
- was_used_to_convey_data_ = true;
- write_pending_ = false;
- return write_result.result;
-}
-
// TODO(erikchen): Support connect sequencing.
int DeterministicMockTCPClientSocket::Connect(
net::OldCompletionCallback* callback) {
@@ -1281,10 +1235,6 @@ int MockSSLClientSocket::Write(net::IOBuffer* buf, int buf_len,
net::OldCompletionCallback* callback) {
return transport_->socket()->Write(buf, buf_len, callback);
}
-int MockSSLClientSocket::Write(net::IOBuffer* buf, int buf_len,
- const net::CompletionCallback& callback) {
- return transport_->socket()->Write(buf, buf_len, callback);
-}
int MockSSLClientSocket::Connect(net::OldCompletionCallback* callback) {
OldConnectCallback* connect_callback = new OldConnectCallback(
@@ -1472,23 +1422,6 @@ int MockUDPClientSocket::Write(net::IOBuffer* buf, int buf_len,
}
return write_result.result;
}
-int MockUDPClientSocket::Write(net::IOBuffer* buf, int buf_len,
- const net::CompletionCallback& callback) {
- DCHECK(buf);
- DCHECK_GT(buf_len, 0);
-
- if (!connected_)
- return ERR_UNEXPECTED;
-
- std::string data(buf->data(), buf_len);
- MockWriteResult write_result = data_->OnWrite(data);
-
- if (write_result.async) {
- RunCallbackAsync(callback, write_result.result);
- return ERR_IO_PENDING;
- }
- return write_result.result;
-}
bool MockUDPClientSocket::SetReceiveBufferSize(int32 size) {
return true;
diff --git a/net/socket/socket_test_util.h b/net/socket/socket_test_util.h
index 1840bfc..73ffc3d 100644
--- a/net/socket/socket_test_util.h
+++ b/net/socket/socket_test_util.h
@@ -592,8 +592,6 @@ class MockClientSocket : public net::SSLClientSocket {
const net::CompletionCallback& callback) = 0;
virtual int Write(net::IOBuffer* buf, int buf_len,
net::OldCompletionCallback* callback) = 0;
- virtual int Write(net::IOBuffer* buf, int buf_len,
- const net::CompletionCallback& callback) = 0;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
@@ -650,8 +648,6 @@ class MockTCPClientSocket : public MockClientSocket, public AsyncSocket {
const net::CompletionCallback& callback) OVERRIDE;
virtual int Write(net::IOBuffer* buf, int buf_len,
net::OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(net::IOBuffer* buf, int buf_len,
- const net::CompletionCallback& callback) OVERRIDE;
// StreamSocket implementation.
virtual int Connect(net::OldCompletionCallback* callback) OVERRIDE;
@@ -707,14 +703,12 @@ class DeterministicMockTCPClientSocket : public MockClientSocket,
int CompleteRead();
// Socket implementation.
+ virtual int Write(net::IOBuffer* buf, int buf_len,
+ net::OldCompletionCallback* callback) OVERRIDE;
virtual int Read(net::IOBuffer* buf, int buf_len,
net::OldCompletionCallback* callback) OVERRIDE;
virtual int Read(net::IOBuffer* buf, int buf_len,
const net::CompletionCallback& callback) OVERRIDE;
- virtual int Write(net::IOBuffer* buf, int buf_len,
- net::OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(net::IOBuffer* buf, int buf_len,
- const net::CompletionCallback& callback) OVERRIDE;
// StreamSocket implementation.
virtual int Connect(net::OldCompletionCallback* callback) OVERRIDE;
@@ -732,8 +726,7 @@ class DeterministicMockTCPClientSocket : public MockClientSocket,
private:
bool write_pending_;
- net::OldCompletionCallback* old_write_callback_;
- net::CompletionCallback write_callback_;
+ net::OldCompletionCallback* write_callback_;
int write_result_;
net::MockRead read_data_;
@@ -764,8 +757,6 @@ class MockSSLClientSocket : public MockClientSocket, public AsyncSocket {
const net::CompletionCallback& callback) OVERRIDE;
virtual int Write(net::IOBuffer* buf, int buf_len,
net::OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(net::IOBuffer* buf, int buf_len,
- const net::CompletionCallback& callback) OVERRIDE;
// StreamSocket implementation.
virtual int Connect(net::OldCompletionCallback* callback) OVERRIDE;
@@ -813,8 +804,6 @@ class MockUDPClientSocket : public DatagramClientSocket,
const net::CompletionCallback& callback) OVERRIDE;
virtual int Write(net::IOBuffer* buf, int buf_len,
net::OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(net::IOBuffer* buf, int buf_len,
- const net::CompletionCallback& callback) OVERRIDE;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
diff --git a/net/socket/socks5_client_socket.cc b/net/socket/socks5_client_socket.cc
index 3497e24..ea5fc7a 100644
--- a/net/socket/socks5_client_socket.cc
+++ b/net/socket/socks5_client_socket.cc
@@ -204,18 +204,10 @@ int SOCKS5ClientSocket::Read(IOBuffer* buf, int buf_len,
// Write is called by the transport layer. This can only be done if the
// SOCKS handshake is complete.
int SOCKS5ClientSocket::Write(IOBuffer* buf, int buf_len,
- OldCompletionCallback* callback) {
- DCHECK(completed_handshake_);
- DCHECK_EQ(STATE_NONE, next_state_);
- DCHECK(!old_user_callback_ && user_callback_.is_null());
-
- return transport_->socket()->Write(buf, buf_len, callback);
-}
-int SOCKS5ClientSocket::Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
+ OldCompletionCallback* callback) {
DCHECK(completed_handshake_);
DCHECK_EQ(STATE_NONE, next_state_);
- DCHECK(!old_user_callback_ && user_callback_.is_null());
+ DCHECK(!old_user_callback_);
return transport_->socket()->Write(buf, buf_len, callback);
}
diff --git a/net/socket/socks5_client_socket.h b/net/socket/socks5_client_socket.h
index 3c0255d..b83a347 100644
--- a/net/socket/socks5_client_socket.h
+++ b/net/socket/socks5_client_socket.h
@@ -74,9 +74,6 @@ class NET_EXPORT_PRIVATE SOCKS5ClientSocket : public StreamSocket {
virtual int Write(IOBuffer* buf,
int buf_len,
OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) OVERRIDE;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
diff --git a/net/socket/socks_client_socket.cc b/net/socket/socks_client_socket.cc
index 40f8453..623f202 100644
--- a/net/socket/socks_client_socket.cc
+++ b/net/socket/socks_client_socket.cc
@@ -235,15 +235,7 @@ int SOCKSClientSocket::Write(IOBuffer* buf, int buf_len,
OldCompletionCallback* callback) {
DCHECK(completed_handshake_);
DCHECK_EQ(STATE_NONE, next_state_);
- DCHECK(!old_user_callback_ && user_callback_.is_null());
-
- return transport_->socket()->Write(buf, buf_len, callback);
-}
-int SOCKSClientSocket::Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- DCHECK(completed_handshake_);
- DCHECK_EQ(STATE_NONE, next_state_);
- DCHECK(!old_user_callback_ && user_callback_.is_null());
+ DCHECK(!old_user_callback_);
return transport_->socket()->Write(buf, buf_len, callback);
}
diff --git a/net/socket/socks_client_socket.h b/net/socket/socks_client_socket.h
index 0f28e10..1a4a75c 100644
--- a/net/socket/socks_client_socket.h
+++ b/net/socket/socks_client_socket.h
@@ -71,9 +71,6 @@ class NET_EXPORT_PRIVATE SOCKSClientSocket : public StreamSocket {
virtual int Write(IOBuffer* buf,
int buf_len,
OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) OVERRIDE;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
diff --git a/net/socket/ssl_client_socket_mac.cc b/net/socket/ssl_client_socket_mac.cc
index 32f0a08..f58d340 100644
--- a/net/socket/ssl_client_socket_mac.cc
+++ b/net/socket/ssl_client_socket_mac.cc
@@ -533,7 +533,7 @@ SSLClientSocketMac::SSLClientSocketMac(ClientSocketHandle* transport_socket,
ssl_config_(ssl_config),
old_user_connect_callback_(NULL),
old_user_read_callback_(NULL),
- old_user_write_callback_(NULL),
+ user_write_callback_(NULL),
user_read_buf_len_(0),
user_write_buf_len_(0),
next_handshake_state_(STATE_NONE),
@@ -737,25 +737,7 @@ int SSLClientSocketMac::Read(IOBuffer* buf, int buf_len,
int SSLClientSocketMac::Write(IOBuffer* buf, int buf_len,
OldCompletionCallback* callback) {
DCHECK(completed_handshake());
- DCHECK(!old_user_write_callback_ && user_write_callback_.is_null());
- DCHECK(!user_write_buf_);
-
- user_write_buf_ = buf;
- user_write_buf_len_ = buf_len;
-
- int rv = DoPayloadWrite();
- if (rv == ERR_IO_PENDING) {
- old_user_write_callback_ = callback;
- } else {
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- }
- return rv;
-}
-int SSLClientSocketMac::Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- DCHECK(completed_handshake());
- DCHECK(!old_user_write_callback_ && user_write_callback_.is_null());
+ DCHECK(!user_write_callback_);
DCHECK(!user_write_buf_);
user_write_buf_ = buf;
@@ -990,23 +972,15 @@ void SSLClientSocketMac::DoReadCallback(int rv) {
void SSLClientSocketMac::DoWriteCallback(int rv) {
DCHECK(rv != ERR_IO_PENDING);
- DCHECK(old_user_write_callback_ && !user_write_callback_.is_null());
+ DCHECK(user_write_callback_);
// Since Run may result in Write being called, clear user_write_callback_ up
// front.
- if (old_user_write_callback_) {
- OldCompletionCallback* c = old_user_write_callback_;
- old_user_write_callback_ = NULL;
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- c->Run(rv);
- } else {
- CompletionCallback c = user_write_callback_;
- user_write_callback_.Reset();
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- c.Run(rv);
- }
+ OldCompletionCallback* c = user_write_callback_;
+ user_write_callback_ = NULL;
+ user_write_buf_ = NULL;
+ user_write_buf_len_ = 0;
+ c->Run(rv);
}
void SSLClientSocketMac::OnHandshakeIOComplete(int result) {
diff --git a/net/socket/ssl_client_socket_mac.h b/net/socket/ssl_client_socket_mac.h
index 661432b..7792cb3 100644
--- a/net/socket/ssl_client_socket_mac.h
+++ b/net/socket/ssl_client_socket_mac.h
@@ -77,9 +77,6 @@ class SSLClientSocketMac : public SSLClientSocket {
virtual int Write(IOBuffer* buf,
int buf_len,
OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) OVERRIDE;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
@@ -129,8 +126,7 @@ class SSLClientSocketMac : public SSLClientSocket {
CompletionCallback user_connect_callback_;
OldCompletionCallback* old_user_read_callback_;
CompletionCallback user_read_callback_;
- OldCompletionCallback* old_user_write_callback_;
- CompletionCallback user_write_callback_;
+ OldCompletionCallback* user_write_callback_;
// Used by Read function.
scoped_refptr<IOBuffer> user_read_buf_;
diff --git a/net/socket/ssl_client_socket_nss.cc b/net/socket/ssl_client_socket_nss.cc
index 835d5ca..8eeae60 100644
--- a/net/socket/ssl_client_socket_nss.cc
+++ b/net/socket/ssl_client_socket_nss.cc
@@ -447,7 +447,7 @@ SSLClientSocketNSS::SSLClientSocketNSS(ClientSocketHandle* transport_socket,
ssl_config_(ssl_config),
old_user_connect_callback_(NULL),
old_user_read_callback_(NULL),
- old_user_write_callback_(NULL),
+ user_write_callback_(NULL),
user_read_buf_len_(0),
user_write_buf_len_(0),
server_cert_nss_(NULL),
@@ -575,7 +575,7 @@ int SSLClientSocketNSS::Connect(OldCompletionCallback* callback) {
DCHECK(transport_.get());
DCHECK(next_handshake_state_ == STATE_NONE);
DCHECK(!old_user_read_callback_ && user_read_callback_.is_null());
- DCHECK(!old_user_write_callback_ && user_write_callback_.is_null());
+ DCHECK(!user_write_callback_);
DCHECK(!old_user_connect_callback_ && user_connect_callback_.is_null());
DCHECK(!user_read_buf_);
DCHECK(!user_write_buf_);
@@ -623,7 +623,7 @@ int SSLClientSocketNSS::Connect(const CompletionCallback& callback) {
DCHECK(transport_.get());
DCHECK(next_handshake_state_ == STATE_NONE);
DCHECK(!old_user_read_callback_ && user_read_callback_.is_null());
- DCHECK(!old_user_write_callback_ && user_write_callback_.is_null());
+ DCHECK(!user_write_callback_);
DCHECK(!old_user_connect_callback_ && user_connect_callback_.is_null());
DCHECK(!user_read_buf_);
DCHECK(!user_write_buf_);
@@ -695,8 +695,7 @@ void SSLClientSocketNSS::Disconnect() {
user_connect_callback_.Reset();
old_user_read_callback_ = NULL;
user_read_callback_.Reset();
- old_user_write_callback_ = NULL;
- user_write_callback_.Reset();
+ user_write_callback_ = NULL;
user_read_buf_ = NULL;
user_read_buf_len_ = 0;
user_write_buf_ = NULL;
@@ -864,36 +863,8 @@ int SSLClientSocketNSS::Write(IOBuffer* buf, int buf_len,
EnterFunction(buf_len);
DCHECK(completed_handshake_);
DCHECK(next_handshake_state_ == STATE_NONE);
- DCHECK(!old_user_write_callback_ && user_write_callback_.is_null());
- DCHECK(!old_user_connect_callback_ && user_connect_callback_.is_null());
- DCHECK(!user_write_buf_);
- DCHECK(nss_bufs_);
-
- user_write_buf_ = buf;
- user_write_buf_len_ = buf_len;
-
- if (corked_) {
- corked_ = false;
- uncork_timer_.Reset();
- }
- int rv = DoWriteLoop(OK);
-
- if (rv == ERR_IO_PENDING) {
- old_user_write_callback_ = callback;
- } else {
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- }
- LeaveFunction(rv);
- return rv;
-}
-int SSLClientSocketNSS::Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- EnterFunction(buf_len);
- DCHECK(completed_handshake_);
- DCHECK(next_handshake_state_ == STATE_NONE);
- DCHECK(!old_user_write_callback_ && user_write_callback_.is_null());
- DCHECK(!old_user_connect_callback_ && user_connect_callback_.is_null());
+ DCHECK(!user_write_callback_);
+ DCHECK(!old_user_connect_callback_);
DCHECK(!user_write_buf_);
DCHECK(nss_bufs_);
@@ -1275,23 +1246,15 @@ void SSLClientSocketNSS::DoReadCallback(int rv) {
void SSLClientSocketNSS::DoWriteCallback(int rv) {
EnterFunction(rv);
DCHECK(rv != ERR_IO_PENDING);
- DCHECK(old_user_write_callback_ || !user_write_callback_.is_null());
+ DCHECK(user_write_callback_);
// Since Run may result in Write being called, clear |user_write_callback_|
// up front.
- if (old_user_write_callback_) {
- OldCompletionCallback* c = old_user_write_callback_;
- old_user_write_callback_ = NULL;
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- c->Run(rv);
- } else {
- CompletionCallback c = user_write_callback_;
- user_write_callback_.Reset();
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- c.Run(rv);
- }
+ OldCompletionCallback* c = user_write_callback_;
+ user_write_callback_ = NULL;
+ user_write_buf_ = NULL;
+ user_write_buf_len_ = 0;
+ c->Run(rv);
LeaveFunction("");
}
diff --git a/net/socket/ssl_client_socket_nss.h b/net/socket/ssl_client_socket_nss.h
index 22cb4a5..7e75cd5 100644
--- a/net/socket/ssl_client_socket_nss.h
+++ b/net/socket/ssl_client_socket_nss.h
@@ -96,9 +96,6 @@ class SSLClientSocketNSS : public SSLClientSocket {
virtual int Write(IOBuffer* buf,
int buf_len,
OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) OVERRIDE;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
@@ -236,8 +233,7 @@ class SSLClientSocketNSS : public SSLClientSocket {
CompletionCallback user_connect_callback_;
OldCompletionCallback* old_user_read_callback_;
CompletionCallback user_read_callback_;
- OldCompletionCallback* old_user_write_callback_;
- CompletionCallback user_write_callback_;
+ OldCompletionCallback* user_write_callback_;
// Used by Read function.
scoped_refptr<IOBuffer> user_read_buf_;
diff --git a/net/socket/ssl_client_socket_openssl.cc b/net/socket/ssl_client_socket_openssl.cc
index ea3b629..1237348 100644
--- a/net/socket/ssl_client_socket_openssl.cc
+++ b/net/socket/ssl_client_socket_openssl.cc
@@ -392,7 +392,7 @@ SSLClientSocketOpenSSL::SSLClientSocketOpenSSL(
transport_recv_busy_(false),
old_user_connect_callback_(NULL),
old_user_read_callback_(NULL),
- old_user_write_callback_(NULL),
+ user_write_callback_(NULL),
completed_handshake_(false),
client_auth_cert_needed_(false),
cert_verifier_(context.cert_verifier),
@@ -632,19 +632,11 @@ void SSLClientSocketOpenSSL::DoReadCallback(int rv) {
void SSLClientSocketOpenSSL::DoWriteCallback(int rv) {
// Since Run may result in Write being called, clear |user_write_callback_|
// up front.
- if (old_user_write_callback_) {
- OldCompletionCallback* c = old_user_write_callback_;
- old_user_write_callback_ = NULL;
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- c->Run(rv);
- } else {
- CompletionCallback c = user_write_callback_;
- user_write_callback_.Reset();
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- c.Run(rv);
- }
+ OldCompletionCallback* c = user_write_callback_;
+ user_write_callback_ = NULL;
+ user_write_buf_ = NULL;
+ user_write_buf_len_ = 0;
+ c->Run(rv);
}
// StreamSocket methods
@@ -720,8 +712,7 @@ void SSLClientSocketOpenSSL::Disconnect() {
user_connect_callback_.Reset();
old_user_read_callback_ = NULL;
user_read_callback_.Reset();
- old_user_write_callback_ = NULL;
- user_write_callback_.Reset();
+ user_write_callback_ = NULL;
user_read_buf_ = NULL;
user_read_buf_len_ = 0;
user_write_buf_ = NULL;
@@ -1255,23 +1246,6 @@ int SSLClientSocketOpenSSL::Write(IOBuffer* buf,
int rv = DoWriteLoop(OK);
if (rv == ERR_IO_PENDING) {
- old_user_write_callback_ = callback;
- } else {
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- }
-
- return rv;
-}
-int SSLClientSocketOpenSSL::Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- user_write_buf_ = buf;
- user_write_buf_len_ = buf_len;
-
- int rv = DoWriteLoop(OK);
-
- if (rv == ERR_IO_PENDING) {
user_write_callback_ = callback;
} else {
user_write_buf_ = NULL;
diff --git a/net/socket/ssl_client_socket_openssl.h b/net/socket/ssl_client_socket_openssl.h
index 74ee3bb..a15c0e3 100644
--- a/net/socket/ssl_client_socket_openssl.h
+++ b/net/socket/ssl_client_socket_openssl.h
@@ -82,10 +82,7 @@ class SSLClientSocketOpenSSL : public SSLClientSocket {
virtual int Read(IOBuffer* buf, int buf_len, OldCompletionCallback* callback);
virtual int Read(IOBuffer* buf, int buf_len,
const CompletionCallback& callback);
- virtual int Write(IOBuffer* buf, int buf_len,
- OldCompletionCallback* callback);
- virtual int Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback);
+ virtual int Write(IOBuffer* buf, int buf_len, OldCompletionCallback* callback);
virtual bool SetReceiveBufferSize(int32 size);
virtual bool SetSendBufferSize(int32 size);
@@ -129,8 +126,7 @@ class SSLClientSocketOpenSSL : public SSLClientSocket {
CompletionCallback user_connect_callback_;
OldCompletionCallback* old_user_read_callback_;
CompletionCallback user_read_callback_;
- OldCompletionCallback* old_user_write_callback_;
- CompletionCallback user_write_callback_;
+ OldCompletionCallback* user_write_callback_;
// Used by Read function.
scoped_refptr<IOBuffer> user_read_buf_;
diff --git a/net/socket/ssl_client_socket_win.cc b/net/socket/ssl_client_socket_win.cc
index 3c855fb..30f599d 100644
--- a/net/socket/ssl_client_socket_win.cc
+++ b/net/socket/ssl_client_socket_win.cc
@@ -400,7 +400,7 @@ SSLClientSocketWin::SSLClientSocketWin(ClientSocketHandle* transport_socket,
old_user_connect_callback_(NULL),
old_user_read_callback_(NULL),
user_read_buf_len_(0),
- old_user_write_callback_(NULL),
+ user_write_callback_(NULL),
user_write_buf_len_(0),
next_state_(STATE_NONE),
cert_verifier_(context.cert_verifier),
@@ -869,29 +869,7 @@ int SSLClientSocketWin::Read(IOBuffer* buf, int buf_len,
int SSLClientSocketWin::Write(IOBuffer* buf, int buf_len,
OldCompletionCallback* callback) {
DCHECK(completed_handshake());
- DCHECK(!old_user_write_callback_ && user_write_callback_.is_null());
-
- DCHECK(!user_write_buf_);
- user_write_buf_ = buf;
- user_write_buf_len_ = buf_len;
-
- int rv = DoPayloadEncrypt();
- if (rv != OK)
- return rv;
-
- rv = DoPayloadWrite();
- if (rv == ERR_IO_PENDING) {
- old_user_write_callback_ = callback;
- } else {
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- }
- return rv;
-}
-int SSLClientSocketWin::Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- DCHECK(completed_handshake());
- DCHECK(!old_user_write_callback_ && user_write_callback_.is_null());
+ DCHECK(!user_write_callback_);
DCHECK(!user_write_buf_);
user_write_buf_ = buf;
@@ -986,20 +964,12 @@ void SSLClientSocketWin::OnWriteComplete(int result) {
int rv = DoPayloadWriteComplete(result);
if (rv != ERR_IO_PENDING) {
- DCHECK(old_user_write_callback_ || !user_write_callback_.is_null());
- if (old_user_write_callback_) {
- OldCompletionCallback* c = old_user_write_callback_;
- old_user_write_callback_ = NULL;
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- c->Run(rv);
- } else {
- CompletionCallback c = user_write_callback_;
- user_write_callback_.Reset();
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- c.Run(rv);
- }
+ DCHECK(user_write_callback_);
+ OldCompletionCallback* c = user_write_callback_;
+ user_write_callback_ = NULL;
+ user_write_buf_ = NULL;
+ user_write_buf_len_ = 0;
+ c->Run(rv);
}
}
diff --git a/net/socket/ssl_client_socket_win.h b/net/socket/ssl_client_socket_win.h
index 8fc326d..27ce300 100644
--- a/net/socket/ssl_client_socket_win.h
+++ b/net/socket/ssl_client_socket_win.h
@@ -75,10 +75,7 @@ class SSLClientSocketWin : public SSLClientSocket {
virtual int Read(IOBuffer* buf, int buf_len, OldCompletionCallback* callback);
virtual int Read(IOBuffer* buf, int buf_len,
const CompletionCallback& callback);
- virtual int Write(IOBuffer* buf, int buf_len,
- OldCompletionCallback* callback);
- virtual int Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback);
+ virtual int Write(IOBuffer* buf, int buf_len, OldCompletionCallback* callback);
virtual bool SetReceiveBufferSize(int32 size);
virtual bool SetSendBufferSize(int32 size);
@@ -137,8 +134,7 @@ class SSLClientSocketWin : public SSLClientSocket {
int user_read_buf_len_;
// User function to callback when a Write() completes.
- OldCompletionCallback* old_user_write_callback_;
- CompletionCallback user_write_callback_;
+ OldCompletionCallback* user_write_callback_;
scoped_refptr<IOBuffer> user_write_buf_;
int user_write_buf_len_;
diff --git a/net/socket/ssl_server_socket_nss.cc b/net/socket/ssl_server_socket_nss.cc
index c87076f..0785dd7d 100644
--- a/net/socket/ssl_server_socket_nss.cc
+++ b/net/socket/ssl_server_socket_nss.cc
@@ -66,7 +66,7 @@ SSLServerSocketNSS::SSLServerSocketNSS(
transport_recv_busy_(false),
user_handshake_callback_(NULL),
old_user_read_callback_(NULL),
- old_user_write_callback_(NULL),
+ user_write_callback_(NULL),
nss_fd_(NULL),
nss_bufs_(NULL),
transport_socket_(transport_socket),
@@ -199,26 +199,7 @@ int SSLServerSocketNSS::Read(IOBuffer* buf, int buf_len,
int SSLServerSocketNSS::Write(IOBuffer* buf, int buf_len,
OldCompletionCallback* callback) {
- DCHECK(!old_user_write_callback_ && user_write_callback_.is_null());
- DCHECK(!user_write_buf_);
- DCHECK(nss_bufs_);
-
- user_write_buf_ = buf;
- user_write_buf_len_ = buf_len;
-
- int rv = DoWriteLoop(OK);
-
- if (rv == ERR_IO_PENDING) {
- old_user_write_callback_ = callback;
- } else {
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- }
- return rv;
-}
-int SSLServerSocketNSS::Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- DCHECK(!old_user_write_callback_ && user_write_callback_.is_null());
+ DCHECK(!user_write_callback_);
DCHECK(!user_write_buf_);
DCHECK(nss_bufs_);
@@ -779,23 +760,15 @@ void SSLServerSocketNSS::DoReadCallback(int rv) {
void SSLServerSocketNSS::DoWriteCallback(int rv) {
DCHECK(rv != ERR_IO_PENDING);
- DCHECK(old_user_write_callback_ || !user_write_callback_.is_null());
+ DCHECK(user_write_callback_);
// Since Run may result in Write being called, clear |user_write_callback_|
// up front.
- if (old_user_write_callback_) {
- OldCompletionCallback* c = old_user_write_callback_;
- old_user_write_callback_ = NULL;
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- c->Run(rv);
- } else {
- CompletionCallback c = user_write_callback_;
- user_write_callback_.Reset();
- user_write_buf_ = NULL;
- user_write_buf_len_ = 0;
- c.Run(rv);
- }
+ OldCompletionCallback* c = user_write_callback_;
+ user_write_callback_ = NULL;
+ user_write_buf_ = NULL;
+ user_write_buf_len_ = 0;
+ c->Run(rv);
}
// static
diff --git a/net/socket/ssl_server_socket_nss.h b/net/socket/ssl_server_socket_nss.h
index 4a4c3f5..39283f6 100644
--- a/net/socket/ssl_server_socket_nss.h
+++ b/net/socket/ssl_server_socket_nss.h
@@ -45,8 +45,6 @@ class SSLServerSocketNSS : public SSLServerSocket {
const CompletionCallback& callback) OVERRIDE;
virtual int Write(IOBuffer* buf, int buf_len,
OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) OVERRIDE;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
@@ -115,8 +113,7 @@ class SSLServerSocketNSS : public SSLServerSocket {
OldCompletionCallback* user_handshake_callback_;
OldCompletionCallback* old_user_read_callback_;
CompletionCallback user_read_callback_;
- OldCompletionCallback* old_user_write_callback_;
- CompletionCallback user_write_callback_;
+ OldCompletionCallback* user_write_callback_;
// Used by Read function.
scoped_refptr<IOBuffer> user_read_buf_;
diff --git a/net/socket/ssl_server_socket_unittest.cc b/net/socket/ssl_server_socket_unittest.cc
index 1ec6b4b..eb9dc7c 100644
--- a/net/socket/ssl_server_socket_unittest.cc
+++ b/net/socket/ssl_server_socket_unittest.cc
@@ -85,14 +85,6 @@ class FakeDataChannel {
&FakeDataChannel::DoReadCallback));
return buf_len;
}
- virtual int Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- data_.push(new net::DrainableIOBuffer(buf, buf_len));
- MessageLoop::current()->PostTask(
- FROM_HERE, task_factory_.NewRunnableMethod(
- &FakeDataChannel::DoReadCallback));
- return buf_len;
- }
private:
void DoReadCallback() {
@@ -168,12 +160,6 @@ class FakeSocket : public StreamSocket {
buf_len = rand() % buf_len + 1;
return outgoing_->Write(buf, buf_len, callback);
}
- virtual int Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- // Write random number of bytes.
- buf_len = rand() % buf_len + 1;
- return outgoing_->Write(buf, buf_len, callback);
- }
virtual bool SetReceiveBufferSize(int32 size) {
return true;
diff --git a/net/socket/tcp_client_socket_libevent.cc b/net/socket/tcp_client_socket_libevent.cc
index 3243177..3c99ae5 100644
--- a/net/socket/tcp_client_socket_libevent.cc
+++ b/net/socket/tcp_client_socket_libevent.cc
@@ -574,42 +574,6 @@ int TCPClientSocketLibevent::Write(IOBuffer* buf,
old_write_callback_ = callback;
return ERR_IO_PENDING;
}
-int TCPClientSocketLibevent::Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- DCHECK(CalledOnValidThread());
- DCHECK_NE(kInvalidSocket, socket_);
- DCHECK(!waiting_connect());
- DCHECK(!old_write_callback_ && write_callback_.is_null());
- // Synchronous operation not supported
- DCHECK(!callback.is_null());
- DCHECK_GT(buf_len, 0);
-
- int nwrite = InternalWrite(buf, buf_len);
- if (nwrite >= 0) {
- base::StatsCounter write_bytes("tcp.write_bytes");
- write_bytes.Add(nwrite);
- if (nwrite > 0)
- use_history_.set_was_used_to_convey_data();
- net_log_.AddByteTransferEvent(NetLog::TYPE_SOCKET_BYTES_SENT, nwrite,
- buf->data());
- return nwrite;
- }
- if (errno != EAGAIN && errno != EWOULDBLOCK)
- return MapSystemError(errno);
-
- if (!MessageLoopForIO::current()->WatchFileDescriptor(
- socket_, true, MessageLoopForIO::WATCH_WRITE,
- &write_socket_watcher_, &write_watcher_)) {
- DVLOG(1) << "WatchFileDescriptor failed on write, errno " << errno;
- return MapSystemError(errno);
- }
-
- write_buf_ = buf;
- write_buf_len_ = buf_len;
- write_callback_ = callback;
- return ERR_IO_PENDING;
-}
int TCPClientSocketLibevent::InternalWrite(IOBuffer* buf, int buf_len) {
int nwrite;
diff --git a/net/socket/tcp_client_socket_libevent.h b/net/socket/tcp_client_socket_libevent.h
index 448d7a7..47f19a0 100644
--- a/net/socket/tcp_client_socket_libevent.h
+++ b/net/socket/tcp_client_socket_libevent.h
@@ -70,9 +70,6 @@ class NET_EXPORT_PRIVATE TCPClientSocketLibevent : public StreamSocket,
virtual int Write(IOBuffer* buf,
int buf_len,
OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) OVERRIDE;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
diff --git a/net/socket/tcp_client_socket_win.cc b/net/socket/tcp_client_socket_win.cc
index 8101782..cb59a98 100644
--- a/net/socket/tcp_client_socket_win.cc
+++ b/net/socket/tcp_client_socket_win.cc
@@ -318,7 +318,7 @@ TCPClientSocketWin::TCPClientSocketWin(const AddressList& addresses,
waiting_read_(false),
waiting_write_(false),
old_read_callback_(NULL),
- old_write_callback_(NULL),
+ write_callback_(NULL),
next_connect_state_(CONNECT_STATE_NONE),
connect_os_error_(0),
net_log_(BoundNetLog::Make(net_log, NetLog::SOURCE_SOCKET)),
@@ -792,58 +792,7 @@ int TCPClientSocketWin::Write(IOBuffer* buf,
DCHECK(CalledOnValidThread());
DCHECK_NE(socket_, INVALID_SOCKET);
DCHECK(!waiting_write_);
- DCHECK(!old_write_callback_ && write_callback_.is_null());
- DCHECK_GT(buf_len, 0);
- DCHECK(!core_->write_iobuffer_);
-
- base::StatsCounter writes("tcp.writes");
- writes.Increment();
-
- core_->write_buffer_.len = buf_len;
- core_->write_buffer_.buf = buf->data();
- core_->write_buffer_length_ = buf_len;
-
- // TODO(wtc): Remove the assertion after enough testing.
- AssertEventNotSignaled(core_->write_overlapped_.hEvent);
- DWORD num;
- int rv = WSASend(socket_, &core_->write_buffer_, 1, &num, 0,
- &core_->write_overlapped_, NULL);
- if (rv == 0) {
- if (ResetEventIfSignaled(core_->write_overlapped_.hEvent)) {
- rv = static_cast<int>(num);
- if (rv > buf_len || rv < 0) {
- // It seems that some winsock interceptors report that more was written
- // than was available. Treat this as an error. http://crbug.com/27870
- LOG(ERROR) << "Detected broken LSP: Asked to write " << buf_len
- << " bytes, but " << rv << " bytes reported.";
- return ERR_WINSOCK_UNEXPECTED_WRITTEN_BYTES;
- }
- base::StatsCounter write_bytes("tcp.write_bytes");
- write_bytes.Add(rv);
- if (rv > 0)
- use_history_.set_was_used_to_convey_data();
- net_log_.AddByteTransferEvent(NetLog::TYPE_SOCKET_BYTES_SENT, rv,
- core_->write_buffer_.buf);
- return rv;
- }
- } else {
- int os_error = WSAGetLastError();
- if (os_error != WSA_IO_PENDING)
- return MapSystemError(os_error);
- }
- core_->WatchForWrite();
- waiting_write_ = true;
- old_write_callback_ = callback;
- core_->write_iobuffer_ = buf;
- return ERR_IO_PENDING;
-}
-int TCPClientSocketWin::Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- DCHECK(CalledOnValidThread());
- DCHECK_NE(socket_, INVALID_SOCKET);
- DCHECK(!waiting_write_);
- DCHECK(!old_write_callback_ && write_callback_.is_null());
+ DCHECK(!write_callback_);
DCHECK_GT(buf_len, 0);
DCHECK(!core_->write_iobuffer_);
@@ -948,19 +897,12 @@ void TCPClientSocketWin::DoReadCallback(int rv) {
void TCPClientSocketWin::DoWriteCallback(int rv) {
DCHECK_NE(rv, ERR_IO_PENDING);
- DCHECK(old_write_callback_ || !write_callback_.is_null());
+ DCHECK(write_callback_);
- // Since Run may result in Write being called, clear old_write_callback_ up
- // front.
- if (old_write_callback_) {
- OldCompletionCallback* c = old_write_callback_;
- old_write_callback_ = NULL;
- c->Run(rv);
- } else {
- CompletionCallback c = write_callback_;
- write_callback_.Reset();
- c.Run(rv);
- }
+ // since Run may result in Write being called, clear write_callback_ up front.
+ OldCompletionCallback* c = write_callback_;
+ write_callback_ = NULL;
+ c->Run(rv);
}
void TCPClientSocketWin::DidCompleteConnect() {
diff --git a/net/socket/tcp_client_socket_win.h b/net/socket/tcp_client_socket_win.h
index 2e58cad..1e75933 100644
--- a/net/socket/tcp_client_socket_win.h
+++ b/net/socket/tcp_client_socket_win.h
@@ -63,10 +63,7 @@ class NET_EXPORT TCPClientSocketWin : public StreamSocket,
virtual int Read(IOBuffer* buf, int buf_len, OldCompletionCallback* callback);
virtual int Read(IOBuffer* buf, int buf_len,
const CompletionCallback& callback);
- virtual int Write(IOBuffer* buf, int buf_len,
- OldCompletionCallback* callback);
- virtual int Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback);
+ virtual int Write(IOBuffer* buf, int buf_len, OldCompletionCallback* callback);
virtual bool SetReceiveBufferSize(int32 size);
virtual bool SetSendBufferSize(int32 size);
@@ -133,8 +130,7 @@ class NET_EXPORT TCPClientSocketWin : public StreamSocket,
CompletionCallback read_callback_;
// External callback; called when write is complete.
- OldCompletionCallback* old_write_callback_;
- CompletionCallback write_callback_;
+ OldCompletionCallback* write_callback_;
// The next state for the Connect() state machine.
ConnectState next_connect_state_;
diff --git a/net/socket/transport_client_socket_pool_unittest.cc b/net/socket/transport_client_socket_pool_unittest.cc
index bfd330a..56b1fa9c 100644
--- a/net/socket/transport_client_socket_pool_unittest.cc
+++ b/net/socket/transport_client_socket_pool_unittest.cc
@@ -107,10 +107,6 @@ class MockClientSocket : public StreamSocket {
OldCompletionCallback* callback) {
return ERR_FAILED;
}
- virtual int Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- return ERR_FAILED;
- }
virtual bool SetReceiveBufferSize(int32 size) { return true; }
virtual bool SetSendBufferSize(int32 size) { return true; }
@@ -173,10 +169,6 @@ class MockFailingClientSocket : public StreamSocket {
OldCompletionCallback* callback) {
return ERR_FAILED;
}
- virtual int Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- return ERR_FAILED;
- }
virtual bool SetReceiveBufferSize(int32 size) { return true; }
virtual bool SetSendBufferSize(int32 size) { return true; }
@@ -268,10 +260,6 @@ class MockPendingClientSocket : public StreamSocket {
OldCompletionCallback* callback) {
return ERR_FAILED;
}
- virtual int Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- return ERR_FAILED;
- }
virtual bool SetReceiveBufferSize(int32 size) { return true; }
virtual bool SetSendBufferSize(int32 size) { return true; }
diff --git a/net/socket/web_socket_server_socket.cc b/net/socket/web_socket_server_socket.cc
index b24f25c..d792689 100644
--- a/net/socket/web_socket_server_socket.cc
+++ b/net/socket/web_socket_server_socket.cc
@@ -397,53 +397,6 @@ class WebSocketServerSocketImpl : public net::WebSocketServerSocket {
ConsiderTransportWrite();
return net::ERR_IO_PENDING;
}
- virtual int Write(net::IOBuffer* buf, int buf_len,
- const net::CompletionCallback& callback) OVERRIDE {
- if (buf_len == 0)
- return 0;
- if (buf == NULL || buf_len < 0) {
- NOTREACHED();
- return net::ERR_INVALID_ARGUMENT;
- }
- DCHECK_EQ(std::find(buf->data(), buf->data() + buf_len, '\xff'),
- buf->data() + buf_len);
- switch (phase_) {
- case PHASE_FRAME_OUTSIDE:
- case PHASE_FRAME_INSIDE:
- case PHASE_FRAME_LENGTH:
- case PHASE_FRAME_SKIP: {
- break;
- }
- case PHASE_SHUT: {
- return net::ERR_SOCKET_NOT_CONNECTED;
- }
- case PHASE_NYMPH:
- case PHASE_HANDSHAKE:
- default: {
- NOTREACHED();
- return net::ERR_UNEXPECTED;
- }
- }
-
- net::IOBuffer* frame_start = new net::IOBuffer(1);
- frame_start->data()[0] = '\x00';
- pending_reqs_.push_back(PendingReq(PendingReq::TYPE_WRITE_METADATA,
- new net::DrainableIOBuffer(frame_start, 1),
- NULL));
-
- pending_reqs_.push_back(PendingReq(PendingReq::TYPE_WRITE,
- new net::DrainableIOBuffer(buf, buf_len),
- callback));
-
- net::IOBuffer* frame_end = new net::IOBuffer(1);
- frame_end->data()[0] = '\xff';
- pending_reqs_.push_back(PendingReq(PendingReq::TYPE_WRITE_METADATA,
- new net::DrainableIOBuffer(frame_end, 1),
- NULL));
-
- ConsiderTransportWrite();
- return net::ERR_IO_PENDING;
- }
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE {
return transport_socket_->SetReceiveBufferSize(size);
diff --git a/net/socket/web_socket_server_socket_unittest.cc b/net/socket/web_socket_server_socket_unittest.cc
index bb4d022..cabb4b9 100644
--- a/net/socket/web_socket_server_socket_unittest.cc
+++ b/net/socket/web_socket_server_socket_unittest.cc
@@ -157,24 +157,6 @@ class TestingTransportSocket : public net::Socket {
}
MessageLoop::current()->PostTask(FROM_HERE,
method_factory_.NewRunnableMethod(
- &TestingTransportSocket::DoOldWriteCallback, callback, lot));
- return net::ERR_IO_PENDING;
- }
- virtual int Write(net::IOBuffer* buf, int buf_len,
- const net::CompletionCallback& callback) {
- CHECK_GT(buf_len, 0);
- int remaining = answer_->BytesRemaining();
- CHECK_GE(remaining, buf_len);
- int lot = std::min(remaining, buf_len);
- if (GetRand(0, 1))
- lot = GetRand(1, lot);
- std::copy(buf->data(), buf->data() + lot, answer_->data());
- answer_->DidConsume(lot);
- if (GetRand(0, 1)) {
- return lot;
- }
- MessageLoop::current()->PostTask(FROM_HERE,
- method_factory_.NewRunnableMethod(
&TestingTransportSocket::DoWriteCallback, callback, lot));
return net::ERR_IO_PENDING;
}
@@ -210,14 +192,10 @@ class TestingTransportSocket : public net::Socket {
}
}
- void DoOldWriteCallback(net::OldCompletionCallback* callback, int result) {
+ void DoWriteCallback(net::OldCompletionCallback* callback, int result) {
if (callback)
callback->Run(result);
}
- void DoWriteCallback(const net::CompletionCallback& callback, int result) {
- if (!callback.is_null())
- callback.Run(result);
- }
bool is_closed_;
diff --git a/net/spdy/spdy_proxy_client_socket.cc b/net/spdy/spdy_proxy_client_socket.cc
index 9dd5145..7b2c83b 100644
--- a/net/spdy/spdy_proxy_client_socket.cc
+++ b/net/spdy/spdy_proxy_client_socket.cc
@@ -34,7 +34,7 @@ SpdyProxyClientSocket::SpdyProxyClientSocket(
next_state_(STATE_DISCONNECTED),
spdy_stream_(spdy_stream),
old_read_callback_(NULL),
- old_write_callback_(NULL),
+ write_callback_(NULL),
endpoint_(endpoint),
auth_(
new HttpAuthController(HttpAuth::AUTH_PROXY,
@@ -126,8 +126,7 @@ void SpdyProxyClientSocket::Disconnect() {
write_buffer_len_ = 0;
write_bytes_outstanding_ = 0;
- old_write_callback_ = NULL;
- write_callback_.Reset();
+ write_callback_ = NULL;
next_state_ = STATE_DISCONNECTED;
@@ -245,45 +244,7 @@ int SpdyProxyClientSocket::PopulateUserReadBuffer() {
int SpdyProxyClientSocket::Write(IOBuffer* buf, int buf_len,
OldCompletionCallback* callback) {
- DCHECK(!old_write_callback_ && write_callback_.is_null());
- if (next_state_ != STATE_OPEN)
- return ERR_SOCKET_NOT_CONNECTED;
-
- DCHECK(spdy_stream_);
- write_bytes_outstanding_= buf_len;
- if (buf_len <= kMaxSpdyFrameChunkSize) {
- int rv = spdy_stream_->WriteStreamData(buf, buf_len, spdy::DATA_FLAG_NONE);
- if (rv == ERR_IO_PENDING) {
- old_write_callback_ = callback;
- write_buffer_len_ = buf_len;
- }
- return rv;
- }
-
- // Since a SPDY Data frame can only include kMaxSpdyFrameChunkSize bytes
- // we need to send multiple data frames
- for (int i = 0; i < buf_len; i += kMaxSpdyFrameChunkSize) {
- int len = std::min(kMaxSpdyFrameChunkSize, buf_len - i);
- scoped_refptr<DrainableIOBuffer> iobuf(new DrainableIOBuffer(buf, i + len));
- iobuf->SetOffset(i);
- int rv = spdy_stream_->WriteStreamData(iobuf, len, spdy::DATA_FLAG_NONE);
- if (rv > 0) {
- write_bytes_outstanding_ -= rv;
- } else if (rv != ERR_IO_PENDING) {
- return rv;
- }
- }
- if (write_bytes_outstanding_ > 0) {
- old_write_callback_ = callback;
- write_buffer_len_ = buf_len;
- return ERR_IO_PENDING;
- } else {
- return buf_len;
- }
-}
-int SpdyProxyClientSocket::Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) {
- DCHECK(!old_write_callback_ && write_callback_.is_null());
+ DCHECK(!write_callback_);
if (next_state_ != STATE_OPEN)
return ERR_SOCKET_NOT_CONNECTED;
@@ -571,7 +532,7 @@ void SpdyProxyClientSocket::OnDataReceived(const char* data, int length) {
}
void SpdyProxyClientSocket::OnDataSent(int length) {
- DCHECK(old_write_callback_ || !write_callback_.is_null());
+ DCHECK(write_callback_);
write_bytes_outstanding_ -= length;
@@ -581,15 +542,9 @@ void SpdyProxyClientSocket::OnDataSent(int length) {
int rv = write_buffer_len_;
write_buffer_len_ = 0;
write_bytes_outstanding_ = 0;
- if (old_write_callback_) {
- OldCompletionCallback* c = old_write_callback_;
- old_write_callback_ = NULL;
- c->Run(rv);
- } else {
- CompletionCallback c = write_callback_;
- write_callback_.Reset();
- c.Run(rv);
- }
+ OldCompletionCallback* c = write_callback_;
+ write_callback_ = NULL;
+ c->Run(rv);
}
}
@@ -606,10 +561,8 @@ void SpdyProxyClientSocket::OnClose(int status) {
next_state_ = STATE_DISCONNECTED;
base::WeakPtr<SpdyProxyClientSocket> weak_ptr = weak_factory_.GetWeakPtr();
- OldCompletionCallback* old_write_callback = old_write_callback_;
- CompletionCallback write_callback = write_callback_;
- old_write_callback_ = NULL;
- write_callback_.Reset();
+ OldCompletionCallback* write_callback = write_callback_;
+ write_callback_ = NULL;
write_buffer_len_ = 0;
write_bytes_outstanding_ = 0;
@@ -631,12 +584,8 @@ void SpdyProxyClientSocket::OnClose(int status) {
OnDataReceived(NULL, 0);
}
// This may have been deleted by read_callback_, so check first.
- if (weak_ptr && (old_write_callback || !write_callback.is_null())) {
- if (old_write_callback)
- old_write_callback->Run(ERR_CONNECTION_CLOSED);
- else
- write_callback.Run(ERR_CONNECTION_CLOSED);
- }
+ if (weak_ptr && write_callback)
+ write_callback->Run(ERR_CONNECTION_CLOSED);
}
void SpdyProxyClientSocket::set_chunk_callback(ChunkCallback* /*callback*/) {
diff --git a/net/spdy/spdy_proxy_client_socket.h b/net/spdy/spdy_proxy_client_socket.h
index 9fb97e8..fb2d9a3 100644
--- a/net/spdy/spdy_proxy_client_socket.h
+++ b/net/spdy/spdy_proxy_client_socket.h
@@ -84,9 +84,6 @@ class NET_EXPORT_PRIVATE SpdyProxyClientSocket : public ProxyClientSocket,
virtual int Write(IOBuffer* buf,
int buf_len,
OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) OVERRIDE;
virtual bool SetReceiveBufferSize(int32 size) OVERRIDE;
virtual bool SetSendBufferSize(int32 size) OVERRIDE;
virtual int GetPeerAddress(AddressList* address) const OVERRIDE;
@@ -140,8 +137,7 @@ class NET_EXPORT_PRIVATE SpdyProxyClientSocket : public ProxyClientSocket,
OldCompletionCallback* old_read_callback_;
CompletionCallback read_callback_;
// Stores the callback to the layer above, called on completing Write().
- OldCompletionCallback* old_write_callback_;
- CompletionCallback write_callback_;
+ OldCompletionCallback* write_callback_;
// CONNECT request and response.
HttpRequestInfo request_;
diff --git a/net/udp/udp_client_socket.cc b/net/udp/udp_client_socket.cc
index 08b2cbe..4bb3885 100644
--- a/net/udp/udp_client_socket.cc
+++ b/net/udp/udp_client_socket.cc
@@ -38,11 +38,6 @@ int UDPClientSocket::Write(IOBuffer* buf,
OldCompletionCallback* callback) {
return socket_.Write(buf, buf_len, callback);
}
-int UDPClientSocket::Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- return socket_.Write(buf, buf_len, callback);
-}
void UDPClientSocket::Close() {
socket_.Close();
diff --git a/net/udp/udp_client_socket.h b/net/udp/udp_client_socket.h
index 2fee21a..b25df63 100644
--- a/net/udp/udp_client_socket.h
+++ b/net/udp/udp_client_socket.h
@@ -32,8 +32,6 @@ class NET_EXPORT_PRIVATE UDPClientSocket : public DatagramClientSocket {
const CompletionCallback& callback) OVERRIDE;
virtual int Write(IOBuffer* buf, int buf_len,
OldCompletionCallback* callback) OVERRIDE;
- virtual int Write(IOBuffer* buf, int buf_len,
- const CompletionCallback& callback) OVERRIDE;
virtual void Close() OVERRIDE;
virtual int GetPeerAddress(IPEndPoint* address) const OVERRIDE;
virtual int GetLocalAddress(IPEndPoint* address) const OVERRIDE;
diff --git a/net/udp/udp_socket_libevent.cc b/net/udp/udp_socket_libevent.cc
index 9777626..a669c37 100644
--- a/net/udp/udp_socket_libevent.cc
+++ b/net/udp/udp_socket_libevent.cc
@@ -48,7 +48,7 @@ UDPSocketLibevent::UDPSocketLibevent(
recv_from_address_(NULL),
write_buf_len_(0),
old_read_callback_(NULL),
- old_write_callback_(NULL),
+ write_callback_(NULL),
net_log_(BoundNetLog::Make(net_log, NetLog::SOURCE_UDP_SOCKET)) {
scoped_refptr<NetLog::EventParameters> params;
if (source.is_valid())
@@ -77,8 +77,7 @@ void UDPSocketLibevent::Close() {
recv_from_address_ = NULL;
write_buf_ = NULL;
write_buf_len_ = 0;
- old_write_callback_ = NULL;
- write_callback_.Reset();
+ write_callback_ = NULL;
send_to_address_.reset();
bool ok = read_socket_watcher_.StopWatchingFileDescriptor();
@@ -213,11 +212,6 @@ int UDPSocketLibevent::Write(IOBuffer* buf,
OldCompletionCallback* callback) {
return SendToOrWrite(buf, buf_len, NULL, callback);
}
-int UDPSocketLibevent::Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- return SendToOrWrite(buf, buf_len, NULL, callback);
-}
int UDPSocketLibevent::SendTo(IOBuffer* buf,
int buf_len,
@@ -232,7 +226,7 @@ int UDPSocketLibevent::SendToOrWrite(IOBuffer* buf,
OldCompletionCallback* callback) {
DCHECK(CalledOnValidThread());
DCHECK_NE(kInvalidSocket, socket_);
- DCHECK(!old_write_callback_ && write_callback_.is_null());
+ DCHECK(!write_callback_);
DCHECK(callback); // Synchronous operation not supported
DCHECK_GT(buf_len, 0);
@@ -255,38 +249,6 @@ int UDPSocketLibevent::SendToOrWrite(IOBuffer* buf,
if (address) {
send_to_address_.reset(new IPEndPoint(*address));
}
- old_write_callback_ = callback;
- return ERR_IO_PENDING;
-}
-int UDPSocketLibevent::SendToOrWrite(IOBuffer* buf,
- int buf_len,
- const IPEndPoint* address,
- const CompletionCallback& callback) {
- DCHECK(CalledOnValidThread());
- DCHECK_NE(kInvalidSocket, socket_);
- DCHECK(!old_write_callback_ && write_callback_.is_null());
- DCHECK(!callback.is_null()); // Synchronous operation not supported
- DCHECK_GT(buf_len, 0);
-
- int result = InternalSendTo(buf, buf_len, address);
- if (result != ERR_IO_PENDING)
- return result;
-
- if (!MessageLoopForIO::current()->WatchFileDescriptor(
- socket_, true, MessageLoopForIO::WATCH_WRITE,
- &write_socket_watcher_, &write_watcher_)) {
- DVLOG(1) << "WatchFileDescriptor failed on write, errno " << errno;
- int result = MapSystemError(errno);
- LogWrite(result, NULL, NULL);
- return result;
- }
-
- write_buf_ = buf;
- write_buf_len_ = buf_len;
- DCHECK(!send_to_address_.get());
- if (address) {
- send_to_address_.reset(new IPEndPoint(*address));
- }
write_callback_ = callback;
return ERR_IO_PENDING;
}
@@ -377,18 +339,12 @@ void UDPSocketLibevent::DoReadCallback(int rv) {
void UDPSocketLibevent::DoWriteCallback(int rv) {
DCHECK_NE(rv, ERR_IO_PENDING);
- DCHECK(old_write_callback_ || !write_callback_.is_null());
+ DCHECK(write_callback_);
// since Run may result in Write being called, clear write_callback_ up front.
- if (old_write_callback_) {
- OldCompletionCallback* c = old_write_callback_;
- old_write_callback_ = NULL;
- c->Run(rv);
- } else {
- CompletionCallback c = write_callback_;
- write_callback_.Reset();
- c.Run(rv);
- }
+ OldCompletionCallback* c = write_callback_;
+ write_callback_ = NULL;
+ c->Run(rv);
}
void UDPSocketLibevent::DidCompleteRead() {
diff --git a/net/udp/udp_socket_libevent.h b/net/udp/udp_socket_libevent.h
index 45ec1bb..6cef1c0 100644
--- a/net/udp/udp_socket_libevent.h
+++ b/net/udp/udp_socket_libevent.h
@@ -61,7 +61,6 @@ class UDPSocketLibevent : public base::NonThreadSafe {
// Only usable from the client-side of a UDP socket, after the socket
// has been connected.
int Write(IOBuffer* buf, int buf_len, OldCompletionCallback* callback);
- int Write(IOBuffer* buf, int buf_len, const CompletionCallback& callback);
// Read from a socket and receive sender address information.
// |buf| is the buffer to read data into.
@@ -141,7 +140,7 @@ class UDPSocketLibevent : public base::NonThreadSafe {
virtual void OnFileCanReadWithoutBlocking(int /* fd */) OVERRIDE {}
virtual void OnFileCanWriteWithoutBlocking(int /* fd */) OVERRIDE {
- if (socket_->old_write_callback_)
+ if (socket_->write_callback_)
socket_->DidCompleteWrite();
}
@@ -174,10 +173,6 @@ class UDPSocketLibevent : public base::NonThreadSafe {
int buf_len,
const IPEndPoint* address,
OldCompletionCallback* callback);
- int SendToOrWrite(IOBuffer* buf,
- int buf_len,
- const IPEndPoint* address,
- const CompletionCallback& callback);
int InternalConnect(const IPEndPoint& address);
int InternalRecvFrom(IOBuffer* buf, int buf_len, IPEndPoint* address);
@@ -223,8 +218,7 @@ class UDPSocketLibevent : public base::NonThreadSafe {
CompletionCallback read_callback_;
// External callback; called when write is complete.
- OldCompletionCallback* old_write_callback_;
- CompletionCallback write_callback_;
+ OldCompletionCallback* write_callback_;
BoundNetLog net_log_;
diff --git a/net/udp/udp_socket_win.cc b/net/udp/udp_socket_win.cc
index 6499444..88aa23b 100644
--- a/net/udp/udp_socket_win.cc
+++ b/net/udp/udp_socket_win.cc
@@ -52,7 +52,7 @@ UDPSocketWin::UDPSocketWin(DatagramSocket::BindType bind_type,
ALLOW_THIS_IN_INITIALIZER_LIST(write_delegate_(this)),
recv_from_address_(NULL),
old_read_callback_(NULL),
- old_write_callback_(NULL),
+ write_callback_(NULL),
net_log_(BoundNetLog::Make(net_log, NetLog::SOURCE_UDP_SOCKET)) {
EnsureWinsockInit();
scoped_refptr<NetLog::EventParameters> params;
@@ -82,8 +82,7 @@ void UDPSocketWin::Close() {
old_read_callback_ = NULL;
read_callback_.Reset();
recv_from_address_ = NULL;
- old_write_callback_ = NULL;
- write_callback_.Reset();
+ write_callback_ = NULL;
read_watcher_.StopWatching();
write_watcher_.StopWatching();
@@ -193,11 +192,6 @@ int UDPSocketWin::Write(IOBuffer* buf,
OldCompletionCallback* callback) {
return SendToOrWrite(buf, buf_len, NULL, callback);
}
-int UDPSocketWin::Write(IOBuffer* buf,
- int buf_len,
- const CompletionCallback& callback) {
- return SendToOrWrite(buf, buf_len, NULL, callback);
-}
int UDPSocketWin::SendTo(IOBuffer* buf,
int buf_len,
@@ -212,7 +206,7 @@ int UDPSocketWin::SendToOrWrite(IOBuffer* buf,
OldCompletionCallback* callback) {
DCHECK(CalledOnValidThread());
DCHECK_NE(INVALID_SOCKET, socket_);
- DCHECK(!old_write_callback_ && write_callback_.is_null());
+ DCHECK(!write_callback_);
DCHECK(callback); // Synchronous operation not supported.
DCHECK_GT(buf_len, 0);
DCHECK(!send_to_address_.get());
@@ -224,27 +218,6 @@ int UDPSocketWin::SendToOrWrite(IOBuffer* buf,
if (address)
send_to_address_.reset(new IPEndPoint(*address));
write_iobuffer_ = buf;
- old_write_callback_ = callback;
- return ERR_IO_PENDING;
-}
-int UDPSocketWin::SendToOrWrite(IOBuffer* buf,
- int buf_len,
- const IPEndPoint* address,
- const CompletionCallback& callback) {
- DCHECK(CalledOnValidThread());
- DCHECK_NE(INVALID_SOCKET, socket_);
- DCHECK(!old_write_callback_ && write_callback_.is_null());
- DCHECK(!callback.is_null()); // Synchronous operation not supported.
- DCHECK_GT(buf_len, 0);
- DCHECK(!send_to_address_.get());
-
- int nwrite = InternalSendTo(buf, buf_len, address);
- if (nwrite != ERR_IO_PENDING)
- return nwrite;
-
- if (address)
- send_to_address_.reset(new IPEndPoint(*address));
- write_iobuffer_ = buf;
write_callback_ = callback;
return ERR_IO_PENDING;
}
@@ -341,18 +314,12 @@ void UDPSocketWin::DoReadCallback(int rv) {
void UDPSocketWin::DoWriteCallback(int rv) {
DCHECK_NE(rv, ERR_IO_PENDING);
- DCHECK(old_write_callback_ && !write_callback_.is_null());
+ DCHECK(write_callback_);
// since Run may result in Write being called, clear write_callback_ up front.
- if (old_write_callback_) {
- OldCompletionCallback* c = old_write_callback_;
- old_write_callback_ = NULL;
- c->Run(rv);
- } else {
- CompletionCallback c = write_callback_;
- write_callback_.Reset();
- c.Run(rv);
- }
+ OldCompletionCallback* c = write_callback_;
+ write_callback_ = NULL;
+ c->Run(rv);
}
void UDPSocketWin::DidCompleteRead() {
diff --git a/net/udp/udp_socket_win.h b/net/udp/udp_socket_win.h
index 4436860..6aace29 100644
--- a/net/udp/udp_socket_win.h
+++ b/net/udp/udp_socket_win.h
@@ -62,7 +62,6 @@ class UDPSocketWin : public base::NonThreadSafe {
// Only usable from the client-side of a UDP socket, after the socket
// has been connected.
int Write(IOBuffer* buf, int buf_len, OldCompletionCallback* callback);
- int Write(IOBuffer* buf, int buf_len, const CompletionCallback& callback);
// Read from a socket and receive sender address information.
// |buf| is the buffer to read data into.
@@ -157,10 +156,6 @@ class UDPSocketWin : public base::NonThreadSafe {
int buf_len,
const IPEndPoint* address,
OldCompletionCallback* callback);
- int SendToOrWrite(IOBuffer* buf,
- int buf_len,
- const IPEndPoint* address,
- const CompletionCallback& callback);
int InternalConnect(const IPEndPoint& address);
int InternalRecvFrom(IOBuffer* buf, int buf_len, IPEndPoint* address);
@@ -217,8 +212,7 @@ class UDPSocketWin : public base::NonThreadSafe {
CompletionCallback read_callback_;
// External callback; called when write is complete.
- OldCompletionCallback* old_write_callback_;
- CompletionCallback write_callback_;
+ OldCompletionCallback* write_callback_;
BoundNetLog net_log_;