| Index: jingle/glue/channel_socket_adapter.cc
|
| ===================================================================
|
| --- jingle/glue/channel_socket_adapter.cc (revision 113718)
|
| +++ jingle/glue/channel_socket_adapter.cc (working copy)
|
| @@ -19,7 +19,7 @@
|
| : message_loop_(MessageLoop::current()),
|
| channel_(channel),
|
| old_read_callback_(NULL),
|
| - old_write_callback_(NULL),
|
| + write_callback_(NULL),
|
| closed_error_code_(net::OK) {
|
| DCHECK(channel_);
|
|
|
| @@ -73,12 +73,11 @@
|
| }
|
|
|
| int TransportChannelSocketAdapter::Write(
|
| - net::IOBuffer* buffer, int buffer_size,
|
| - net::OldCompletionCallback* callback) {
|
| + net::IOBuffer* buffer, int buffer_size, net::OldCompletionCallback* callback) {
|
| DCHECK_EQ(MessageLoop::current(), message_loop_);
|
| DCHECK(buffer);
|
| DCHECK(callback);
|
| - CHECK(!old_write_callback_ && write_callback_.is_null());
|
| + CHECK(!write_callback_);
|
|
|
| if (!channel_) {
|
| DCHECK(closed_error_code_ != net::OK);
|
| @@ -100,41 +99,6 @@
|
| } else {
|
| // Channel is not writable yet.
|
| result = net::ERR_IO_PENDING;
|
| - old_write_callback_ = callback;
|
| - write_buffer_ = buffer;
|
| - write_buffer_size_ = buffer_size;
|
| - }
|
| -
|
| - return result;
|
| -}
|
| -int TransportChannelSocketAdapter::Write(
|
| - net::IOBuffer* buffer, int buffer_size,
|
| - const net::CompletionCallback& callback) {
|
| - DCHECK_EQ(MessageLoop::current(), message_loop_);
|
| - DCHECK(buffer);
|
| - DCHECK(!callback.is_null());
|
| - CHECK(!old_write_callback_ && write_callback_.is_null());
|
| -
|
| - if (!channel_) {
|
| - DCHECK(closed_error_code_ != net::OK);
|
| - return closed_error_code_;
|
| - }
|
| -
|
| - int result;
|
| - if (channel_->writable()) {
|
| - result = channel_->SendPacket(buffer->data(), buffer_size);
|
| - if (result < 0) {
|
| - result = net::MapSystemError(channel_->GetError());
|
| -
|
| - // If the underlying socket returns IO pending where it shouldn't we
|
| - // pretend the packet is dropped and return as succeeded because no
|
| - // writeable callback will happen.
|
| - if (result == net::ERR_IO_PENDING)
|
| - result = net::OK;
|
| - }
|
| - } else {
|
| - // Channel is not writable yet.
|
| - result = net::ERR_IO_PENDING;
|
| write_callback_ = callback;
|
| write_buffer_ = buffer;
|
| write_buffer_size_ = buffer_size;
|
| @@ -177,16 +141,11 @@
|
| callback.Run(error_code);
|
| }
|
|
|
| - if (old_write_callback_) {
|
| - net::OldCompletionCallback* callback = old_write_callback_;
|
| - old_write_callback_ = NULL;
|
| + if (write_callback_) {
|
| + net::OldCompletionCallback* callback = write_callback_;
|
| + write_callback_ = NULL;
|
| write_buffer_ = NULL;
|
| callback->Run(error_code);
|
| - } else if (!write_callback_.is_null()) {
|
| - net::CompletionCallback callback = write_callback_;
|
| - write_callback_.Reset();
|
| - write_buffer_ = NULL;
|
| - callback.Run(error_code);
|
| }
|
| }
|
|
|
| @@ -227,24 +186,17 @@
|
| cricket::TransportChannel* channel) {
|
| DCHECK_EQ(MessageLoop::current(), message_loop_);
|
| // Try to send the packet if there is a pending write.
|
| - if (old_write_callback_ || !write_callback_.is_null()) {
|
| + if (write_callback_) {
|
| int result = channel_->SendPacket(write_buffer_->data(),
|
| write_buffer_size_);
|
| if (result < 0)
|
| result = net::MapSystemError(channel_->GetError());
|
|
|
| if (result != net::ERR_IO_PENDING) {
|
| - if (old_write_callback_) {
|
| - net::OldCompletionCallback* callback = old_write_callback_;
|
| - old_write_callback_ = NULL;
|
| - write_buffer_ = NULL;
|
| - callback->Run(result);
|
| - } else {
|
| - net::CompletionCallback callback = write_callback_;
|
| - write_callback_.Reset();
|
| - write_buffer_ = NULL;
|
| - callback.Run(result);
|
| - }
|
| + net::OldCompletionCallback* callback = write_callback_;
|
| + write_callback_ = NULL;
|
| + write_buffer_ = NULL;
|
| + callback->Run(result);
|
| }
|
| }
|
| }
|
|
|