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

Side by Side Diff: remoting/protocol/libjingle_transport_factory.cc

Issue 209323002: New policies: enable/disable relay; port range (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: policy_templates.json; addressed other CR comments. Created 6 years, 8 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "remoting/protocol/libjingle_transport_factory.h" 5 #include "remoting/protocol/libjingle_transport_factory.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/single_thread_task_runner.h" 8 #include "base/single_thread_task_runner.h"
9 #include "base/thread_task_runner_handle.h" 9 #include "base/thread_task_runner_handle.h"
10 #include "base/timer/timer.h" 10 #include "base/timer/timer.h"
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 channel_->SetIceProtocolType(cricket::ICEPROTO_GOOGLE); 198 channel_->SetIceProtocolType(cricket::ICEPROTO_GOOGLE);
199 channel_->SetIceCredentials(ice_username_fragment_, ice_password_); 199 channel_->SetIceCredentials(ice_username_fragment_, ice_password_);
200 channel_->SignalRequestSignaling.connect( 200 channel_->SignalRequestSignaling.connect(
201 this, &LibjingleStreamTransport::OnRequestSignaling); 201 this, &LibjingleStreamTransport::OnRequestSignaling);
202 channel_->SignalCandidateReady.connect( 202 channel_->SignalCandidateReady.connect(
203 this, &LibjingleStreamTransport::OnCandidateReady); 203 this, &LibjingleStreamTransport::OnCandidateReady);
204 channel_->SignalRouteChange.connect( 204 channel_->SignalRouteChange.connect(
205 this, &LibjingleStreamTransport::OnRouteChange); 205 this, &LibjingleStreamTransport::OnRouteChange);
206 channel_->SignalWritableState.connect( 206 channel_->SignalWritableState.connect(
207 this, &LibjingleStreamTransport::OnWritableState); 207 this, &LibjingleStreamTransport::OnWritableState);
208 if (network_settings_.nat_traversal_mode == 208 if (network_settings_.flags == NetworkSettings::NAT_TRAVERSAL_DISABLED) {
Sergey Ulanov 2014/03/27 18:31:20 channel_->set_incoming_only(!(flags & NetworkSetti
dcaiafa 2014/03/27 19:32:24 Done.
209 NetworkSettings::NAT_TRAVERSAL_DISABLED) {
210 channel_->set_incoming_only(true); 209 channel_->set_incoming_only(true);
211 } 210 }
212 211
213 channel_->Connect(); 212 channel_->Connect();
214 213
215 --connect_attempts_left_; 214 --connect_attempts_left_;
216 215
217 // Start reconnection timer. 216 // Start reconnection timer.
218 reconnect_timer_.Start( 217 reconnect_timer_.Start(
219 FROM_HERE, base::TimeDelta::FromSeconds(kReconnectDelaySeconds), 218 FROM_HERE, base::TimeDelta::FromSeconds(kReconnectDelaySeconds),
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 return result.PassAs<StreamTransport>(); 444 return result.PassAs<StreamTransport>();
446 } 445 }
447 446
448 scoped_ptr<DatagramTransport> 447 scoped_ptr<DatagramTransport>
449 LibjingleTransportFactory::CreateDatagramTransport() { 448 LibjingleTransportFactory::CreateDatagramTransport() {
450 NOTIMPLEMENTED(); 449 NOTIMPLEMENTED();
451 return scoped_ptr<DatagramTransport>(); 450 return scoped_ptr<DatagramTransport>();
452 } 451 }
453 452
454 void LibjingleTransportFactory::EnsureFreshJingleInfo() { 453 void LibjingleTransportFactory::EnsureFreshJingleInfo() {
455 if (network_settings_.nat_traversal_mode != 454 uint32 stun_or_relay_flags = NetworkSettings::NAT_TRAVERSAL_STUN |
456 NetworkSettings::NAT_TRAVERSAL_ENABLED || 455 NetworkSettings::NAT_TRAVERSAL_RELAY;
456 if (!(network_settings_.flags & stun_or_relay_flags) ||
457 jingle_info_request_) { 457 jingle_info_request_) {
458 return; 458 return;
459 } 459 }
460 460
461 if (base::TimeTicks::Now() - last_jingle_info_update_time_ > 461 if (base::TimeTicks::Now() - last_jingle_info_update_time_ >
462 base::TimeDelta::FromSeconds(kJingleInfoUpdatePeriodSeconds)) { 462 base::TimeDelta::FromSeconds(kJingleInfoUpdatePeriodSeconds)) {
463 jingle_info_request_.reset(new JingleInfoRequest(signal_strategy_)); 463 jingle_info_request_.reset(new JingleInfoRequest(signal_strategy_));
464 jingle_info_request_->Send(base::Bind( 464 jingle_info_request_->Send(base::Bind(
465 &LibjingleTransportFactory::OnJingleInfo, base::Unretained(this))); 465 &LibjingleTransportFactory::OnJingleInfo, base::Unretained(this)));
466 } 466 }
(...skipping 16 matching lines...) Expand all
483 last_jingle_info_update_time_ = base::TimeTicks::Now(); 483 last_jingle_info_update_time_ = base::TimeTicks::Now();
484 484
485 while (!on_jingle_info_callbacks_.empty()) { 485 while (!on_jingle_info_callbacks_.empty()) {
486 on_jingle_info_callbacks_.begin()->Run(); 486 on_jingle_info_callbacks_.begin()->Run();
487 on_jingle_info_callbacks_.pop_front(); 487 on_jingle_info_callbacks_.pop_front();
488 } 488 }
489 } 489 }
490 490
491 } // namespace protocol 491 } // namespace protocol
492 } // namespace remoting 492 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698