| Index: remoting/base/buffered_socket_writer.cc
|
| diff --git a/remoting/base/buffered_socket_writer.cc b/remoting/base/buffered_socket_writer.cc
|
| index 8213f40a887ac70aabcd391798f6b2493e029958..66d724aff19ed614a0e74f63fbcae0df552c36e4 100644
|
| --- a/remoting/base/buffered_socket_writer.cc
|
| +++ b/remoting/base/buffered_socket_writer.cc
|
| @@ -25,24 +25,23 @@ struct BufferedSocketWriterBase::PendingPacket {
|
| };
|
|
|
| BufferedSocketWriterBase::BufferedSocketWriterBase()
|
| - : socket_(nullptr),
|
| - write_pending_(false),
|
| + : write_pending_(false),
|
| closed_(false),
|
| destroyed_flag_(nullptr) {
|
| }
|
|
|
| -void BufferedSocketWriterBase::Init(net::Socket* socket,
|
| - const WriteFailedCallback& callback) {
|
| +void BufferedSocketWriterBase::Init(
|
| + const WriteCallback& write_callback,
|
| + const WriteFailedCallback& write_failed_callback) {
|
| DCHECK(CalledOnValidThread());
|
| - DCHECK(socket);
|
| - socket_ = socket;
|
| - write_failed_callback_ = callback;
|
| + DCHECK(write_callback_.is_null());
|
| + write_callback_ = write_callback;
|
| + write_failed_callback_ = write_failed_callback;
|
| }
|
|
|
| bool BufferedSocketWriterBase::Write(
|
| scoped_refptr<net::IOBufferWithSize> data, const base::Closure& done_task) {
|
| DCHECK(CalledOnValidThread());
|
| - DCHECK(socket_);
|
| DCHECK(data.get());
|
|
|
| // Don't write after Close().
|
| @@ -59,7 +58,7 @@ bool BufferedSocketWriterBase::Write(
|
|
|
| void BufferedSocketWriterBase::DoWrite() {
|
| DCHECK(CalledOnValidThread());
|
| - DCHECK(socket_);
|
| + DCHECK(!write_callback_.is_null());
|
|
|
| // Don't try to write if there is another write pending.
|
| if (write_pending_)
|
| @@ -78,10 +77,10 @@ void BufferedSocketWriterBase::DoWrite() {
|
| if (!current_packet)
|
| return;
|
|
|
| - int result = socket_->Write(
|
| - current_packet, current_packet_size,
|
| - base::Bind(&BufferedSocketWriterBase::OnWritten,
|
| - base::Unretained(this)));
|
| + int result =
|
| + write_callback_.Run(current_packet, current_packet_size,
|
| + base::Bind(&BufferedSocketWriterBase::OnWritten,
|
| + base::Unretained(this)));
|
| bool write_again = false;
|
| HandleWriteResult(result, &write_again);
|
| if (!write_again)
|
|
|