Delete unused listen-mode of AsyncStunTCPSocket
Small step towards using separate classes for TCP server sockets.
Added a new test-only class AsyncStunServerTCPSocket needed
for unit tests of AsyncStunTCPSocket.
Bug: webrtc:13065
Change-Id: I7d9713983d8f6b30aa3d3e7442bb34ea48b815eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232324
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35047}
diff --git a/p2p/base/async_stun_tcp_socket.cc b/p2p/base/async_stun_tcp_socket.cc
index f4ead66..64c19c4 100644
--- a/p2p/base/async_stun_tcp_socket.cc
+++ b/p2p/base/async_stun_tcp_socket.cc
@@ -45,12 +45,11 @@
const rtc::SocketAddress& bind_address,
const rtc::SocketAddress& remote_address) {
return new AsyncStunTCPSocket(
- AsyncTCPSocketBase::ConnectSocket(socket, bind_address, remote_address),
- false);
+ AsyncTCPSocketBase::ConnectSocket(socket, bind_address, remote_address));
}
-AsyncStunTCPSocket::AsyncStunTCPSocket(rtc::Socket* socket, bool listen)
- : rtc::AsyncTCPSocketBase(socket, listen, kBufSize) {}
+AsyncStunTCPSocket::AsyncStunTCPSocket(rtc::Socket* socket)
+ : rtc::AsyncTCPSocketBase(socket, /*listen=*/false, kBufSize) {}
int AsyncStunTCPSocket::Send(const void* pv,
size_t cb,
@@ -127,7 +126,7 @@
}
void AsyncStunTCPSocket::HandleIncomingConnection(rtc::Socket* socket) {
- SignalNewConnection(this, new AsyncStunTCPSocket(socket, false));
+ SignalNewConnection(this, new AsyncStunTCPSocket(socket));
}
size_t AsyncStunTCPSocket::GetExpectedLength(const void* data,
diff --git a/p2p/base/async_stun_tcp_socket.h b/p2p/base/async_stun_tcp_socket.h
index 2b7bc95..2dc9613 100644
--- a/p2p/base/async_stun_tcp_socket.h
+++ b/p2p/base/async_stun_tcp_socket.h
@@ -30,7 +30,7 @@
const rtc::SocketAddress& bind_address,
const rtc::SocketAddress& remote_address);
- AsyncStunTCPSocket(rtc::Socket* socket, bool listen);
+ explicit AsyncStunTCPSocket(rtc::Socket* socket);
int Send(const void* pv,
size_t cb,
diff --git a/p2p/base/async_stun_tcp_socket_unittest.cc b/p2p/base/async_stun_tcp_socket_unittest.cc
index 40b5405..64c9a34 100644
--- a/p2p/base/async_stun_tcp_socket_unittest.cc
+++ b/p2p/base/async_stun_tcp_socket_unittest.cc
@@ -58,6 +58,15 @@
static const rtc::SocketAddress kClientAddr("11.11.11.11", 0);
static const rtc::SocketAddress kServerAddr("22.22.22.22", 0);
+class AsyncStunServerTCPSocket : public rtc::AsyncTCPSocket {
+ public:
+ explicit AsyncStunServerTCPSocket(rtc::Socket* socket)
+ : AsyncTCPSocket(socket, true) {}
+ void HandleIncomingConnection(rtc::Socket* socket) override {
+ SignalNewConnection(this, new AsyncStunTCPSocket(socket));
+ }
+};
+
class AsyncStunTCPSocketTest : public ::testing::Test,
public sigslot::has_slots<> {
protected:
@@ -69,7 +78,7 @@
void CreateSockets() {
rtc::Socket* server = vss_->CreateSocket(kServerAddr.family(), SOCK_STREAM);
server->Bind(kServerAddr);
- recv_socket_.reset(new AsyncStunTCPSocket(server, true));
+ recv_socket_.reset(new AsyncStunServerTCPSocket(server));
recv_socket_->SignalNewConnection.connect(
this, &AsyncStunTCPSocketTest::OnNewConnection);
@@ -95,7 +104,7 @@
++sent_packets_;
}
- void OnNewConnection(rtc::AsyncPacketSocket* server,
+ void OnNewConnection(rtc::AsyncPacketSocket* /*server*/,
rtc::AsyncPacketSocket* new_socket) {
listen_socket_.reset(new_socket);
new_socket->SignalReadPacket.connect(this,
@@ -123,7 +132,7 @@
std::unique_ptr<rtc::VirtualSocketServer> vss_;
rtc::AutoSocketServerThread thread_;
std::unique_ptr<AsyncStunTCPSocket> send_socket_;
- std::unique_ptr<AsyncStunTCPSocket> recv_socket_;
+ std::unique_ptr<rtc::AsyncPacketSocket> recv_socket_;
std::unique_ptr<rtc::AsyncPacketSocket> listen_socket_;
std::list<std::string> recv_packets_;
int sent_packets_ = 0;
diff --git a/p2p/base/basic_packet_socket_factory.cc b/p2p/base/basic_packet_socket_factory.cc
index 4cba270..d206497 100644
--- a/p2p/base/basic_packet_socket_factory.cc
+++ b/p2p/base/basic_packet_socket_factory.cc
@@ -92,8 +92,7 @@
socket = new AsyncSSLSocket(socket);
}
- if (opts & PacketSocketFactory::OPT_STUN)
- return new cricket::AsyncStunTCPSocket(socket, true);
+ RTC_CHECK(!(opts & PacketSocketFactory::OPT_STUN));
return new AsyncTCPSocket(socket, true);
}
@@ -187,7 +186,7 @@
// Finally, wrap that socket in a TCP or STUN TCP packet socket.
AsyncPacketSocket* tcp_socket;
if (tcp_options.opts & PacketSocketFactory::OPT_STUN) {
- tcp_socket = new cricket::AsyncStunTCPSocket(socket, false);
+ tcp_socket = new cricket::AsyncStunTCPSocket(socket);
} else {
tcp_socket = new AsyncTCPSocket(socket, false);
}
diff --git a/p2p/base/turn_server.cc b/p2p/base/turn_server.cc
index 01856f4..fd9cd16 100644
--- a/p2p/base/turn_server.cc
+++ b/p2p/base/turn_server.cc
@@ -183,7 +183,7 @@
if (accepted_socket != NULL) {
ProtocolType proto = server_listen_sockets_[server_socket];
cricket::AsyncStunTCPSocket* tcp_socket =
- new cricket::AsyncStunTCPSocket(accepted_socket, false);
+ new cricket::AsyncStunTCPSocket(accepted_socket);
tcp_socket->SignalClose.connect(this, &TurnServer::OnInternalSocketClose);
// Finally add the socket so it can start communicating with the client.