| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| 11 #ifndef WEBRTC_P2P_BASE_PORTALLOCATOR_H_ | 11 #ifndef WEBRTC_P2P_BASE_PORTALLOCATOR_H_ |
| 12 #define WEBRTC_P2P_BASE_PORTALLOCATOR_H_ | 12 #define WEBRTC_P2P_BASE_PORTALLOCATOR_H_ |
| 13 | 13 |
| 14 #include <deque> | 14 #include <deque> |
| 15 #include <memory> | 15 #include <memory> |
| 16 #include <string> | 16 #include <string> |
| 17 #include <vector> | 17 #include <vector> |
| 18 | 18 |
| 19 #include "webrtc/p2p/base/port.h" | 19 #include "webrtc/p2p/base/port.h" |
| 20 #include "webrtc/p2p/base/portinterface.h" | 20 #include "webrtc/p2p/base/portinterface.h" |
| 21 #include "webrtc/base/helpers.h" | 21 #include "webrtc/base/helpers.h" |
| 22 #include "webrtc/base/proxyinfo.h" | |
| 23 #include "webrtc/base/sigslot.h" | 22 #include "webrtc/base/sigslot.h" |
| 24 #include "webrtc/base/thread.h" | 23 #include "webrtc/base/thread.h" |
| 25 | 24 |
| 26 namespace webrtc { | 25 namespace webrtc { |
| 27 class MetricsObserverInterface; | 26 class MetricsObserverInterface; |
| 28 } | 27 } |
| 29 | 28 |
| 30 namespace cricket { | 29 namespace cricket { |
| 31 | 30 |
| 32 // PortAllocator is responsible for allocating Port types for a given | 31 // PortAllocator is responsible for allocating Port types for a given |
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 359 int component, | 358 int component, |
| 360 const std::string& ice_ufrag, | 359 const std::string& ice_ufrag, |
| 361 const std::string& ice_pwd); | 360 const std::string& ice_pwd); |
| 362 | 361 |
| 363 // Returns the next session that would be returned by TakePooledSession. | 362 // Returns the next session that would be returned by TakePooledSession. |
| 364 const PortAllocatorSession* GetPooledSession() const; | 363 const PortAllocatorSession* GetPooledSession() const; |
| 365 | 364 |
| 366 uint32_t flags() const { return flags_; } | 365 uint32_t flags() const { return flags_; } |
| 367 void set_flags(uint32_t flags) { flags_ = flags; } | 366 void set_flags(uint32_t flags) { flags_ = flags; } |
| 368 | 367 |
| 369 const std::string& user_agent() const { return agent_; } | |
| 370 const rtc::ProxyInfo& proxy() const { return proxy_; } | |
| 371 void set_proxy(const std::string& agent, const rtc::ProxyInfo& proxy) { | |
| 372 agent_ = agent; | |
| 373 proxy_ = proxy; | |
| 374 } | |
| 375 | |
| 376 // Gets/Sets the port range to use when choosing client ports. | 368 // Gets/Sets the port range to use when choosing client ports. |
| 377 int min_port() const { return min_port_; } | 369 int min_port() const { return min_port_; } |
| 378 int max_port() const { return max_port_; } | 370 int max_port() const { return max_port_; } |
| 379 bool SetPortRange(int min_port, int max_port) { | 371 bool SetPortRange(int min_port, int max_port) { |
| 380 if (min_port > max_port) { | 372 if (min_port > max_port) { |
| 381 return false; | 373 return false; |
| 382 } | 374 } |
| 383 | 375 |
| 384 min_port_ = min_port; | 376 min_port_ = min_port; |
| 385 max_port_ = max_port; | 377 max_port_ = max_port; |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 418 | 410 |
| 419 webrtc::MetricsObserverInterface* metrics_observer() { | 411 webrtc::MetricsObserverInterface* metrics_observer() { |
| 420 return metrics_observer_; | 412 return metrics_observer_; |
| 421 } | 413 } |
| 422 | 414 |
| 423 const std::deque<std::unique_ptr<PortAllocatorSession>>& pooled_sessions() { | 415 const std::deque<std::unique_ptr<PortAllocatorSession>>& pooled_sessions() { |
| 424 return pooled_sessions_; | 416 return pooled_sessions_; |
| 425 } | 417 } |
| 426 | 418 |
| 427 uint32_t flags_; | 419 uint32_t flags_; |
| 428 std::string agent_; | |
| 429 rtc::ProxyInfo proxy_; | |
| 430 int min_port_; | 420 int min_port_; |
| 431 int max_port_; | 421 int max_port_; |
| 432 uint32_t step_delay_; | 422 uint32_t step_delay_; |
| 433 bool allow_tcp_listen_; | 423 bool allow_tcp_listen_; |
| 434 uint32_t candidate_filter_; | 424 uint32_t candidate_filter_; |
| 435 std::string origin_; | 425 std::string origin_; |
| 436 | 426 |
| 437 private: | 427 private: |
| 438 ServerAddresses stun_servers_; | 428 ServerAddresses stun_servers_; |
| 439 std::vector<RelayServerConfig> turn_servers_; | 429 std::vector<RelayServerConfig> turn_servers_; |
| 440 int candidate_pool_size_ = 0; // Last value passed into SetConfiguration. | 430 int candidate_pool_size_ = 0; // Last value passed into SetConfiguration. |
| 441 std::deque<std::unique_ptr<PortAllocatorSession>> pooled_sessions_; | 431 std::deque<std::unique_ptr<PortAllocatorSession>> pooled_sessions_; |
| 442 bool prune_turn_ports_ = false; | 432 bool prune_turn_ports_ = false; |
| 443 | 433 |
| 444 webrtc::MetricsObserverInterface* metrics_observer_ = nullptr; | 434 webrtc::MetricsObserverInterface* metrics_observer_ = nullptr; |
| 445 }; | 435 }; |
| 446 | 436 |
| 447 } // namespace cricket | 437 } // namespace cricket |
| 448 | 438 |
| 449 #endif // WEBRTC_P2P_BASE_PORTALLOCATOR_H_ | 439 #endif // WEBRTC_P2P_BASE_PORTALLOCATOR_H_ |
| OLD | NEW |