Only use PortAllocator on the network thread.

A previous CL started only using it on the worker thread, but it was
written before the network thread was introduced.

Review-Url: https://codereview.webrtc.org/1987093002
Cr-Commit-Position: refs/heads/master@{#12802}
This commit is contained in:
deadbeef 2016-05-18 16:55:30 -07:00 committed by Commit bot
parent be0c96fd00
commit 91dd567fea
3 changed files with 13 additions and 13 deletions

View File

@ -559,8 +559,8 @@ PeerConnection::~PeerConnection() {
// because its destruction fires signals (such as VoiceChannelDestroyed)
// which will trigger some final actions in PeerConnection...
session_.reset(nullptr);
// port_allocator_ lives on the worker thread and should be destroyed there.
worker_thread()->Invoke<void>([this] { port_allocator_.reset(nullptr); });
// port_allocator_ lives on the network thread and should be destroyed there.
network_thread()->Invoke<void>([this] { port_allocator_.reset(nullptr); });
}
bool PeerConnection::Initialize(
@ -577,10 +577,10 @@ bool PeerConnection::Initialize(
port_allocator_ = std::move(allocator);
// The port allocator lives on the worker thread and should be initialized
// The port allocator lives on the network thread and should be initialized
// there.
if (!worker_thread()->Invoke<bool>(rtc::Bind(
&PeerConnection::InitializePortAllocator_w, this, configuration))) {
if (!network_thread()->Invoke<bool>(rtc::Bind(
&PeerConnection::InitializePortAllocator_n, this, configuration))) {
return false;
}
@ -1164,8 +1164,8 @@ void PeerConnection::SetRemoteDescription(
bool PeerConnection::SetConfiguration(const RTCConfiguration& configuration) {
TRACE_EVENT0("webrtc", "PeerConnection::SetConfiguration");
if (port_allocator_) {
if (!worker_thread()->Invoke<bool>(
rtc::Bind(&PeerConnection::ReconfigurePortAllocator_w, this,
if (!network_thread()->Invoke<bool>(
rtc::Bind(&PeerConnection::ReconfigurePortAllocator_n, this,
configuration))) {
return false;
}
@ -2088,7 +2088,7 @@ DataChannel* PeerConnection::FindDataChannelBySid(int sid) const {
return nullptr;
}
bool PeerConnection::InitializePortAllocator_w(
bool PeerConnection::InitializePortAllocator_n(
const RTCConfiguration& configuration) {
cricket::ServerAddresses stun_servers;
std::vector<cricket::RelayServerConfig> turn_servers;
@ -2128,7 +2128,7 @@ bool PeerConnection::InitializePortAllocator_w(
return true;
}
bool PeerConnection::ReconfigurePortAllocator_w(
bool PeerConnection::ReconfigurePortAllocator_n(
const RTCConfiguration& configuration) {
cricket::ServerAddresses stun_servers;
std::vector<cricket::RelayServerConfig> turn_servers;

View File

@ -209,7 +209,7 @@ class PeerConnection : public PeerConnectionInterface,
return factory_->signaling_thread();
}
rtc::Thread* worker_thread() const { return factory_->worker_thread(); }
rtc::Thread* network_thread() const { return factory_->network_thread(); }
void PostSetSessionDescriptionFailure(SetSessionDescriptionObserver* observer,
const std::string& error);
@ -353,10 +353,10 @@ class PeerConnection : public PeerConnectionInterface,
DataChannel* FindDataChannelBySid(int sid) const;
// Called when first configuring the port allocator.
bool InitializePortAllocator_w(const RTCConfiguration& configuration);
bool InitializePortAllocator_n(const RTCConfiguration& configuration);
// Called when SetConfiguration is called. Only a subset of the configuration
// is applied.
bool ReconfigurePortAllocator_w(const RTCConfiguration& configuration);
bool ReconfigurePortAllocator_n(const RTCConfiguration& configuration);
// Storing the factory as a scoped reference pointer ensures that the memory
// in the PeerConnectionFactoryImpl remains available as long as the

View File

@ -287,7 +287,7 @@ PeerConnectionFactory::CreatePeerConnection(
allocator.reset(new cricket::BasicPortAllocator(
default_network_manager_.get(), default_socket_factory_.get()));
}
worker_thread_->Invoke<void>(
network_thread_->Invoke<void>(
rtc::Bind(&cricket::PortAllocator::SetNetworkIgnoreMask, allocator.get(),
options_.network_ignore_mask));