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

Unified Diff: remoting/protocol/message_reader.cc

Issue 1655433002: Remove done notifications from incoming message handlers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « remoting/protocol/message_reader.h ('k') | remoting/protocol/message_reader_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/protocol/message_reader.cc
diff --git a/remoting/protocol/message_reader.cc b/remoting/protocol/message_reader.cc
index 153bde3292121482e3fe85c49407490642cfd7c9..44389d71473d6dc54a7bf7ac9333cfa1ef76d3af 100644
--- a/remoting/protocol/message_reader.cc
+++ b/remoting/protocol/message_reader.cc
@@ -23,16 +23,8 @@ namespace protocol {
static const int kReadBufferSize = 4096;
-MessageReader::MessageReader()
- : socket_(nullptr),
- read_pending_(false),
- pending_messages_(0),
- closed_(false),
- weak_factory_(this) {
-}
-
-MessageReader::~MessageReader() {
-}
+MessageReader::MessageReader() : weak_factory_(this) {}
+MessageReader::~MessageReader() {}
void MessageReader::SetMessageReceivedCallback(
const MessageReceivedCallback& callback) {
@@ -57,8 +49,7 @@ void MessageReader::DoRead() {
// Don't try to read again if there is another read pending or we
// have messages that we haven't finished processing yet.
bool read_succeeded = true;
- while (read_succeeded && !closed_ && !read_pending_ &&
- pending_messages_ == 0) {
+ while (read_succeeded && !closed_ && !read_pending_) {
read_buffer_ = new net::IOBuffer(kReadBufferSize);
int result = socket_->Read(
read_buffer_.get(),
@@ -116,30 +107,16 @@ void MessageReader::OnDataReceived(net::IOBuffer* data, int data_size) {
CompoundBuffer* buffer = message_decoder_.GetNextMessage();
if (!buffer)
break;
- pending_messages_++;
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
- base::Bind(&MessageReader::RunCallback,
- weak_factory_.GetWeakPtr(),
+ base::Bind(&MessageReader::RunCallback, weak_factory_.GetWeakPtr(),
base::Passed(make_scoped_ptr(buffer))));
}
}
void MessageReader::RunCallback(scoped_ptr<CompoundBuffer> message) {
- if (!message_received_callback_.is_null()){
- message_received_callback_.Run(
- std::move(message),
- base::Bind(&MessageReader::OnMessageDone, weak_factory_.GetWeakPtr()));
- }
-}
-
-void MessageReader::OnMessageDone() {
- DCHECK(CalledOnValidThread());
- pending_messages_--;
- DCHECK_GE(pending_messages_, 0);
-
- // Start next read if necessary.
- DoRead();
+ if (!message_received_callback_.is_null())
+ message_received_callback_.Run(std::move(message));
}
} // namespace protocol
« no previous file with comments | « remoting/protocol/message_reader.h ('k') | remoting/protocol/message_reader_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698