| Index: webrtc/p2p/base/fakeportallocator.h
|
| diff --git a/webrtc/p2p/base/fakeportallocator.h b/webrtc/p2p/base/fakeportallocator.h
|
| index 0bb9c6e66cc3b695b6495d2541a32566e4503569..11969e0233b73933aee80dfc5155b2569f397d4d 100644
|
| --- a/webrtc/p2p/base/fakeportallocator.h
|
| +++ b/webrtc/p2p/base/fakeportallocator.h
|
| @@ -89,7 +89,7 @@ class TestUDPPort : public UDPPort {
|
| class FakePortAllocatorSession : public PortAllocatorSession {
|
| public:
|
| FakePortAllocatorSession(PortAllocator* allocator,
|
| - rtc::Thread* worker_thread,
|
| + rtc::Thread* network_thread,
|
| rtc::PacketSocketFactory* factory,
|
| const std::string& content_name,
|
| int component,
|
| @@ -100,7 +100,7 @@ class FakePortAllocatorSession : public PortAllocatorSession {
|
| ice_ufrag,
|
| ice_pwd,
|
| allocator->flags()),
|
| - worker_thread_(worker_thread),
|
| + network_thread_(network_thread),
|
| factory_(factory),
|
| ipv4_network_("network",
|
| "unittest",
|
| @@ -129,7 +129,7 @@ class FakePortAllocatorSession : public PortAllocatorSession {
|
| (rtc::HasIPv6Enabled() && (flags() & PORTALLOCATOR_ENABLE_IPV6))
|
| ? ipv6_network_
|
| : ipv4_network_;
|
| - port_.reset(TestUDPPort::Create(worker_thread_, factory_, &network,
|
| + port_.reset(TestUDPPort::Create(network_thread_, factory_, &network,
|
| network.GetBestIP(), 0, 0, username(),
|
| password(), std::string(), false));
|
| port_->SignalDestroyed.connect(
|
| @@ -195,7 +195,7 @@ class FakePortAllocatorSession : public PortAllocatorSession {
|
| port_.release();
|
| }
|
|
|
| - rtc::Thread* worker_thread_;
|
| + rtc::Thread* network_thread_;
|
| rtc::PacketSocketFactory* factory_;
|
| rtc::Network ipv4_network_;
|
| rtc::Network ipv6_network_;
|
| @@ -213,15 +213,21 @@ class FakePortAllocatorSession : public PortAllocatorSession {
|
|
|
| class FakePortAllocator : public cricket::PortAllocator {
|
| public:
|
| - FakePortAllocator(rtc::Thread* worker_thread,
|
| + FakePortAllocator(rtc::Thread* network_thread,
|
| rtc::PacketSocketFactory* factory)
|
| - : worker_thread_(worker_thread), factory_(factory) {
|
| + : network_thread_(network_thread), factory_(factory) {
|
| if (factory_ == NULL) {
|
| - owned_factory_.reset(new rtc::BasicPacketSocketFactory(worker_thread_));
|
| + owned_factory_.reset(new rtc::BasicPacketSocketFactory(network_thread_));
|
| factory_ = owned_factory_.get();
|
| }
|
| }
|
|
|
| + void Initialize() override {
|
| + // Port allocator should be initialized on the network thread.
|
| + RTC_CHECK(network_thread_->IsCurrent());
|
| + initialized_ = true;
|
| + }
|
| +
|
| void SetNetworkIgnoreMask(int network_ignore_mask) override {}
|
|
|
| cricket::PortAllocatorSession* CreateSessionInternal(
|
| @@ -229,15 +235,18 @@ class FakePortAllocator : public cricket::PortAllocator {
|
| int component,
|
| const std::string& ice_ufrag,
|
| const std::string& ice_pwd) override {
|
| - return new FakePortAllocatorSession(this, worker_thread_, factory_,
|
| + return new FakePortAllocatorSession(this, network_thread_, factory_,
|
| content_name, component, ice_ufrag,
|
| ice_pwd);
|
| }
|
|
|
| + bool initialized() const { return initialized_; }
|
| +
|
| private:
|
| - rtc::Thread* worker_thread_;
|
| + rtc::Thread* network_thread_;
|
| rtc::PacketSocketFactory* factory_;
|
| std::unique_ptr<rtc::BasicPacketSocketFactory> owned_factory_;
|
| + bool initialized_ = false;
|
| };
|
|
|
| } // namespace cricket
|
|
|