Chromium Code Reviews| Index: remoting/protocol/session.h |
| diff --git a/remoting/protocol/session.h b/remoting/protocol/session.h |
| index 7041486be037313ab8a98875647bdfd9d009b30d..118ca0b9440f860c6135dfafcfd9ab06c2ec95a4 100644 |
| --- a/remoting/protocol/session.h |
| +++ b/remoting/protocol/session.h |
| @@ -7,7 +7,6 @@ |
| #include <string> |
| -#include "remoting/protocol/channel_factory.h" |
| #include "remoting/protocol/errors.h" |
| #include "remoting/protocol/session_config.h" |
| @@ -18,12 +17,13 @@ class IPEndPoint; |
| namespace remoting { |
| namespace protocol { |
| +class ChannelFactory; |
| struct TransportRoute; |
| // Generic interface for Chromotocol connection used by both client and host. |
| // Provides access to the connection channels, but doesn't depend on the |
| // protocol used for each channel. |
| -class Session : public ChannelFactory { |
| +class Session { |
| public: |
| enum State { |
| // Created, but not connecting yet. |
| @@ -98,6 +98,12 @@ class Session : public ChannelFactory { |
| // ChromotocolServer::IncomingConnectionCallback. |
| virtual void set_config(const SessionConfig& config) = 0; |
| + // Return channel factories for the session. First one creates regular |
| + // channels, while the second one creates multiplexed channels. All |
| + // multiplexed channels work over a single regular channel. |
|
Wez
2012/08/15 00:52:23
The Session knows the configuration that is in-use
Sergey Ulanov
2012/08/15 01:35:42
I don't think that would be the right approach.
(
Wez
2012/08/16 00:45:00
Fair points. :(
|
| + virtual ChannelFactory* GetMainChannelFactory() = 0; |
|
Wez
2012/08/15 00:52:23
nit: GetSeparateChannelFactory()/GetIndependentCha
Sergey Ulanov
2012/08/15 01:35:42
What do you think about GetBaseChannelFactory?
Wez
2012/08/16 00:45:00
"Base" doesn't really convey "not-multiplexed", th
Sergey Ulanov
2012/08/16 00:59:49
Ok, changed it to GetTransportChannelFactory()
|
| + virtual ChannelFactory* GetMultiplexedChannelFactory() = 0; |
| + |
| // Closes connection. Callbacks are guaranteed not to be called |
| // after this method returns. Must be called before the object is |
| // destroyed, unless the state is set to FAILED or CLOSED. |