| 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() {
|
|
|