diff options
Diffstat (limited to 'remoting/protocol/pepper_transport_socket_adapter.cc')
-rw-r--r-- | remoting/protocol/pepper_transport_socket_adapter.cc | 96 |
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 |