Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(740)

Side by Side Diff: remoting/protocol/jingle_session.h

Issue 7289032: Remove SocketWrapper to expose the threading issues it masks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase once more. Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | remoting/protocol/jingle_session.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef REMOTING_PROTOCOL_JINGLE_SESSION_H_ 5 #ifndef REMOTING_PROTOCOL_JINGLE_SESSION_H_
6 #define REMOTING_PROTOCOL_JINGLE_SESSION_H_ 6 #define REMOTING_PROTOCOL_JINGLE_SESSION_H_
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/task.h" 9 #include "base/task.h"
10 #include "crypto/rsa_private_key.h" 10 #include "crypto/rsa_private_key.h"
(...skipping 14 matching lines...) Expand all
25 class Socket; 25 class Socket;
26 class StreamSocket; 26 class StreamSocket;
27 class X509Certificate; 27 class X509Certificate;
28 } // namespace net 28 } // namespace net
29 29
30 namespace remoting { 30 namespace remoting {
31 31
32 namespace protocol { 32 namespace protocol {
33 33
34 class JingleSessionManager; 34 class JingleSessionManager;
35 class SocketWrapper;
36 35
37 // Implements protocol::Session that work over libjingle session (the 36 // Implements protocol::Session that work over libjingle session (the
38 // cricket::Session object is passed to Init() method). Created 37 // cricket::Session object is passed to Init() method). Created
39 // by JingleSessionManager for incoming and outgoing connections. 38 // by JingleSessionManager for incoming and outgoing connections.
40 class JingleSession : public protocol::Session, 39 class JingleSession : public protocol::Session,
41 public sigslot::has_slots<> { 40 public sigslot::has_slots<> {
42 public: 41 public:
43 static const char kChromotingContentName[]; 42 static const char kChromotingContentName[];
44 43
45 // Chromotocol Session interface. 44 // Chromotocol Session interface.
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 // and runs the SSL protocol over it. Finally |foo_socket_wrapper_| takes 186 // and runs the SSL protocol over it. Finally |foo_socket_wrapper_| takes
188 // ownership of |foo_ssl_socket_|, wrapping it with a SocketWrapper to work 187 // ownership of |foo_ssl_socket_|, wrapping it with a SocketWrapper to work
189 // around issues with callers of the resulting Sockets continuing to access 188 // around issues with callers of the resulting Sockets continuing to access
190 // them after CloseInternal() has completed. 189 // them after CloseInternal() has completed.
191 // TODO(wez): Fix the tear-down issue and remove SocketWrapper. 190 // TODO(wez): Fix the tear-down issue and remove SocketWrapper.
192 191
193 cricket::TransportChannel* raw_control_channel_; 192 cricket::TransportChannel* raw_control_channel_;
194 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> control_channel_; 193 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> control_channel_;
195 scoped_ptr<net::StreamSocket> control_socket_; 194 scoped_ptr<net::StreamSocket> control_socket_;
196 scoped_ptr<net::StreamSocket> control_ssl_socket_; 195 scoped_ptr<net::StreamSocket> control_ssl_socket_;
197 scoped_ptr<SocketWrapper> control_socket_wrapper_;
198 196
199 cricket::TransportChannel* raw_event_channel_; 197 cricket::TransportChannel* raw_event_channel_;
200 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> event_channel_; 198 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> event_channel_;
201 scoped_ptr<net::StreamSocket> event_socket_; 199 scoped_ptr<net::StreamSocket> event_socket_;
202 scoped_ptr<net::StreamSocket> event_ssl_socket_; 200 scoped_ptr<net::StreamSocket> event_ssl_socket_;
203 scoped_ptr<SocketWrapper> event_socket_wrapper_;
204 201
205 cricket::TransportChannel* raw_video_channel_; 202 cricket::TransportChannel* raw_video_channel_;
206 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_channel_; 203 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_channel_;
207 scoped_ptr<net::StreamSocket> video_socket_; 204 scoped_ptr<net::StreamSocket> video_socket_;
208 scoped_ptr<net::StreamSocket> video_ssl_socket_; 205 scoped_ptr<net::StreamSocket> video_ssl_socket_;
209 scoped_ptr<SocketWrapper> video_socket_wrapper_;
210 206
211 // Used to verify the certificate received in SSLClientSocket. 207 // Used to verify the certificate received in SSLClientSocket.
212 scoped_ptr<net::CertVerifier> cert_verifier_; 208 scoped_ptr<net::CertVerifier> cert_verifier_;
213 209
214 cricket::TransportChannel* raw_video_rtp_channel_; 210 cricket::TransportChannel* raw_video_rtp_channel_;
215 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_rtp_channel_; 211 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_rtp_channel_;
216 cricket::TransportChannel* raw_video_rtcp_channel_; 212 cricket::TransportChannel* raw_video_rtcp_channel_;
217 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_rtcp_channel_; 213 scoped_ptr<jingle_glue::TransportChannelSocketAdapter> video_rtcp_channel_;
218 214
219 // Callback called by the SSL layer. 215 // Callback called by the SSL layer.
220 net::CompletionCallbackImpl<JingleSession> connect_callback_; 216 net::CompletionCallbackImpl<JingleSession> connect_callback_;
221 net::CompletionCallbackImpl<JingleSession> ssl_connect_callback_; 217 net::CompletionCallbackImpl<JingleSession> ssl_connect_callback_;
222 218
223 ScopedRunnableMethodFactory<JingleSession> task_factory_; 219 ScopedRunnableMethodFactory<JingleSession> task_factory_;
224 220
225 DISALLOW_COPY_AND_ASSIGN(JingleSession); 221 DISALLOW_COPY_AND_ASSIGN(JingleSession);
226 }; 222 };
227 223
228 } // namespace protocol 224 } // namespace protocol
229 225
230 } // namespace remoting 226 } // namespace remoting
231 227
232 #endif // REMOTING_PROTOCOL_JINGLE_SESSION_H_ 228 #endif // REMOTING_PROTOCOL_JINGLE_SESSION_H_
OLDNEW
« no previous file with comments | « no previous file | remoting/protocol/jingle_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698