| Index: webrtc/p2p/client/fakeportallocator.h
|
| diff --git a/webrtc/p2p/base/fakeportallocator.h b/webrtc/p2p/client/fakeportallocator.h
|
| similarity index 65%
|
| rename from webrtc/p2p/base/fakeportallocator.h
|
| rename to webrtc/p2p/client/fakeportallocator.h
|
| index b125dfd80e90b3bc23b91a5a8b12850665ffc049..76357a5ffa045f875cb19555eaf7becaa0d02739 100644
|
| --- a/webrtc/p2p/base/fakeportallocator.h
|
| +++ b/webrtc/p2p/client/fakeportallocator.h
|
| @@ -8,12 +8,11 @@
|
| * be found in the AUTHORS file in the root of the source tree.
|
| */
|
|
|
| -#ifndef WEBRTC_P2P_BASE_FAKEPORTALLOCATOR_H_
|
| -#define WEBRTC_P2P_BASE_FAKEPORTALLOCATOR_H_
|
| +#ifndef WEBRTC_P2P_CLIENT_FAKEPORTALLOCATOR_H_
|
| +#define WEBRTC_P2P_CLIENT_FAKEPORTALLOCATOR_H_
|
|
|
| #include <memory>
|
| #include <string>
|
| -#include <vector>
|
|
|
| #include "webrtc/p2p/base/basicpacketsocketfactory.h"
|
| #include "webrtc/p2p/base/portallocator.h"
|
| @@ -85,31 +84,24 @@ class TestUDPPort : public UDPPort {
|
|
|
| class FakePortAllocatorSession : public PortAllocatorSession {
|
| public:
|
| - FakePortAllocatorSession(PortAllocator* allocator,
|
| - rtc::Thread* worker_thread,
|
| + FakePortAllocatorSession(rtc::Thread* worker_thread,
|
| rtc::PacketSocketFactory* factory,
|
| const std::string& content_name,
|
| int component,
|
| const std::string& ice_ufrag,
|
| const std::string& ice_pwd)
|
| - : PortAllocatorSession(content_name,
|
| - component,
|
| - ice_ufrag,
|
| - ice_pwd,
|
| - allocator->flags()),
|
| + : PortAllocatorSession(content_name, component, ice_ufrag, ice_pwd,
|
| + cricket::kDefaultPortAllocatorFlags),
|
| worker_thread_(worker_thread),
|
| factory_(factory),
|
| - network_("network", "unittest", rtc::IPAddress(INADDR_LOOPBACK), 8),
|
| - port_(),
|
| - running_(false),
|
| - port_config_count_(0),
|
| - stun_servers_(allocator->stun_servers()),
|
| - turn_servers_(allocator->turn_servers()),
|
| - candidate_filter_(allocator->candidate_filter()) {
|
| + network_("network", "unittest",
|
| + rtc::IPAddress(INADDR_LOOPBACK), 8),
|
| + port_(), running_(false),
|
| + port_config_count_(0) {
|
| network_.AddIP(rtc::IPAddress(INADDR_LOOPBACK));
|
| }
|
|
|
| - void StartGettingPorts() override {
|
| + virtual void StartGettingPorts() {
|
| if (!port_) {
|
| port_.reset(TestUDPPort::Create(worker_thread_, factory_, &network_,
|
| network_.GetBestIP(), 0, 0, username(),
|
| @@ -120,56 +112,25 @@ class FakePortAllocatorSession : public PortAllocatorSession {
|
| running_ = true;
|
| }
|
|
|
| - void StopGettingPorts() override { running_ = false; }
|
| - bool IsGettingPorts() override { return running_; }
|
| - void ClearGettingPorts() override {}
|
| - std::vector<PortInterface*> ReadyPorts() const override {
|
| - return ready_ports_;
|
| - }
|
| - std::vector<Candidate> ReadyCandidates() const override {
|
| - return candidates_;
|
| - }
|
| - bool CandidatesAllocationDone() const override { return allocation_done_; }
|
| + virtual void StopGettingPorts() { running_ = false; }
|
| + virtual bool IsGettingPorts() { return running_; }
|
| + virtual void ClearGettingPorts() {}
|
|
|
| int port_config_count() { return port_config_count_; }
|
|
|
| - const ServerAddresses& stun_servers() const { return stun_servers_; }
|
| -
|
| - const std::vector<RelayServerConfig>& turn_servers() const {
|
| - return turn_servers_;
|
| - }
|
| -
|
| - uint32_t candidate_filter() const { return candidate_filter_; }
|
| -
|
| void AddPort(cricket::Port* port) {
|
| - port->set_component(component());
|
| + port->set_component(component_);
|
| port->set_generation(generation());
|
| - port->SignalPortComplete.connect(this,
|
| - &FakePortAllocatorSession::OnPortComplete);
|
| + port->SignalPortComplete.connect(
|
| + this, &FakePortAllocatorSession::OnPortComplete);
|
| port->PrepareAddress();
|
| - ready_ports_.push_back(port);
|
| SignalPortReady(this, port);
|
| }
|
| void OnPortComplete(cricket::Port* port) {
|
| - const std::vector<Candidate>& candidates = port->Candidates();
|
| - candidates_.insert(candidates_.end(), candidates.begin(), candidates.end());
|
| - SignalCandidatesReady(this, candidates);
|
| -
|
| - allocation_done_ = true;
|
| + SignalCandidatesReady(this, port->Candidates());
|
| SignalCandidatesAllocationDone(this);
|
| }
|
|
|
| - int transport_info_update_count() const {
|
| - return transport_info_update_count_;
|
| - }
|
| -
|
| - protected:
|
| - void UpdateIceParametersInternal() override {
|
| - // Since this class is a fake and this method only is overridden for tests,
|
| - // we don't need to actually update the transport info.
|
| - ++transport_info_update_count_;
|
| - }
|
| -
|
| private:
|
| rtc::Thread* worker_thread_;
|
| rtc::PacketSocketFactory* factory_;
|
| @@ -177,13 +138,6 @@ class FakePortAllocatorSession : public PortAllocatorSession {
|
| std::unique_ptr<cricket::Port> port_;
|
| bool running_;
|
| int port_config_count_;
|
| - std::vector<Candidate> candidates_;
|
| - std::vector<PortInterface*> ready_ports_;
|
| - bool allocation_done_ = false;
|
| - ServerAddresses stun_servers_;
|
| - std::vector<RelayServerConfig> turn_servers_;
|
| - uint32_t candidate_filter_;
|
| - int transport_info_update_count_ = 0;
|
| };
|
|
|
| class FakePortAllocator : public cricket::PortAllocator {
|
| @@ -192,29 +146,44 @@ class FakePortAllocator : public cricket::PortAllocator {
|
| rtc::PacketSocketFactory* factory)
|
| : worker_thread_(worker_thread), factory_(factory) {
|
| if (factory_ == NULL) {
|
| - owned_factory_.reset(new rtc::BasicPacketSocketFactory(worker_thread_));
|
| + owned_factory_.reset(new rtc::BasicPacketSocketFactory(
|
| + worker_thread_));
|
| factory_ = owned_factory_.get();
|
| }
|
| }
|
|
|
| + void SetIceServers(
|
| + const ServerAddresses& stun_servers,
|
| + const std::vector<RelayServerConfig>& turn_servers) override {
|
| + stun_servers_ = stun_servers;
|
| + turn_servers_ = turn_servers;
|
| + }
|
| +
|
| void SetNetworkIgnoreMask(int network_ignore_mask) override {}
|
|
|
| - cricket::PortAllocatorSession* CreateSessionInternal(
|
| + const ServerAddresses& stun_servers() const { return stun_servers_; }
|
| +
|
| + const std::vector<RelayServerConfig>& turn_servers() const {
|
| + return turn_servers_;
|
| + }
|
| +
|
| + virtual cricket::PortAllocatorSession* CreateSessionInternal(
|
| const std::string& content_name,
|
| int component,
|
| const std::string& ice_ufrag,
|
| const std::string& ice_pwd) override {
|
| - return new FakePortAllocatorSession(this, worker_thread_, factory_,
|
| - content_name, component, ice_ufrag,
|
| - ice_pwd);
|
| + return new FakePortAllocatorSession(
|
| + worker_thread_, factory_, content_name, component, ice_ufrag, ice_pwd);
|
| }
|
|
|
| private:
|
| rtc::Thread* worker_thread_;
|
| rtc::PacketSocketFactory* factory_;
|
| std::unique_ptr<rtc::BasicPacketSocketFactory> owned_factory_;
|
| + ServerAddresses stun_servers_;
|
| + std::vector<RelayServerConfig> turn_servers_;
|
| };
|
|
|
| } // namespace cricket
|
|
|
| -#endif // WEBRTC_P2P_BASE_FAKEPORTALLOCATOR_H_
|
| +#endif // WEBRTC_P2P_CLIENT_FAKEPORTALLOCATOR_H_
|
|
|