summaryrefslogtreecommitdiffstats
path: root/remoting/protocol/pepper_transport_socket_adapter.cc
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/protocol/pepper_transport_socket_adapter.cc')
-rw-r--r--remoting/protocol/pepper_transport_socket_adapter.cc96
1 files changed, 19 insertions, 77 deletions
diff --git a/remoting/protocol/pepper_transport_socket_adapter.cc b/remoting/protocol/pepper_transport_socket_adapter.cc
index 0385b9b..ca1c470 100644
--- a/remoting/protocol/pepper_transport_socket_adapter.cc
+++ b/remoting/protocol/pepper_transport_socket_adapter.cc
@@ -48,9 +48,7 @@ PepperTransportSocketAdapter::PepperTransportSocketAdapter(
observer_(observer),
transport_(transport),
connected_(false),
- get_address_pending_(false),
- old_read_callback_(NULL),
- write_callback_(NULL) {
+ get_address_pending_(false) {
callback_factory_.Initialize(this);
}
@@ -65,32 +63,11 @@ void PepperTransportSocketAdapter::AddRemoteCandidate(
transport_->ReceiveRemoteAddress(candidate);
}
-int PepperTransportSocketAdapter::Read(net::IOBuffer* buf, int buf_len,
- net::OldCompletionCallback* callback) {
- DCHECK(CalledOnValidThread());
- DCHECK(!old_read_callback_ && read_callback_.is_null());
- DCHECK(!read_buffer_);
-
- if (!transport_.get())
- return net::ERR_SOCKET_NOT_CONNECTED;
-
- int result = PPErrorToNetError(transport_->Recv(
- buf->data(), buf_len,
- callback_factory_.NewOptionalCallback(
- &PepperTransportSocketAdapter::OnRead)));
-
- if (result == net::ERR_IO_PENDING) {
- old_read_callback_ = callback;
- read_buffer_ = buf;
- }
-
- return result;
-}
int PepperTransportSocketAdapter::Read(
net::IOBuffer* buf, int buf_len,
const net::CompletionCallback& callback) {
DCHECK(CalledOnValidThread());
- DCHECK(!old_read_callback_ && read_callback_.is_null());
+ DCHECK(read_callback_.is_null());
DCHECK(!read_buffer_);
if (!transport_.get())
@@ -109,10 +86,11 @@ int PepperTransportSocketAdapter::Read(
return result;
}
-int PepperTransportSocketAdapter::Write(net::IOBuffer* buf, int buf_len,
- net::OldCompletionCallback* callback) {
+int PepperTransportSocketAdapter::Write(
+ net::IOBuffer* buf, int buf_len,
+ const net::CompletionCallback& callback) {
DCHECK(CalledOnValidThread());
- DCHECK(!write_callback_);
+ DCHECK(write_callback_.is_null());
DCHECK(!write_buffer_);
if (!transport_.get())
@@ -146,29 +124,6 @@ bool PepperTransportSocketAdapter::SetSendBufferSize(int32 size) {
}
int PepperTransportSocketAdapter::Connect(
- net::OldCompletionCallback* callback) {
- DCHECK(CalledOnValidThread());
-
- if (!transport_.get())
- return net::ERR_UNEXPECTED;
-
- old_connect_callback_ = callback;
-
- // This will return false when GetNextAddress() returns an
- // error. This helps to detect when the P2P Transport API is not
- // supported.
- int result = ProcessCandidates();
- if (result != net::OK)
- return result;
-
- result = transport_->Connect(
- callback_factory_.NewRequiredCallback(
- &PepperTransportSocketAdapter::OnConnect));
- DCHECK_EQ(result, PP_OK_COMPLETIONPENDING);
-
- return net::ERR_IO_PENDING;
-}
-int PepperTransportSocketAdapter::Connect(
const net::CompletionCallback& callback) {
DCHECK(CalledOnValidThread());
@@ -300,49 +255,36 @@ void PepperTransportSocketAdapter::OnNextAddress(int32_t result) {
void PepperTransportSocketAdapter::OnConnect(int result) {
DCHECK(CalledOnValidThread());
- DCHECK(old_connect_callback_ || !connect_callback_.is_null());
+ DCHECK(!connect_callback_.is_null());
if (result == PP_OK)
connected_ = true;
- if (old_connect_callback_) {
- net::OldCompletionCallback* callback = old_connect_callback_;
- old_connect_callback_ = NULL;
- callback->Run(PPErrorToNetError(result));
- } else {
- net::CompletionCallback callback = connect_callback_;
- connect_callback_.Reset();
- callback.Run(PPErrorToNetError(result));
- }
+ net::CompletionCallback callback = connect_callback_;
+ connect_callback_.Reset();
+ callback.Run(PPErrorToNetError(result));
}
void PepperTransportSocketAdapter::OnRead(int32_t result) {
DCHECK(CalledOnValidThread());
- DCHECK(old_read_callback_ || read_callback_.is_null());
+ DCHECK(!read_callback_.is_null());
DCHECK(read_buffer_);
- if (old_read_callback_) {
- net::OldCompletionCallback* callback = old_read_callback_;
- old_read_callback_ = NULL;
- read_buffer_ = NULL;
- callback->Run(PPErrorToNetError(result));
- } else {
- net::CompletionCallback callback = read_callback_;
- read_callback_.Reset();
- read_buffer_ = NULL;
- callback.Run(PPErrorToNetError(result));
- }
+ net::CompletionCallback callback = read_callback_;
+ read_callback_.Reset();
+ read_buffer_ = NULL;
+ callback.Run(PPErrorToNetError(result));
}
void PepperTransportSocketAdapter::OnWrite(int32_t result) {
DCHECK(CalledOnValidThread());
- DCHECK(write_callback_);
+ DCHECK(!write_callback_.is_null());
DCHECK(write_buffer_);
- net::OldCompletionCallback* callback = write_callback_;
- write_callback_ = NULL;
+ net::CompletionCallback callback = write_callback_;
+ write_callback_.Reset();
write_buffer_ = NULL;
- callback->Run(PPErrorToNetError(result));
+ callback.Run(PPErrorToNetError(result));
}
} // namespace protocol