OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // The purpose of SessionManager is to facilitate creation of chromotocol | 5 // The purpose of SessionManager is to facilitate creation of chromotocol |
6 // sessions. Both host and client use it to establish chromotocol | 6 // sessions. Both host and client use it to establish chromotocol |
7 // sessions. JingleChromotocolServer implements this inteface using | 7 // sessions. JingleChromotocolServer implements this inteface using |
8 // libjingle. | 8 // libjingle. |
9 // | 9 // |
10 // OUTGOING SESSIONS | 10 // OUTGOING SESSIONS |
11 // Connect() must be used to create new session to a remote host. The | 11 // Connect() must be used to create new session to a remote host. The |
12 // returned session is initially in INITIALIZING state. Later state is | 12 // returned session is initially in INITIALIZING state. Later state is |
13 // changed to CONNECTED if the session is accepted by the host or | 13 // changed to CONNECTED if the session is accepted by the host or |
14 // CLOSED if the session is rejected. | 14 // CLOSED if the session is rejected. |
15 // | 15 // |
16 // INCOMING SESSIONS | 16 // INCOMING SESSIONS |
17 // The IncomingSessionCallback is called when a client attempts to connect. | 17 // The IncomingSessionCallback is called when a client attempts to connect. |
18 // The callback function decides whether the session should be accepted or | 18 // The callback function decides whether the session should be accepted or |
19 // rejected. | 19 // rejected. |
20 // | 20 // |
21 // AUTHENTICATION | |
22 // Implementations of Session and SessionManager interfaces delegate | |
Wez
2011/12/03 00:10:37
nit: ... of the Session ...
Sergey Ulanov
2011/12/06 02:33:20
Done.
| |
23 // authentication to the Authenticator interface. When accepting | |
Wez
2011/12/03 00:10:37
nit: ... to an Authenticator implementation ... ?
Sergey Ulanov
2011/12/06 02:33:20
Done.
| |
24 // incoming connection authenticators are created using authenticator | |
Wez
2011/12/03 00:10:37
nit: For incoming connections ...
... created usin
Sergey Ulanov
2011/12/06 02:33:20
Done.
| |
25 // factory set via set_authenticator_factory() method. For outgoing | |
Wez
2011/12/03 00:10:37
nit: ... via the set_authenticator_factory() metho
Sergey Ulanov
2011/12/06 02:33:20
Done.
| |
26 // sessions authenticator must be passed to Connect() method. Session | |
Wez
2011/12/03 00:10:37
nit: ... sessions the authenticator must be passed
Wez
2011/12/03 00:10:37
nit: The Session's state changes to AUTHENTICATED
Sergey Ulanov
2011/12/06 02:33:20
Done.
Sergey Ulanov
2011/12/06 02:33:20
Done.
| |
27 // state is changed from CONNECTED to AUTHENTICATED once | |
28 // authentication is finished | |
29 // | |
21 // SESSION OWNERSHIP AND SHUTDOWN | 30 // SESSION OWNERSHIP AND SHUTDOWN |
22 // SessionManager owns all Sessions it creates. The manager must not | 31 // The manager must not be closed or destroyed before all sessions |
Wez
2011/12/03 00:10:37
Which manager? The SessionManager?
Sergey Ulanov
2011/12/06 02:33:20
Done.
| |
23 // be closed or destroyed before all sessions created by that | 32 // created by that SessionManager are destroyed. Caller owns Sessions |
24 // SessionManager are destroyed. Caller owns Sessions created by a | 33 // created by a SessionManager (except rejected |
25 // SessionManager (except rejected sessions). Sessions must outlive | 34 // sessions). SignalStrategy must outlive SessionManager. |
Wez
2011/12/03 00:10:37
nit: Missing "the"s
Sergey Ulanov
2011/12/06 02:33:20
Done.
| |
26 // SessionManager, and SignalStrategy must outlive SessionManager. | |
27 // | 35 // |
28 // PROTOCOL VERSION NEGOTIATION | 36 // PROTOCOL VERSION NEGOTIATION |
29 // When client connects to a host it sends a session-initiate stanza with list | 37 // When client connects to a host it sends a session-initiate stanza with list |
30 // of supported configurations for each channel. If the host decides to accept | 38 // of supported configurations for each channel. If the host decides to accept |
31 // session, then it selects configuration that is supported by both sides | 39 // session, then it selects configuration that is supported by both sides |
32 // and then replies with the session-accept stanza that contans selected | 40 // and then replies with the session-accept stanza that contans selected |
33 // configuration. The configuration specified in the session-accept is used | 41 // configuration. The configuration specified in the session-accept is used |
34 // for the session. | 42 // for the session. |
35 // | 43 // |
36 // The CandidateSessionConfig class represents list of configurations | 44 // The CandidateSessionConfig class represents list of configurations |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
143 AuthenticatorFactory* authenticator_factory) = 0; | 151 AuthenticatorFactory* authenticator_factory) = 0; |
144 | 152 |
145 private: | 153 private: |
146 DISALLOW_COPY_AND_ASSIGN(SessionManager); | 154 DISALLOW_COPY_AND_ASSIGN(SessionManager); |
147 }; | 155 }; |
148 | 156 |
149 } // namespace protocol | 157 } // namespace protocol |
150 } // namespace remoting | 158 } // namespace remoting |
151 | 159 |
152 #endif // REMOTING_PROTOCOL_SESSION_MANAGER_H_ | 160 #endif // REMOTING_PROTOCOL_SESSION_MANAGER_H_ |
OLD | NEW |