Index: remoting/protocol/message_reader.cc |
diff --git a/remoting/protocol/message_reader.cc b/remoting/protocol/message_reader.cc |
index 9528b8382baedc988e5889cc5ae05d652daf42ec..6e3d5369bf2ca690b8e4d4ce740b176dbf30a4a9 100644 |
--- a/remoting/protocol/message_reader.cc |
+++ b/remoting/protocol/message_reader.cc |
@@ -29,18 +29,22 @@ MessageReader::MessageReader() |
weak_factory_(this) { |
} |
-void MessageReader::Init(net::Socket* socket, |
- const MessageReceivedCallback& callback) { |
+MessageReader::~MessageReader() { |
+} |
+ |
+void MessageReader::SetMessageReceivedCallback( |
+ const MessageReceivedCallback& callback) { |
DCHECK(CalledOnValidThread()); |
message_received_callback_ = callback; |
+} |
+ |
+void MessageReader::StartReading(net::Socket* socket) { |
+ DCHECK(CalledOnValidThread()); |
DCHECK(socket); |
socket_ = socket; |
DoRead(); |
} |
-MessageReader::~MessageReader() { |
-} |
- |
void MessageReader::DoRead() { |
DCHECK(CalledOnValidThread()); |
// Don't try to read again if there is another read pending or we |
@@ -104,9 +108,11 @@ void MessageReader::OnDataReceived(net::IOBuffer* data, int data_size) { |
} |
void MessageReader::RunCallback(scoped_ptr<CompoundBuffer> message) { |
- message_received_callback_.Run( |
- message.Pass(), base::Bind(&MessageReader::OnMessageDone, |
- weak_factory_.GetWeakPtr())); |
+ if (!message_received_callback_.is_null()){ |
+ message_received_callback_.Run( |
+ message.Pass(), |
+ base::Bind(&MessageReader::OnMessageDone, weak_factory_.GetWeakPtr())); |
+ } |
} |
void MessageReader::OnMessageDone() { |