summaryrefslogtreecommitdiffstats
path: root/remoting/protocol/jingle_session_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'remoting/protocol/jingle_session_manager.cc')
-rw-r--r--remoting/protocol/jingle_session_manager.cc30
1 files changed, 13 insertions, 17 deletions
diff --git a/remoting/protocol/jingle_session_manager.cc b/remoting/protocol/jingle_session_manager.cc
index 077c115..5411c68 100644
--- a/remoting/protocol/jingle_session_manager.cc
+++ b/remoting/protocol/jingle_session_manager.cc
@@ -6,6 +6,7 @@
#include <limits>
+#include "base/bind.h"
#include "base/message_loop.h"
#include "base/string_util.h"
#include "base/task.h"
@@ -88,6 +89,8 @@ void JingleSessionManager::Init(
talk_base::Thread::Current()));
}
+ // Initialize |port_allocator_|.
+
// We always use PseudoTcp to provide a reliable channel. However
// when it is used together with TCP the performance is very bad
// so we explicitly disables TCP connections.
@@ -101,20 +104,24 @@ void JingleSessionManager::Init(
jingle_info_request_.reset(
new JingleInfoRequest(signal_strategy_->CreateIqRequest()));
- jingle_info_request_->SetCallback(
- NewCallback(this, &JingleSessionManager::OnJingleInfo));
- jingle_info_request_->Run(
- task_factory_.NewRunnableMethod(
- &JingleSessionManager::DoStartSessionManager));
+ jingle_info_request_->Send(base::Bind(
+ &JingleSessionManager::OnJingleInfo, base::Unretained(this)));
} else {
port_allocator_flags |= cricket::PORTALLOCATOR_DISABLE_STUN |
cricket::PORTALLOCATOR_DISABLE_RELAY;
port_allocator_.reset(
new cricket::BasicPortAllocator(
network_manager_.get(), socket_factory_.get()));
- DoStartSessionManager();
}
port_allocator_->set_flags(port_allocator_flags);
+
+ // Initialize |cricket_session_manager_|.
+ cricket_session_manager_.reset(
+ new cricket::SessionManager(port_allocator_.get()));
+ cricket_session_manager_->AddClient(kChromotingXmlNamespace, this);
+
+ jingle_signaling_connector_.reset(new JingleSignalingConnector(
+ signal_strategy_, cricket_session_manager_.get()));
}
void JingleSessionManager::Close() {
@@ -287,17 +294,6 @@ void JingleSessionManager::OnJingleInfo(
}
}
-void JingleSessionManager::DoStartSessionManager() {
- DCHECK(CalledOnValidThread());
-
- cricket_session_manager_.reset(
- new cricket::SessionManager(port_allocator_.get()));
- cricket_session_manager_->AddClient(kChromotingXmlNamespace, this);
-
- jingle_signaling_connector_.reset(new JingleSignalingConnector(
- signal_strategy_, cricket_session_manager_.get()));
-}
-
// Parse content description generated by WriteContent().
bool JingleSessionManager::ParseContent(
cricket::SignalingProtocol protocol,