Chromium Code Reviews| Index: remoting/protocol/jingle_session_manager.cc |
| diff --git a/remoting/protocol/jingle_session_manager.cc b/remoting/protocol/jingle_session_manager.cc |
| index 7cb158671e59747fae86028fc72158b7aa8c9d3e..58bcd4d36a91cbd478b158b986e1f730c99fdebb 100644 |
| --- a/remoting/protocol/jingle_session_manager.cc |
| +++ b/remoting/protocol/jingle_session_manager.cc |
| @@ -6,14 +6,12 @@ |
| #include "base/bind.h" |
| #include "remoting/jingle_glue/iq_sender.h" |
| -#include "remoting/jingle_glue/jingle_info_request.h" |
| #include "remoting/jingle_glue/signal_strategy.h" |
| #include "remoting/protocol/authenticator.h" |
| #include "remoting/protocol/content_description.h" |
| #include "remoting/protocol/jingle_messages.h" |
| #include "remoting/protocol/jingle_session.h" |
| #include "remoting/protocol/transport.h" |
| -#include "remoting/protocol/transport_config.h" |
| #include "third_party/libjingle/source/talk/base/socketaddress.h" |
| #include "third_party/libjingle/source/talk/xmllite/xmlelement.h" |
| @@ -23,10 +21,8 @@ namespace remoting { |
| namespace protocol { |
| JingleSessionManager::JingleSessionManager( |
| - scoped_ptr<TransportFactory> transport_factory, |
| - bool fetch_stun_relay_config) |
| + scoped_ptr<TransportFactory> transport_factory) |
| : transport_factory_(transport_factory.Pass()), |
| - fetch_stun_relay_config_(fetch_stun_relay_config), |
| signal_strategy_(NULL), |
| listener_(NULL), |
| ready_(false) { |
| @@ -48,35 +44,13 @@ void JingleSessionManager::Init( |
| OnSignalStrategyStateChange(signal_strategy_->GetState()); |
| } |
| -void JingleSessionManager::OnJingleInfo( |
| - const std::string& relay_token, |
| - const std::vector<std::string>& relay_hosts, |
| - const std::vector<talk_base::SocketAddress>& stun_hosts) { |
| - DCHECK(CalledOnValidThread()); |
| - |
| - // TODO(sergeyu): Add support for multiple STUN/relay servers when |
| - // it's implemented in libjingle and P2P Transport API. |
| - TransportConfig config; |
| - config.stun_server = stun_hosts[0].ToString(); |
| - config.relay_server = relay_hosts[0]; |
| - config.relay_token = relay_token; |
| - transport_factory_->SetTransportConfig(config); |
| - |
| - VLOG(1) << "STUN server: " << config.stun_server |
| - << " Relay server: " << config.relay_server |
| - << " Relay token: " << config.relay_token; |
| - |
| - |
| - if (!ready_) { |
| - ready_ = true; |
| - listener_->OnSessionManagerReady(); |
| - } |
| -} |
| - |
| scoped_ptr<Session> JingleSessionManager::Connect( |
| const std::string& host_jid, |
| scoped_ptr<Authenticator> authenticator, |
| scoped_ptr<CandidateSessionConfig> config) { |
| + // Notify |transport_factory_| that it may be used soon. |
| + transport_factory_->PrepareTokens(); |
| + |
| scoped_ptr<JingleSession> session(new JingleSession(this)); |
| session->StartConnection(host_jid, authenticator.Pass(), config.Pass()); |
| sessions_[session->session_id_] = session.get(); |
| @@ -90,7 +64,6 @@ void JingleSessionManager::Close() { |
| DCHECK(sessions_.empty()); |
| listener_ = NULL; |
| - jingle_info_request_.reset(); |
| if (signal_strategy_) { |
| signal_strategy_->RemoveListener(this); |
| @@ -106,16 +79,9 @@ void JingleSessionManager::set_authenticator_factory( |
| void JingleSessionManager::OnSignalStrategyStateChange( |
| SignalStrategy::State state) { |
| - if (state == SignalStrategy::CONNECTED) { |
| - // Request STUN/Relay info if necessary. |
| - if (fetch_stun_relay_config_) { |
| - jingle_info_request_.reset(new JingleInfoRequest(signal_strategy_)); |
| - jingle_info_request_->Send(base::Bind(&JingleSessionManager::OnJingleInfo, |
| - base::Unretained(this))); |
| - } else if (!ready_) { |
| - ready_ = true; |
| - listener_->OnSessionManagerReady(); |
| - } |
| + if (state == SignalStrategy::CONNECTED && !ready_) { |
| + ready_ = true; |
| + listener_->OnSessionManagerReady(); |
|
rmsousa
2013/12/13 22:10:40
Should we invalidate the transport factory tokens
Sergey Ulanov
2013/12/13 23:54:34
AFAICT token lifetime is not connected to IP or JI
|
| } |
| } |
| @@ -137,6 +103,9 @@ bool JingleSessionManager::OnSignalStrategyIncomingStanza( |
| SendReply(stanza, JingleMessageReply::NONE); |
| + // Notify |transport_factory_| that it may be used soon. |
| + transport_factory_->PrepareTokens(); |
| + |
| scoped_ptr<Authenticator> authenticator = |
| authenticator_factory_->CreateAuthenticator( |
| signal_strategy_->GetLocalJid(), message.from, |