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

Unified Diff: remoting/protocol/connection_to_host.cc

Issue 7633009: Use MessageLoopProxy for network message loop. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 9 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/protocol/connection_to_host.h ('k') | remoting/protocol/fake_session.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/protocol/connection_to_host.cc
diff --git a/remoting/protocol/connection_to_host.cc b/remoting/protocol/connection_to_host.cc
index 91384da4aebf44a8f44a80eb6ddc15cf3752325f..3b82499f812d39959c4f09ad8d877480558e5d3c 100644
--- a/remoting/protocol/connection_to_host.cc
+++ b/remoting/protocol/connection_to_host.cc
@@ -6,7 +6,7 @@
#include "base/bind.h"
#include "base/callback.h"
-#include "base/message_loop.h"
+#include "base/message_loop_proxy.h"
#include "remoting/base/constants.h"
#include "remoting/jingle_glue/host_resolver.h"
#include "remoting/jingle_glue/http_port_allocator.h"
@@ -26,7 +26,7 @@ namespace remoting {
namespace protocol {
ConnectionToHost::ConnectionToHost(
- MessageLoop* message_loop,
+ base::MessageLoopProxy* message_loop,
talk_base::NetworkManager* network_manager,
talk_base::PacketSocketFactory* socket_factory,
HostResolverFactory* host_resolver_factory,
@@ -84,7 +84,7 @@ void ConnectionToHost::Connect(scoped_refptr<XmppProxy> xmpp_proxy,
}
void ConnectionToHost::Disconnect(const base::Closure& shutdown_task) {
- if (MessageLoop::current() != message_loop_) {
+ if (!message_loop_->BelongsToCurrentThread()) {
message_loop_->PostTask(
FROM_HERE, base::Bind(&ConnectionToHost::Disconnect,
base::Unretained(this), shutdown_task));
@@ -106,12 +106,12 @@ void ConnectionToHost::Disconnect(const base::Closure& shutdown_task) {
}
void ConnectionToHost::InitSession() {
- DCHECK_EQ(message_loop_, MessageLoop::current());
+ DCHECK(message_loop_->BelongsToCurrentThread());
// Initialize chromotocol |session_manager_|.
JingleSessionManager* session_manager =
JingleSessionManager::CreateSandboxed(
- network_manager_.release(), socket_factory_.release(),
+ message_loop_, network_manager_.release(), socket_factory_.release(),
host_resolver_factory_.release(),
port_allocator_session_factory_.release());
@@ -129,7 +129,7 @@ const SessionConfig* ConnectionToHost::config() {
void ConnectionToHost::OnStateChange(
SignalStrategy::StatusObserver::State state) {
- DCHECK_EQ(message_loop_, MessageLoop::current());
+ DCHECK(message_loop_->BelongsToCurrentThread());
DCHECK(event_callback_);
if (state == SignalStrategy::StatusObserver::CONNECTED) {
@@ -142,12 +142,12 @@ void ConnectionToHost::OnStateChange(
}
void ConnectionToHost::OnJidChange(const std::string& full_jid) {
- DCHECK_EQ(message_loop_, MessageLoop::current());
+ DCHECK(message_loop_->BelongsToCurrentThread());
local_jid_ = full_jid;
}
void ConnectionToHost::OnSessionManagerInitialized() {
- DCHECK_EQ(message_loop_, MessageLoop::current());
+ DCHECK(message_loop_->BelongsToCurrentThread());
// After SessionManager is initialized we can try to connect to the host.
CandidateSessionConfig* candidate_config =
@@ -165,14 +165,14 @@ void ConnectionToHost::OnSessionManagerInitialized() {
void ConnectionToHost::OnIncomingSession(
Session* session,
SessionManager::IncomingSessionResponse* response) {
- DCHECK_EQ(message_loop_, MessageLoop::current());
+ DCHECK(message_loop_->BelongsToCurrentThread());
// Client always rejects incoming sessions.
*response = SessionManager::DECLINE;
}
void ConnectionToHost::OnSessionStateChange(
Session::State state) {
- DCHECK_EQ(message_loop_, MessageLoop::current());
+ DCHECK(message_loop_->BelongsToCurrentThread());
DCHECK(event_callback_);
switch (state) {
@@ -189,7 +189,8 @@ void ConnectionToHost::OnSessionStateChange(
case Session::CONNECTED:
// Initialize reader and writer.
- video_reader_.reset(VideoReader::Create(session_->config()));
+ video_reader_.reset(
+ VideoReader::Create(message_loop_, session_->config()));
video_reader_->Init(
session_.get(), video_stub_,
base::Bind(&ConnectionToHost::OnVideoChannelInitialized,
@@ -199,7 +200,7 @@ void ConnectionToHost::OnSessionStateChange(
case Session::CONNECTED_CHANNELS:
state_ = STATE_CONNECTED;
host_control_sender_.reset(
- new HostControlSender(session_->control_channel()));
+ new HostControlSender(message_loop_, session_->control_channel()));
dispatcher_.reset(new ClientMessageDispatcher());
dispatcher_->Initialize(session_.get(), client_stub_);
@@ -252,7 +253,8 @@ void ConnectionToHost::OnClientAuthenticated() {
state_ = STATE_AUTHENTICATED;
// Create and enable the input stub now that we're authenticated.
- input_sender_.reset(new InputSender(session_->event_channel()));
+ input_sender_.reset(
+ new InputSender(message_loop_, session_->event_channel()));
}
ConnectionToHost::State ConnectionToHost::state() const {
« no previous file with comments | « remoting/protocol/connection_to_host.h ('k') | remoting/protocol/fake_session.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698