Delete method MessageQueue::set_socketserver
Instead, make the pointer to the associated socket server a
construction time const, and delete its lock.
Introduces a helper class AutoSocketServerThread for code
(mainly tests) which need a socket server associated with
the current thread.
BUG=webrtc:7501
Review-Url: https://codereview.webrtc.org/2828223002
Cr-Commit-Position: refs/heads/master@{#18047}
diff --git a/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc b/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
index 5929d1f..41b3be2 100644
--- a/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
+++ b/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
@@ -70,8 +70,7 @@
protected:
AsyncStunTCPSocketTest()
: vss_(new rtc::VirtualSocketServer(NULL)),
- ss_scope_(vss_.get()) {
- }
+ thread_(vss_.get()) {}
virtual void SetUp() {
CreateSockets();
@@ -125,7 +124,7 @@
}
std::unique_ptr<rtc::VirtualSocketServer> vss_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread thread_;
std::unique_ptr<AsyncStunTCPSocket> send_socket_;
std::unique_ptr<AsyncStunTCPSocket> recv_socket_;
std::unique_ptr<rtc::AsyncPacketSocket> listen_socket_;
diff --git a/webrtc/p2p/base/p2ptransportchannel_unittest.cc b/webrtc/p2p/base/p2ptransportchannel_unittest.cc
index e9d4be6..29faac3 100644
--- a/webrtc/p2p/base/p2ptransportchannel_unittest.cc
+++ b/webrtc/p2p/base/p2ptransportchannel_unittest.cc
@@ -182,14 +182,13 @@
public sigslot::has_slots<> {
public:
P2PTransportChannelTestBase()
- : main_(rtc::Thread::Current()),
- pss_(new rtc::PhysicalSocketServer),
+ : pss_(new rtc::PhysicalSocketServer),
vss_(new rtc::VirtualSocketServer(pss_.get())),
nss_(new rtc::NATSocketServer(vss_.get())),
ss_(new rtc::FirewallSocketServer(nss_.get())),
- ss_scope_(ss_.get()),
- stun_server_(TestStunServer::Create(main_, kStunAddr)),
- turn_server_(main_, kTurnUdpIntAddr, kTurnUdpExtAddr),
+ main_(ss_.get()),
+ stun_server_(TestStunServer::Create(&main_, kStunAddr)),
+ turn_server_(&main_, kTurnUdpIntAddr, kTurnUdpExtAddr),
socks_server1_(ss_.get(),
kSocksProxyAddrs[0],
ss_.get(),
@@ -696,8 +695,8 @@
GetEndpoint(ch)->saved_candidates_.push_back(
std::unique_ptr<CandidatesData>(new CandidatesData(ch, c)));
} else {
- main_->Post(RTC_FROM_HERE, this, MSG_ADD_CANDIDATES,
- new CandidatesData(ch, c));
+ main_.Post(RTC_FROM_HERE, this, MSG_ADD_CANDIDATES,
+ new CandidatesData(ch, c));
}
}
void OnSelectedCandidatePairChanged(
@@ -726,7 +725,7 @@
const std::vector<Candidate>& candidates) {
// Candidate removals are not paused.
CandidatesData* candidates_data = new CandidatesData(ch, candidates);
- main_->Post(RTC_FROM_HERE, this, MSG_REMOVE_CANDIDATES, candidates_data);
+ main_.Post(RTC_FROM_HERE, this, MSG_REMOVE_CANDIDATES, candidates_data);
}
// Tcp candidate verification has to be done when they are generated.
@@ -749,7 +748,7 @@
void ResumeCandidates(int endpoint) {
Endpoint* ed = GetEndpoint(endpoint);
for (auto& candidate : ed->saved_candidates_) {
- main_->Post(RTC_FROM_HERE, this, MSG_ADD_CANDIDATES, candidate.release());
+ main_.Post(RTC_FROM_HERE, this, MSG_ADD_CANDIDATES, candidate.release());
}
ed->saved_candidates_.clear();
ed->save_candidates_ = false;
@@ -875,12 +874,11 @@
bool nominated() { return nominated_; }
private:
- rtc::Thread* main_;
std::unique_ptr<rtc::PhysicalSocketServer> pss_;
std::unique_ptr<rtc::VirtualSocketServer> vss_;
std::unique_ptr<rtc::NATSocketServer> nss_;
std::unique_ptr<rtc::FirewallSocketServer> ss_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread main_;
std::unique_ptr<TestStunServer> stun_server_;
TestTurnServer turn_server_;
rtc::SocksProxyServer socks_server1_;
@@ -2934,7 +2932,7 @@
P2PTransportChannelPingTest()
: pss_(new rtc::PhysicalSocketServer),
vss_(new rtc::VirtualSocketServer(pss_.get())),
- ss_scope_(vss_.get()) {}
+ thread_(vss_.get()) {}
protected:
void PrepareChannel(P2PTransportChannel* ch) {
@@ -3084,7 +3082,7 @@
private:
std::unique_ptr<rtc::PhysicalSocketServer> pss_;
std::unique_ptr<rtc::VirtualSocketServer> vss_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread thread_;
CandidatePairInterface* last_selected_candidate_pair_ = nullptr;
int selected_candidate_pair_switches_ = 0;
int last_sent_packet_id_ = -1;
diff --git a/webrtc/p2p/base/port.cc b/webrtc/p2p/base/port.cc
index 93fda17..bf54924 100644
--- a/webrtc/p2p/base/port.cc
+++ b/webrtc/p2p/base/port.cc
@@ -1148,6 +1148,11 @@
}
void Connection::Destroy() {
+ // TODO(deadbeef, nisse): This may leak if an application closes a
+ // PeerConnection and then quickly destroys the PeerConnectionFactory (along
+ // with the networking thread on which this message is posted). Also affects
+ // tests, with a workaround in
+ // AutoSocketServerThread::~AutoSocketServerThread.
LOG_J(LS_VERBOSE, this) << "Connection destroyed";
port_->thread()->Post(RTC_FROM_HERE, this, MSG_DELETE);
}
diff --git a/webrtc/p2p/base/port_unittest.cc b/webrtc/p2p/base/port_unittest.cc
index 7cb5275..61a573b 100644
--- a/webrtc/p2p/base/port_unittest.cc
+++ b/webrtc/p2p/base/port_unittest.cc
@@ -381,19 +381,18 @@
class PortTest : public testing::Test, public sigslot::has_slots<> {
public:
PortTest()
- : main_(rtc::Thread::Current()),
- pss_(new rtc::PhysicalSocketServer),
+ : pss_(new rtc::PhysicalSocketServer),
ss_(new rtc::VirtualSocketServer(pss_.get())),
- ss_scope_(ss_.get()),
+ main_(ss_.get()),
network_("unittest", "unittest", rtc::IPAddress(INADDR_ANY), 32),
socket_factory_(rtc::Thread::Current()),
nat_factory1_(ss_.get(), kNatAddr1, SocketAddress()),
nat_factory2_(ss_.get(), kNatAddr2, SocketAddress()),
nat_socket_factory1_(&nat_factory1_),
nat_socket_factory2_(&nat_factory2_),
- stun_server_(TestStunServer::Create(main_, kStunAddr)),
- turn_server_(main_, kTurnUdpIntAddr, kTurnUdpExtAddr),
- relay_server_(main_,
+ stun_server_(TestStunServer::Create(&main_, kStunAddr)),
+ turn_server_(&main_, kTurnUdpIntAddr, kTurnUdpExtAddr),
+ relay_server_(&main_,
kRelayUdpIntAddr,
kRelayUdpExtAddr,
kRelayTcpIntAddr,
@@ -492,7 +491,7 @@
}
UDPPort* CreateUdpPort(const SocketAddress& addr,
PacketSocketFactory* socket_factory) {
- return UDPPort::Create(main_, socket_factory, &network_, addr.ipaddr(), 0,
+ return UDPPort::Create(&main_, socket_factory, &network_, addr.ipaddr(), 0,
0, username_, password_, std::string(), true);
}
TCPPort* CreateTcpPort(const SocketAddress& addr) {
@@ -500,7 +499,7 @@
}
TCPPort* CreateTcpPort(const SocketAddress& addr,
PacketSocketFactory* socket_factory) {
- return TCPPort::Create(main_, socket_factory, &network_,
+ return TCPPort::Create(&main_, socket_factory, &network_,
addr.ipaddr(), 0, 0, username_, password_,
true);
}
@@ -508,7 +507,7 @@
rtc::PacketSocketFactory* factory) {
ServerAddresses stun_servers;
stun_servers.insert(kStunAddr);
- return StunPort::Create(main_, factory, &network_,
+ return StunPort::Create(&main_, factory, &network_,
addr.ipaddr(), 0, 0,
username_, password_, stun_servers,
std::string());
@@ -533,7 +532,7 @@
PacketSocketFactory* socket_factory,
ProtocolType int_proto, ProtocolType ext_proto,
const rtc::SocketAddress& server_addr) {
- return TurnPort::Create(main_, socket_factory, &network_, addr.ipaddr(), 0,
+ return TurnPort::Create(&main_, socket_factory, &network_, addr.ipaddr(), 0,
0, username_, password_,
ProtocolAddress(server_addr, int_proto),
kRelayCredentials, 0, std::string());
@@ -550,7 +549,7 @@
// TODO(pthatcher): Remove GTURN.
// Generate a username with length of 16 for Gturn only.
std::string username = rtc::CreateRandomString(kGturnUserNameLength);
- return RelayPort::Create(main_, &socket_factory_, &network_, addr.ipaddr(),
+ return RelayPort::Create(&main_, &socket_factory_, &network_, addr.ipaddr(),
0, 0, username, password_);
// TODO: Add an external address for ext_proto, so that the
// other side can connect to this port using a non-UDP protocol.
@@ -767,7 +766,7 @@
TestPort* CreateTestPort(const rtc::SocketAddress& addr,
const std::string& username,
const std::string& password) {
- TestPort* port = new TestPort(main_, "test", &socket_factory_, &network_,
+ TestPort* port = new TestPort(&main_, "test", &socket_factory_, &network_,
addr.ipaddr(), 0, 0, username, password);
port->SignalRoleConflict.connect(this, &PortTest::OnRoleConflict);
return port;
@@ -802,10 +801,9 @@
rtc::VirtualSocketServer* vss() { return ss_.get(); }
private:
- rtc::Thread* main_;
std::unique_ptr<rtc::PhysicalSocketServer> pss_;
std::unique_ptr<rtc::VirtualSocketServer> ss_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread main_;
rtc::Network network_;
rtc::BasicPacketSocketFactory socket_factory_;
std::unique_ptr<rtc::NATServer> nat_server1_;
diff --git a/webrtc/p2p/base/relayport_unittest.cc b/webrtc/p2p/base/relayport_unittest.cc
index 8574af3..0d69953 100644
--- a/webrtc/p2p/base/relayport_unittest.cc
+++ b/webrtc/p2p/base/relayport_unittest.cc
@@ -45,20 +45,19 @@
public sigslot::has_slots<> {
public:
RelayPortTest()
- : main_(rtc::Thread::Current()),
- physical_socket_server_(new rtc::PhysicalSocketServer),
+ : physical_socket_server_(new rtc::PhysicalSocketServer),
virtual_socket_server_(new rtc::VirtualSocketServer(
physical_socket_server_.get())),
- ss_scope_(virtual_socket_server_.get()),
+ main_(virtual_socket_server_.get()),
network_("unittest", "unittest", rtc::IPAddress(INADDR_ANY), 32),
socket_factory_(rtc::Thread::Current()),
username_(rtc::CreateRandomString(16)),
password_(rtc::CreateRandomString(16)),
- relay_port_(cricket::RelayPort::Create(main_, &socket_factory_,
+ relay_port_(cricket::RelayPort::Create(&main_, &socket_factory_,
&network_,
kLocalAddress.ipaddr(),
0, 0, username_, password_)),
- relay_server_(new cricket::RelayServer(main_)) {
+ relay_server_(new cricket::RelayServer(&main_)) {
}
void OnReadPacket(rtc::AsyncPacketSocket* socket,
@@ -247,10 +246,9 @@
typedef std::map<rtc::AsyncPacketSocket*, int> PacketMap;
- rtc::Thread* main_;
std::unique_ptr<rtc::PhysicalSocketServer> physical_socket_server_;
std::unique_ptr<rtc::VirtualSocketServer> virtual_socket_server_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread main_;
rtc::Network network_;
rtc::BasicPacketSocketFactory socket_factory_;
std::string username_;
diff --git a/webrtc/p2p/base/relayserver_unittest.cc b/webrtc/p2p/base/relayserver_unittest.cc
index a53a666..057b5ee 100644
--- a/webrtc/p2p/base/relayserver_unittest.cc
+++ b/webrtc/p2p/base/relayserver_unittest.cc
@@ -42,7 +42,7 @@
RelayServerTest()
: pss_(new rtc::PhysicalSocketServer),
ss_(new rtc::VirtualSocketServer(pss_.get())),
- ss_scope_(ss_.get()),
+ thread_(ss_.get()),
username_(rtc::CreateRandomString(12)),
password_(rtc::CreateRandomString(12)) {}
@@ -168,7 +168,7 @@
std::unique_ptr<rtc::PhysicalSocketServer> pss_;
std::unique_ptr<rtc::VirtualSocketServer> ss_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread thread_;
std::unique_ptr<RelayServer> server_;
std::unique_ptr<rtc::TestClient> client1_;
std::unique_ptr<rtc::TestClient> client2_;
diff --git a/webrtc/p2p/base/stunport_unittest.cc b/webrtc/p2p/base/stunport_unittest.cc
index 52bb3e8..9fbcfec 100644
--- a/webrtc/p2p/base/stunport_unittest.cc
+++ b/webrtc/p2p/base/stunport_unittest.cc
@@ -46,7 +46,7 @@
StunPortTestBase()
: pss_(new rtc::PhysicalSocketServer),
ss_(new rtc::VirtualSocketServer(pss_.get())),
- ss_scope_(ss_.get()),
+ thread_(ss_.get()),
network_("unittest", "unittest", rtc::IPAddress(INADDR_ANY), 32),
socket_factory_(rtc::Thread::Current()),
stun_server_1_(cricket::TestStunServer::Create(rtc::Thread::Current(),
@@ -158,7 +158,7 @@
private:
std::unique_ptr<rtc::PhysicalSocketServer> pss_;
std::unique_ptr<rtc::VirtualSocketServer> ss_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread thread_;
rtc::Network network_;
rtc::BasicPacketSocketFactory socket_factory_;
std::unique_ptr<cricket::UDPPort> stun_port_;
diff --git a/webrtc/p2p/base/tcpport_unittest.cc b/webrtc/p2p/base/tcpport_unittest.cc
index 5a23202..7b354df 100644
--- a/webrtc/p2p/base/tcpport_unittest.cc
+++ b/webrtc/p2p/base/tcpport_unittest.cc
@@ -31,10 +31,9 @@
class TCPPortTest : public testing::Test, public sigslot::has_slots<> {
public:
TCPPortTest()
- : main_(rtc::Thread::Current()),
- pss_(new rtc::PhysicalSocketServer),
+ : pss_(new rtc::PhysicalSocketServer),
ss_(new rtc::VirtualSocketServer(pss_.get())),
- ss_scope_(ss_.get()),
+ main_(ss_.get()),
network_("unittest", "unittest", rtc::IPAddress(INADDR_ANY), 32),
socket_factory_(rtc::Thread::Current()),
username_(rtc::CreateRandomString(ICE_UFRAG_LENGTH)),
@@ -59,15 +58,14 @@
}
TCPPort* CreateTCPPort(const SocketAddress& addr) {
- return TCPPort::Create(main_, &socket_factory_, &network_, addr.ipaddr(), 0,
- 0, username_, password_, true);
+ return TCPPort::Create(&main_, &socket_factory_, &network_, addr.ipaddr(),
+ 0, 0, username_, password_, true);
}
protected:
- rtc::Thread* main_;
std::unique_ptr<rtc::PhysicalSocketServer> pss_;
std::unique_ptr<rtc::VirtualSocketServer> ss_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread main_;
rtc::Network network_;
rtc::BasicPacketSocketFactory socket_factory_;
std::string username_;
diff --git a/webrtc/p2p/base/turnport_unittest.cc b/webrtc/p2p/base/turnport_unittest.cc
index 7223eab..9377fb4 100644
--- a/webrtc/p2p/base/turnport_unittest.cc
+++ b/webrtc/p2p/base/turnport_unittest.cc
@@ -143,13 +143,12 @@
public rtc::MessageHandler {
public:
TurnPortTest()
- : main_(rtc::Thread::Current()),
- pss_(new rtc::PhysicalSocketServer),
+ : pss_(new rtc::PhysicalSocketServer),
ss_(new TurnPortTestVirtualSocketServer(pss_.get())),
- ss_scope_(ss_.get()),
+ main_(ss_.get()),
network_("unittest", "unittest", rtc::IPAddress(INADDR_ANY), 32),
socket_factory_(rtc::Thread::Current()),
- turn_server_(main_, kTurnUdpIntAddr, kTurnUdpExtAddr),
+ turn_server_(&main_, kTurnUdpIntAddr, kTurnUdpExtAddr),
turn_ready_(false),
turn_error_(false),
turn_unknown_address_(false),
@@ -243,7 +242,7 @@
const std::string& password,
const ProtocolAddress& server_address) {
RelayCredentials credentials(username, password);
- turn_port_.reset(TurnPort::Create(main_, &socket_factory_, &network_,
+ turn_port_.reset(TurnPort::Create(&main_, &socket_factory_, &network_,
local_address.ipaddr(), 0, 0,
kIceUfrag1, kIcePwd1,
server_address, credentials, 0,
@@ -261,7 +260,7 @@
const ProtocolAddress& server_address,
const std::string& origin) {
RelayCredentials credentials(username, password);
- turn_port_.reset(TurnPort::Create(main_, &socket_factory_, &network_,
+ turn_port_.reset(TurnPort::Create(&main_, &socket_factory_, &network_,
local_address.ipaddr(), 0, 0,
kIceUfrag1, kIcePwd1,
server_address, credentials, 0,
@@ -286,8 +285,8 @@
RelayCredentials credentials(username, password);
turn_port_.reset(TurnPort::Create(
- main_, &socket_factory_, &network_, socket_.get(), kIceUfrag1, kIcePwd1,
- server_address, credentials, 0, std::string()));
+ &main_, &socket_factory_, &network_, socket_.get(), kIceUfrag1,
+ kIcePwd1, server_address, credentials, 0, std::string()));
// This TURN port will be the controlling.
turn_port_->SetIceRole(ICEROLE_CONTROLLING);
ConnectSignals();
@@ -309,7 +308,7 @@
void CreateUdpPort() { CreateUdpPort(kLocalAddr2); }
void CreateUdpPort(const SocketAddress& address) {
- udp_port_.reset(UDPPort::Create(main_, &socket_factory_, &network_,
+ udp_port_.reset(UDPPort::Create(&main_, &socket_factory_, &network_,
address.ipaddr(), 0, 0, kIceUfrag2,
kIcePwd2, std::string(), false));
// UDP port will be controlled.
@@ -620,10 +619,9 @@
protected:
rtc::ScopedFakeClock fake_clock_;
- rtc::Thread* main_;
std::unique_ptr<rtc::PhysicalSocketServer> pss_;
std::unique_ptr<TurnPortTestVirtualSocketServer> ss_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread main_;
rtc::Network network_;
rtc::BasicPacketSocketFactory socket_factory_;
std::unique_ptr<rtc::AsyncPacketSocket> socket_;
diff --git a/webrtc/p2p/base/turnserver_unittest.cc b/webrtc/p2p/base/turnserver_unittest.cc
index a63670b..631eb46 100644
--- a/webrtc/p2p/base/turnserver_unittest.cc
+++ b/webrtc/p2p/base/turnserver_unittest.cc
@@ -21,7 +21,7 @@
class TurnServerConnectionTest : public testing::Test {
public:
- TurnServerConnectionTest() : vss_(&pss_), ss_scope_(&vss_) {}
+ TurnServerConnectionTest() : vss_(&pss_), thread_(&vss_) {}
void ExpectEqual(const TurnServerConnection& a,
const TurnServerConnection& b) {
@@ -41,8 +41,8 @@
protected:
rtc::PhysicalSocketServer pss_;
rtc::VirtualSocketServer vss_;
- rtc::SocketServerScope ss_scope_;
- // Since this is constructed after |ss_scope_|, it will pick up |ss_scope_|'s
+ rtc::AutoSocketServerThread thread_;
+ // Since this is constructed after |thread_|, it will pick up |threads_|'s
// socket server.
rtc::BasicPacketSocketFactory socket_factory_;
};
diff --git a/webrtc/p2p/base/udptransport_unittest.cc b/webrtc/p2p/base/udptransport_unittest.cc
index 339fbbc..5c4f265 100644
--- a/webrtc/p2p/base/udptransport_unittest.cc
+++ b/webrtc/p2p/base/udptransport_unittest.cc
@@ -35,11 +35,10 @@
class UdpTransportTest : public testing::Test, public sigslot::has_slots<> {
public:
UdpTransportTest()
- : network_thread_(rtc::Thread::Current()),
- physical_socket_server_(new rtc::PhysicalSocketServer),
+ : physical_socket_server_(new rtc::PhysicalSocketServer),
virtual_socket_server_(
new rtc::VirtualSocketServer(physical_socket_server_.get())),
- ss_scope_(virtual_socket_server_.get()),
+ network_thread_(virtual_socket_server_.get()),
ep1_("Name1",
std::unique_ptr<rtc::AsyncPacketSocket>(
socket_factory_.CreateUdpSocket(
@@ -121,10 +120,9 @@
uint32_t num_sig_ready_to_send_ = 0; // Increases on SignalReadyToSend.
};
- rtc::Thread* network_thread_ = nullptr;
std::unique_ptr<rtc::PhysicalSocketServer> physical_socket_server_;
std::unique_ptr<rtc::VirtualSocketServer> virtual_socket_server_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread network_thread_;
// Uses current thread's socket server, which will be set by ss_scope_.
rtc::BasicPacketSocketFactory socket_factory_;
diff --git a/webrtc/p2p/client/basicportallocator_unittest.cc b/webrtc/p2p/client/basicportallocator_unittest.cc
index 9b21469..6cc2259 100644
--- a/webrtc/p2p/client/basicportallocator_unittest.cc
+++ b/webrtc/p2p/client/basicportallocator_unittest.cc
@@ -113,7 +113,7 @@
: pss_(new rtc::PhysicalSocketServer),
vss_(new rtc::VirtualSocketServer(pss_.get())),
fss_(new rtc::FirewallSocketServer(vss_.get())),
- ss_scope_(fss_.get()),
+ thread_(fss_.get()),
// Note that the NAT is not used by default. ResetWithStunServerAndNat
// must be called.
nat_factory_(vss_.get(), kNatUdpAddr, kNatTcpAddr),
@@ -461,7 +461,7 @@
std::unique_ptr<rtc::PhysicalSocketServer> pss_;
std::unique_ptr<rtc::VirtualSocketServer> vss_;
std::unique_ptr<rtc::FirewallSocketServer> fss_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread thread_;
std::unique_ptr<rtc::NATServer> nat_server_;
rtc::NATSocketFactory nat_factory_;
std::unique_ptr<rtc::BasicPacketSocketFactory> nat_socket_factory_;
diff --git a/webrtc/p2p/stunprober/stunprober_unittest.cc b/webrtc/p2p/stunprober/stunprober_unittest.cc
index e194e4f..5b91581 100644
--- a/webrtc/p2p/stunprober/stunprober_unittest.cc
+++ b/webrtc/p2p/stunprober/stunprober_unittest.cc
@@ -41,10 +41,9 @@
class StunProberTest : public testing::Test {
public:
StunProberTest()
- : main_(rtc::Thread::Current()),
- pss_(new rtc::PhysicalSocketServer),
+ : pss_(new rtc::PhysicalSocketServer),
ss_(new rtc::VirtualSocketServer(pss_.get())),
- ss_scope_(ss_.get()),
+ main_(ss_.get()),
result_(StunProber::SUCCESS),
stun_server_1_(cricket::TestStunServer::Create(rtc::Thread::Current(),
kStunAddr1)),
@@ -120,10 +119,9 @@
stopped_ = true;
}
- rtc::Thread* main_;
std::unique_ptr<rtc::PhysicalSocketServer> pss_;
std::unique_ptr<rtc::VirtualSocketServer> ss_;
- rtc::SocketServerScope ss_scope_;
+ rtc::AutoSocketServerThread main_;
std::unique_ptr<StunProber> prober;
int result_ = 0;
bool stopped_ = false;