Chromium Code Reviews| Index: remoting/protocol/message_reader.cc |
| diff --git a/remoting/protocol/message_reader.cc b/remoting/protocol/message_reader.cc |
| index 153bde3292121482e3fe85c49407490642cfd7c9..aaef3e1230439c3dccd8852077c15bca0dbc3fb0 100644 |
| --- a/remoting/protocol/message_reader.cc |
| +++ b/remoting/protocol/message_reader.cc |
| @@ -26,13 +26,10 @@ static const int kReadBufferSize = 4096; |
| MessageReader::MessageReader() |
| : socket_(nullptr), |
| read_pending_(false), |
| - pending_messages_(0), |
| closed_(false), |
|
Jamie
2016/01/29 23:48:12
Optional: Since you're modifying this anyway, cons
Sergey Ulanov
2016/01/30 00:14:47
Done.
|
| - weak_factory_(this) { |
| -} |
| + weak_factory_(this) {} |
| -MessageReader::~MessageReader() { |
| -} |
| +MessageReader::~MessageReader() {} |
| void MessageReader::SetMessageReceivedCallback( |
| const MessageReceivedCallback& callback) { |
| @@ -57,8 +54,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 +112,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 |