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_CLIENT_BASICPORTALLOCATOR_H_ | 11 #ifndef WEBRTC_P2P_CLIENT_BASICPORTALLOCATOR_H_ |
12 #define WEBRTC_P2P_CLIENT_BASICPORTALLOCATOR_H_ | 12 #define WEBRTC_P2P_CLIENT_BASICPORTALLOCATOR_H_ |
13 | 13 |
14 #include <memory> | 14 #include <memory> |
15 #include <string> | 15 #include <string> |
16 #include <vector> | 16 #include <vector> |
17 | 17 |
18 #include "webrtc/p2p/base/portallocator.h" | 18 #include "webrtc/p2p/base/portallocator.h" |
| 19 #include "webrtc/base/checks.h" |
19 #include "webrtc/base/messagequeue.h" | 20 #include "webrtc/base/messagequeue.h" |
20 #include "webrtc/base/network.h" | 21 #include "webrtc/base/network.h" |
21 #include "webrtc/base/thread.h" | 22 #include "webrtc/base/thread.h" |
22 | 23 |
23 namespace cricket { | 24 namespace cricket { |
24 | 25 |
25 class BasicPortAllocator : public PortAllocator { | 26 class BasicPortAllocator : public PortAllocator { |
26 public: | 27 public: |
27 BasicPortAllocator(rtc::NetworkManager* network_manager, | 28 BasicPortAllocator(rtc::NetworkManager* network_manager, |
28 rtc::PacketSocketFactory* socket_factory); | 29 rtc::PacketSocketFactory* socket_factory); |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 } | 148 } |
148 // Sets the state to "PRUNED" and prunes the Port. | 149 // Sets the state to "PRUNED" and prunes the Port. |
149 void Prune() { | 150 void Prune() { |
150 state_ = STATE_PRUNED; | 151 state_ = STATE_PRUNED; |
151 if (port()) { | 152 if (port()) { |
152 port()->Prune(); | 153 port()->Prune(); |
153 } | 154 } |
154 } | 155 } |
155 void set_has_pairable_candidate(bool has_pairable_candidate) { | 156 void set_has_pairable_candidate(bool has_pairable_candidate) { |
156 if (has_pairable_candidate) { | 157 if (has_pairable_candidate) { |
157 ASSERT(state_ == STATE_INPROGRESS); | 158 RTC_DCHECK(state_ == STATE_INPROGRESS); |
158 } | 159 } |
159 has_pairable_candidate_ = has_pairable_candidate; | 160 has_pairable_candidate_ = has_pairable_candidate; |
160 } | 161 } |
161 void set_complete() { | 162 void set_complete() { |
162 state_ = STATE_COMPLETE; | 163 state_ = STATE_COMPLETE; |
163 } | 164 } |
164 void set_error() { | 165 void set_error() { |
165 ASSERT(state_ == STATE_INPROGRESS); | 166 RTC_DCHECK(state_ == STATE_INPROGRESS); |
166 state_ = STATE_ERROR; | 167 state_ = STATE_ERROR; |
167 } | 168 } |
168 | 169 |
169 private: | 170 private: |
170 enum State { | 171 enum State { |
171 STATE_INPROGRESS, // Still gathering candidates. | 172 STATE_INPROGRESS, // Still gathering candidates. |
172 STATE_COMPLETE, // All candidates allocated and ready for process. | 173 STATE_COMPLETE, // All candidates allocated and ready for process. |
173 STATE_ERROR, // Error in gathering candidates. | 174 STATE_ERROR, // Error in gathering candidates. |
174 STATE_PRUNED // Pruned by higher priority ports on the same network | 175 STATE_PRUNED // Pruned by higher priority ports on the same network |
175 // interface. Only TURN ports may be pruned. | 176 // interface. Only TURN ports may be pruned. |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 std::unique_ptr<rtc::AsyncPacketSocket> udp_socket_; | 369 std::unique_ptr<rtc::AsyncPacketSocket> udp_socket_; |
369 // There will be only one udp port per AllocationSequence. | 370 // There will be only one udp port per AllocationSequence. |
370 UDPPort* udp_port_; | 371 UDPPort* udp_port_; |
371 std::vector<TurnPort*> turn_ports_; | 372 std::vector<TurnPort*> turn_ports_; |
372 int phase_; | 373 int phase_; |
373 }; | 374 }; |
374 | 375 |
375 } // namespace cricket | 376 } // namespace cricket |
376 | 377 |
377 #endif // WEBRTC_P2P_CLIENT_BASICPORTALLOCATOR_H_ | 378 #endif // WEBRTC_P2P_CLIENT_BASICPORTALLOCATOR_H_ |
OLD | NEW |