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

Unified Diff: remoting/host/chromoting_host.h

Issue 8495024: Access ChromotingHost::clients_ only on network thread. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 9 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | remoting/host/chromoting_host.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/host/chromoting_host.h
diff --git a/remoting/host/chromoting_host.h b/remoting/host/chromoting_host.h
index 160f5dce7ea8000911979cf5c7026903c097c0d4..08ad9b4192e70ac0bd8b066577ac904902317046 100644
--- a/remoting/host/chromoting_host.h
+++ b/remoting/host/chromoting_host.h
@@ -163,9 +163,6 @@ class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>,
bool allow_nat_traversal);
virtual ~ChromotingHost();
- // This method is called if a client is disconnected from the host.
- void OnClientDisconnected(ClientSession* client);
-
// Creates encoder for the specified configuration.
Encoder* CreateEncoder(const protocol::SessionConfig& config);
@@ -182,11 +179,12 @@ class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>,
void StopScreenRecorder();
void OnScreenRecorderStopped();
- // The following methods are called during shutdown.
- void ShutdownNetwork();
- void ShutdownRecorder();
+ // Called from Shutdown() or OnScreenRecorderStopped() to finish shutdown.
void ShutdownFinish();
+ // Unless specified otherwise all members of this class must be
+ // used on the network thread only.
+
// Parameters specified when the host was created.
ChromotingHostContext* context_;
DesktopEnvironment* desktop_environment_;
@@ -199,6 +197,7 @@ class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>,
std::string local_jid_;
scoped_ptr<protocol::SessionManager> session_manager_;
+ // StatusObserverList is thread-safe and can be used on any thread.
StatusObserverList status_observers_;
// The connections to remote clients.
@@ -207,35 +206,27 @@ class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>,
// Session manager for the host process.
scoped_refptr<ScreenRecorder> recorder_;
- // Tracks the internal state of the host.
- // This variable is written on the main thread of ChromotingHostContext
- // and read by jingle thread.
- State state_;
-
// Number of screen recorders that are currently being
// stopped. Normally set to 0 or 1, but in some cases it may be
// greater than 1, particularly if when second client can connect
- // immidiately after previous one disconnected.
+ // immediately after previous one disconnected.
int stopping_recorders_;
- // Lock is to lock the access to |state_|.
- base::Lock lock_;
+ // Tracks the internal state of the host.
+ State state_;
// Configuration of the protocol.
scoped_ptr<protocol::CandidateSessionConfig> protocol_config_;
- bool is_curtained_;
-
- // Whether or not the host is running in "IT2Me" mode, in which connections
- // are pre-authenticated, and hence the local login challenge can be bypassed.
- bool is_it2me_;
-
- std::string access_code_;
-
- // Stores list of closures that should be executed when we finish
+ // Stores list of tasks that should be executed when we finish
// shutdown. Used only while |state_| is set to kStopping.
std::vector<base::Closure> shutdown_tasks_;
+ // TODO(sergeyu): The following members do not belong to
+ // ChromotingHost and should be moved elsewhere.
+ bool is_curtained_;
+ bool is_it2me_;
+ std::string access_code_;
UiStrings ui_strings_;
DISALLOW_COPY_AND_ASSIGN(ChromotingHost);
« no previous file with comments | « no previous file | remoting/host/chromoting_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698