| Index: remoting/protocol/channel_dispatcher_base.h
|
| diff --git a/remoting/protocol/channel_dispatcher_base.h b/remoting/protocol/channel_dispatcher_base.h
|
| index eca2d12d9892e4962e7b059cf857ddcf2481479c..2e940c664498e7bc1cb20de8e5629898519f0aba 100644
|
| --- a/remoting/protocol/channel_dispatcher_base.h
|
| +++ b/remoting/protocol/channel_dispatcher_base.h
|
| @@ -12,11 +12,15 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "remoting/base/buffered_socket_writer.h"
|
| #include "remoting/protocol/errors.h"
|
| -#include "remoting/protocol/message_reader.h"
|
|
|
| namespace remoting {
|
| +
|
| +class CompoundBuffer;
|
| +
|
| namespace protocol {
|
|
|
| +class MessagePipe;
|
| +class P2PStreamSocket;
|
| class StreamChannelFactory;
|
|
|
| // Base class for channel message dispatchers. It's responsible for
|
| @@ -49,27 +53,25 @@ class ChannelDispatcherBase {
|
| const std::string& channel_name() { return channel_name_; }
|
|
|
| // Returns true if the channel is currently connected.
|
| - bool is_connected() { return channel_ != nullptr; }
|
| + bool is_connected() { return message_pipe() != nullptr; }
|
|
|
| protected:
|
| explicit ChannelDispatcherBase(const char* channel_name);
|
|
|
| - BufferedSocketWriter* writer() { return &writer_; }
|
| + MessagePipe* message_pipe() { return message_pipe_.get(); }
|
|
|
| // Child classes must override this method to handle incoming messages.
|
| virtual void OnIncomingMessage(scoped_ptr<CompoundBuffer> message) = 0;
|
|
|
| private:
|
| void OnChannelReady(scoped_ptr<P2PStreamSocket> socket);
|
| - void OnReadWriteFailed(int error);
|
| + void OnPipeError(int error);
|
|
|
| std::string channel_name_;
|
| StreamChannelFactory* channel_factory_;
|
| EventHandler* event_handler_;
|
| - scoped_ptr<P2PStreamSocket> channel_;
|
|
|
| - BufferedSocketWriter writer_;
|
| - MessageReader reader_;
|
| + scoped_ptr<MessagePipe> message_pipe_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ChannelDispatcherBase);
|
| };
|
|
|