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

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: Fixed android build. Created 6 years, 7 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
« no previous file with comments | « remoting/jingle_glue/network_settings_unittest.cc ('k') | remoting/remoting_srcs.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 channel_->set_incoming_only(
209 NetworkSettings::NAT_TRAVERSAL_DISABLED) { 209 !(network_settings_.flags & NetworkSettings::NAT_TRAVERSAL_OUTGOING));
210 channel_->set_incoming_only(true);
211 }
212 210
213 channel_->Connect(); 211 channel_->Connect();
214 212
215 --connect_attempts_left_; 213 --connect_attempts_left_;
216 214
217 // Start reconnection timer. 215 // Start reconnection timer.
218 reconnect_timer_.Start( 216 reconnect_timer_.Start(
219 FROM_HERE, base::TimeDelta::FromSeconds(kReconnectDelaySeconds), 217 FROM_HERE, base::TimeDelta::FromSeconds(kReconnectDelaySeconds),
220 this, &LibjingleStreamTransport::TryReconnect); 218 this, &LibjingleStreamTransport::TryReconnect);
221 219
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 return result.PassAs<StreamTransport>(); 443 return result.PassAs<StreamTransport>();
446 } 444 }
447 445
448 scoped_ptr<DatagramTransport> 446 scoped_ptr<DatagramTransport>
449 LibjingleTransportFactory::CreateDatagramTransport() { 447 LibjingleTransportFactory::CreateDatagramTransport() {
450 NOTIMPLEMENTED(); 448 NOTIMPLEMENTED();
451 return scoped_ptr<DatagramTransport>(); 449 return scoped_ptr<DatagramTransport>();
452 } 450 }
453 451
454 void LibjingleTransportFactory::EnsureFreshJingleInfo() { 452 void LibjingleTransportFactory::EnsureFreshJingleInfo() {
455 if (network_settings_.nat_traversal_mode != 453 uint32 stun_or_relay_flags = NetworkSettings::NAT_TRAVERSAL_STUN |
456 NetworkSettings::NAT_TRAVERSAL_ENABLED || 454 NetworkSettings::NAT_TRAVERSAL_RELAY;
455 if (!(network_settings_.flags & stun_or_relay_flags) ||
457 jingle_info_request_) { 456 jingle_info_request_) {
458 return; 457 return;
459 } 458 }
460 459
461 if (base::TimeTicks::Now() - last_jingle_info_update_time_ > 460 if (base::TimeTicks::Now() - last_jingle_info_update_time_ >
462 base::TimeDelta::FromSeconds(kJingleInfoUpdatePeriodSeconds)) { 461 base::TimeDelta::FromSeconds(kJingleInfoUpdatePeriodSeconds)) {
463 jingle_info_request_.reset(new JingleInfoRequest(signal_strategy_)); 462 jingle_info_request_.reset(new JingleInfoRequest(signal_strategy_));
464 jingle_info_request_->Send(base::Bind( 463 jingle_info_request_->Send(base::Bind(
465 &LibjingleTransportFactory::OnJingleInfo, base::Unretained(this))); 464 &LibjingleTransportFactory::OnJingleInfo, base::Unretained(this)));
466 } 465 }
(...skipping 16 matching lines...) Expand all
483 last_jingle_info_update_time_ = base::TimeTicks::Now(); 482 last_jingle_info_update_time_ = base::TimeTicks::Now();
484 483
485 while (!on_jingle_info_callbacks_.empty()) { 484 while (!on_jingle_info_callbacks_.empty()) {
486 on_jingle_info_callbacks_.begin()->Run(); 485 on_jingle_info_callbacks_.begin()->Run();
487 on_jingle_info_callbacks_.pop_front(); 486 on_jingle_info_callbacks_.pop_front();
488 } 487 }
489 } 488 }
490 489
491 } // namespace protocol 490 } // namespace protocol
492 } // namespace remoting 491 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/jingle_glue/network_settings_unittest.cc ('k') | remoting/remoting_srcs.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698