Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(372)

Unified Diff: remoting/base/buffered_socket_writer.cc

Issue 1197853003: Add P2PDatagramSocket and P2PStreamSocket interfaces. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698