| Index: remoting/protocol/message_reader.h
|
| diff --git a/remoting/protocol/message_reader.h b/remoting/protocol/message_reader.h
|
| index 65d52d0a8bbe5cfb34965be2ef64eb982e8220e9..6b0eff279f94a7ac29b6b24816a6ca4db877e594 100644
|
| --- a/remoting/protocol/message_reader.h
|
| +++ b/remoting/protocol/message_reader.h
|
| @@ -9,6 +9,7 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/threading/non_thread_safe.h"
|
| +#include "base/time/time.h"
|
| #include "remoting/base/compound_buffer.h"
|
| #include "remoting/protocol/message_decoder.h"
|
|
|
| @@ -45,12 +46,19 @@ class MessageReader : public base::NonThreadSafe {
|
| // Starts reading from |socket|.
|
| void StartReading(net::Socket* socket);
|
|
|
| + // The time delta between first and last bytes of the last message for which
|
| + // MessageReceivedCallback has been invoked.
|
| + base::TimeDelta last_message_read_duration() {
|
| + return last_message_read_duration_;
|
| + }
|
| +
|
| private:
|
| void DoRead();
|
| void OnRead(int result);
|
| void HandleReadResult(int result);
|
| void OnDataReceived(net::IOBuffer* data, int data_size);
|
| - void RunCallback(scoped_ptr<CompoundBuffer> message);
|
| + void RunCallback(scoped_ptr<CompoundBuffer> message,
|
| + base::TimeDelta read_duration);
|
| void OnMessageDone();
|
|
|
| net::Socket* socket_;
|
| @@ -72,6 +80,10 @@ class MessageReader : public base::NonThreadSafe {
|
| // Callback is called when a message is received.
|
| MessageReceivedCallback message_received_callback_;
|
|
|
| + // Used to track the time taken to receive each message.
|
| + base::TimeTicks last_message_started_time_;
|
| + base::TimeDelta last_message_read_duration_;
|
| +
|
| base::WeakPtrFactory<MessageReader> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MessageReader);
|
|
|