Delete AsyncSocket class, merge into Socket class
Bug: webrtc:13065
Change-Id: I13afee2386ea9c4de0e4fa95133f0c4d3ec826e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227031
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34787}
diff --git a/examples/androidvoip/jni/android_voip_client.cc b/examples/androidvoip/jni/android_voip_client.cc
index 95d3ed4..9f859cb 100644
--- a/examples/androidvoip/jni/android_voip_client.cc
+++ b/examples/androidvoip/jni/android_voip_client.cc
@@ -61,8 +61,8 @@
RTC_DCHECK(thread->socketserver() != nullptr);
RTC_DCHECK(family == AF_INET || family == AF_INET6);
- std::unique_ptr<rtc::AsyncSocket> socket(
- thread->socketserver()->CreateAsyncSocket(family, SOCK_DGRAM));
+ std::unique_ptr<rtc::Socket> socket(
+ thread->socketserver()->CreateSocket(family, SOCK_DGRAM));
if (!socket) {
RTC_LOG_ERR(LERROR) << "Socket creation failed";
return rtc::IPAddress();
diff --git a/examples/peerconnection/client/peer_connection_client.cc b/examples/peerconnection/client/peer_connection_client.cc
index 9bf2a0f..7132593 100644
--- a/examples/peerconnection/client/peer_connection_client.cc
+++ b/examples/peerconnection/client/peer_connection_client.cc
@@ -26,7 +26,7 @@
// Delay between server connection retries, in milliseconds
const int kReconnectDelay = 2000;
-rtc::AsyncSocket* CreateClientSocket(int family) {
+rtc::Socket* CreateClientSocket(int family) {
#ifdef WIN32
rtc::Win32Socket* sock = new rtc::Win32Socket();
sock->CreateT(family, SOCK_STREAM);
@@ -34,7 +34,7 @@
#elif defined(WEBRTC_POSIX)
rtc::Thread* thread = rtc::Thread::Current();
RTC_DCHECK(thread != NULL);
- return thread->socketserver()->CreateAsyncSocket(family, SOCK_STREAM);
+ return thread->socketserver()->CreateSocket(family, SOCK_STREAM);
#else
#error Platform not supported.
#endif
@@ -227,14 +227,14 @@
return true;
}
-void PeerConnectionClient::OnConnect(rtc::AsyncSocket* socket) {
+void PeerConnectionClient::OnConnect(rtc::Socket* socket) {
RTC_DCHECK(!onconnect_data_.empty());
size_t sent = socket->Send(onconnect_data_.c_str(), onconnect_data_.length());
RTC_DCHECK(sent == onconnect_data_.length());
onconnect_data_.clear();
}
-void PeerConnectionClient::OnHangingGetConnect(rtc::AsyncSocket* socket) {
+void PeerConnectionClient::OnHangingGetConnect(rtc::Socket* socket) {
char buffer[1024];
snprintf(buffer, sizeof(buffer), "GET /wait?peer_id=%i HTTP/1.0\r\n\r\n",
my_id_);
@@ -283,7 +283,7 @@
return false;
}
-bool PeerConnectionClient::ReadIntoBuffer(rtc::AsyncSocket* socket,
+bool PeerConnectionClient::ReadIntoBuffer(rtc::Socket* socket,
std::string* data,
size_t* content_length) {
char buffer[0xffff];
@@ -321,7 +321,7 @@
return ret;
}
-void PeerConnectionClient::OnRead(rtc::AsyncSocket* socket) {
+void PeerConnectionClient::OnRead(rtc::Socket* socket) {
size_t content_length = 0;
if (ReadIntoBuffer(socket, &control_data_, &content_length)) {
size_t peer_id = 0, eoh = 0;
@@ -373,7 +373,7 @@
}
}
-void PeerConnectionClient::OnHangingGetRead(rtc::AsyncSocket* socket) {
+void PeerConnectionClient::OnHangingGetRead(rtc::Socket* socket) {
RTC_LOG(INFO) << __FUNCTION__;
size_t content_length = 0;
if (ReadIntoBuffer(socket, ¬ification_data_, &content_length)) {
@@ -471,7 +471,7 @@
return true;
}
-void PeerConnectionClient::OnClose(rtc::AsyncSocket* socket, int err) {
+void PeerConnectionClient::OnClose(rtc::Socket* socket, int err) {
RTC_LOG(INFO) << __FUNCTION__;
socket->Close();
diff --git a/examples/peerconnection/client/peer_connection_client.h b/examples/peerconnection/client/peer_connection_client.h
index d7ae913..00d2192 100644
--- a/examples/peerconnection/client/peer_connection_client.h
+++ b/examples/peerconnection/client/peer_connection_client.h
@@ -73,8 +73,8 @@
void Close();
void InitSocketSignals();
bool ConnectControlSocket();
- void OnConnect(rtc::AsyncSocket* socket);
- void OnHangingGetConnect(rtc::AsyncSocket* socket);
+ void OnConnect(rtc::Socket* socket);
+ void OnHangingGetConnect(rtc::Socket* socket);
void OnMessageFromPeer(int peer_id, const std::string& message);
// Quick and dirty support for parsing HTTP header values.
@@ -89,13 +89,13 @@
std::string* value);
// Returns true if the whole response has been read.
- bool ReadIntoBuffer(rtc::AsyncSocket* socket,
+ bool ReadIntoBuffer(rtc::Socket* socket,
std::string* data,
size_t* content_length);
- void OnRead(rtc::AsyncSocket* socket);
+ void OnRead(rtc::Socket* socket);
- void OnHangingGetRead(rtc::AsyncSocket* socket);
+ void OnHangingGetRead(rtc::Socket* socket);
// Parses a single line entry in the form "<name>,<id>,<connected>"
bool ParseEntry(const std::string& entry,
@@ -110,15 +110,15 @@
size_t* peer_id,
size_t* eoh);
- void OnClose(rtc::AsyncSocket* socket, int err);
+ void OnClose(rtc::Socket* socket, int err);
void OnResolveResult(rtc::AsyncResolverInterface* resolver);
PeerConnectionClientObserver* callback_;
rtc::SocketAddress server_address_;
rtc::AsyncResolver* resolver_;
- std::unique_ptr<rtc::AsyncSocket> control_socket_;
- std::unique_ptr<rtc::AsyncSocket> hanging_get_;
+ std::unique_ptr<rtc::Socket> control_socket_;
+ std::unique_ptr<rtc::Socket> hanging_get_;
std::string onconnect_data_;
std::string control_data_;
std::string notification_data_;
diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn
index 244bc39..f885694 100644
--- a/p2p/BUILD.gn
+++ b/p2p/BUILD.gn
@@ -99,7 +99,6 @@
"../logging:ice_log",
"../rtc_base",
"../rtc_base:async_resolver_interface",
- "../rtc_base:async_socket",
"../rtc_base:callback_list",
"../rtc_base:checks",
"../rtc_base:ip_address",
@@ -189,10 +188,10 @@
"../api/transport:stun_types",
"../rtc_base",
"../rtc_base:async_resolver_interface",
- "../rtc_base:async_socket",
"../rtc_base:gunit_helpers",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
+ "../rtc_base:socket",
"../rtc_base:socket_address",
"../rtc_base:socket_server",
"../rtc_base:threading",
@@ -241,7 +240,6 @@
"../api/transport:stun_types",
"../api/units:time_delta",
"../rtc_base",
- "../rtc_base:async_socket",
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
"../rtc_base:ip_address",
diff --git a/p2p/base/async_stun_tcp_socket.cc b/p2p/base/async_stun_tcp_socket.cc
index 676447e..f4ead66 100644
--- a/p2p/base/async_stun_tcp_socket.cc
+++ b/p2p/base/async_stun_tcp_socket.cc
@@ -41,7 +41,7 @@
// it. Takes ownership of `socket`. Returns NULL if bind() or
// connect() fail (`socket` is destroyed in that case).
AsyncStunTCPSocket* AsyncStunTCPSocket::Create(
- rtc::AsyncSocket* socket,
+ rtc::Socket* socket,
const rtc::SocketAddress& bind_address,
const rtc::SocketAddress& remote_address) {
return new AsyncStunTCPSocket(
@@ -49,7 +49,7 @@
false);
}
-AsyncStunTCPSocket::AsyncStunTCPSocket(rtc::AsyncSocket* socket, bool listen)
+AsyncStunTCPSocket::AsyncStunTCPSocket(rtc::Socket* socket, bool listen)
: rtc::AsyncTCPSocketBase(socket, listen, kBufSize) {}
int AsyncStunTCPSocket::Send(const void* pv,
@@ -126,7 +126,7 @@
}
}
-void AsyncStunTCPSocket::HandleIncomingConnection(rtc::AsyncSocket* socket) {
+void AsyncStunTCPSocket::HandleIncomingConnection(rtc::Socket* socket) {
SignalNewConnection(this, new AsyncStunTCPSocket(socket, false));
}
diff --git a/p2p/base/async_stun_tcp_socket.h b/p2p/base/async_stun_tcp_socket.h
index 9453845..2b7bc95 100644
--- a/p2p/base/async_stun_tcp_socket.h
+++ b/p2p/base/async_stun_tcp_socket.h
@@ -14,9 +14,9 @@
#include <stddef.h>
#include "rtc_base/async_packet_socket.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/async_tcp_socket.h"
#include "rtc_base/constructor_magic.h"
+#include "rtc_base/socket.h"
#include "rtc_base/socket_address.h"
namespace cricket {
@@ -26,17 +26,17 @@
// Binds and connects `socket` and creates AsyncTCPSocket for
// it. Takes ownership of `socket`. Returns NULL if bind() or
// connect() fail (`socket` is destroyed in that case).
- static AsyncStunTCPSocket* Create(rtc::AsyncSocket* socket,
+ static AsyncStunTCPSocket* Create(rtc::Socket* socket,
const rtc::SocketAddress& bind_address,
const rtc::SocketAddress& remote_address);
- AsyncStunTCPSocket(rtc::AsyncSocket* socket, bool listen);
+ AsyncStunTCPSocket(rtc::Socket* socket, bool listen);
int Send(const void* pv,
size_t cb,
const rtc::PacketOptions& options) override;
void ProcessInput(char* data, size_t* len) override;
- void HandleIncomingConnection(rtc::AsyncSocket* socket) override;
+ void HandleIncomingConnection(rtc::Socket* socket) override;
private:
// This method returns the message hdr + length written in the header.
diff --git a/p2p/base/async_stun_tcp_socket_unittest.cc b/p2p/base/async_stun_tcp_socket_unittest.cc
index d1dfac1..40b5405 100644
--- a/p2p/base/async_stun_tcp_socket_unittest.cc
+++ b/p2p/base/async_stun_tcp_socket_unittest.cc
@@ -17,8 +17,8 @@
#include <memory>
#include <string>
-#include "rtc_base/async_socket.h"
#include "rtc_base/network/sent_packet.h"
+#include "rtc_base/socket.h"
#include "rtc_base/third_party/sigslot/sigslot.h"
#include "rtc_base/thread.h"
#include "rtc_base/virtual_socket_server.h"
@@ -67,15 +67,13 @@
virtual void SetUp() { CreateSockets(); }
void CreateSockets() {
- rtc::AsyncSocket* server =
- vss_->CreateAsyncSocket(kServerAddr.family(), SOCK_STREAM);
+ rtc::Socket* server = vss_->CreateSocket(kServerAddr.family(), SOCK_STREAM);
server->Bind(kServerAddr);
recv_socket_.reset(new AsyncStunTCPSocket(server, true));
recv_socket_->SignalNewConnection.connect(
this, &AsyncStunTCPSocketTest::OnNewConnection);
- rtc::AsyncSocket* client =
- vss_->CreateAsyncSocket(kClientAddr.family(), SOCK_STREAM);
+ rtc::Socket* client = vss_->CreateSocket(kClientAddr.family(), SOCK_STREAM);
send_socket_.reset(AsyncStunTCPSocket::Create(
client, kClientAddr, recv_socket_->GetLocalAddress()));
send_socket_->SignalSentPacket.connect(
diff --git a/p2p/base/basic_packet_socket_factory.cc b/p2p/base/basic_packet_socket_factory.cc
index 232e58b..4aaad7c 100644
--- a/p2p/base/basic_packet_socket_factory.cc
+++ b/p2p/base/basic_packet_socket_factory.cc
@@ -46,8 +46,7 @@
uint16_t min_port,
uint16_t max_port) {
// UDP sockets are simple.
- AsyncSocket* socket =
- socket_factory()->CreateAsyncSocket(address.family(), SOCK_DGRAM);
+ Socket* socket = socket_factory()->CreateSocket(address.family(), SOCK_DGRAM);
if (!socket) {
return NULL;
}
@@ -70,8 +69,8 @@
return NULL;
}
- AsyncSocket* socket =
- socket_factory()->CreateAsyncSocket(local_address.family(), SOCK_STREAM);
+ Socket* socket =
+ socket_factory()->CreateSocket(local_address.family(), SOCK_STREAM);
if (!socket) {
return NULL;
}
@@ -108,8 +107,8 @@
const ProxyInfo& proxy_info,
const std::string& user_agent,
const PacketSocketTcpOptions& tcp_options) {
- AsyncSocket* socket =
- socket_factory()->CreateAsyncSocket(local_address.family(), SOCK_STREAM);
+ Socket* socket =
+ socket_factory()->CreateSocket(local_address.family(), SOCK_STREAM);
if (!socket) {
return NULL;
}
@@ -203,7 +202,7 @@
return new AsyncResolver();
}
-int BasicPacketSocketFactory::BindSocket(AsyncSocket* socket,
+int BasicPacketSocketFactory::BindSocket(Socket* socket,
const SocketAddress& local_address,
uint16_t min_port,
uint16_t max_port) {
diff --git a/p2p/base/basic_packet_socket_factory.h b/p2p/base/basic_packet_socket_factory.h
index 337efca..22f3024 100644
--- a/p2p/base/basic_packet_socket_factory.h
+++ b/p2p/base/basic_packet_socket_factory.h
@@ -14,10 +14,10 @@
#include <string>
#include "api/packet_socket_factory.h"
+#include "rtc_base/socket.h"
namespace rtc {
-class AsyncSocket;
class SocketFactory;
class Thread;
@@ -45,7 +45,7 @@
AsyncResolverInterface* CreateAsyncResolver() override;
private:
- int BindSocket(AsyncSocket* socket,
+ int BindSocket(Socket* socket,
const SocketAddress& local_address,
uint16_t min_port,
uint16_t max_port);
diff --git a/p2p/base/port_unittest.cc b/p2p/base/port_unittest.cc
index fe12a6d..7d7bfdb 100644
--- a/p2p/base/port_unittest.cc
+++ b/p2p/base/port_unittest.cc
@@ -40,7 +40,6 @@
#include "p2p/client/relay_port_factory_interface.h"
#include "rtc_base/arraysize.h"
#include "rtc_base/async_packet_socket.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/buffer.h"
#include "rtc_base/byte_buffer.h"
#include "rtc_base/checks.h"
@@ -1217,8 +1216,8 @@
ch1.Start();
ASSERT_EQ_WAIT(1, ch1.complete_count(), kDefaultTimeout);
- std::unique_ptr<rtc::AsyncSocket> server(
- vss()->CreateAsyncSocket(kLocalAddr2.family(), SOCK_STREAM));
+ std::unique_ptr<rtc::Socket> server(
+ vss()->CreateSocket(kLocalAddr2.family(), SOCK_STREAM));
// Bind but not listen.
EXPECT_EQ(0, server->Bind(kLocalAddr2));
diff --git a/p2p/base/stun_server.h b/p2p/base/stun_server.h
index 60e8248..f2126db 100644
--- a/p2p/base/stun_server.h
+++ b/p2p/base/stun_server.h
@@ -34,7 +34,7 @@
~StunServer() override;
protected:
- // Slot for AsyncSocket.PacketRead:
+ // Slot for Socket.PacketRead:
void OnPacket(rtc::AsyncPacketSocket* socket,
const char* buf,
size_t size,
diff --git a/p2p/base/test_stun_server.cc b/p2p/base/test_stun_server.cc
index 54bdfb3..3bd793c 100644
--- a/p2p/base/test_stun_server.cc
+++ b/p2p/base/test_stun_server.cc
@@ -10,14 +10,14 @@
#include "p2p/base/test_stun_server.h"
-#include "rtc_base/async_socket.h"
+#include "rtc_base/socket.h"
#include "rtc_base/socket_server.h"
namespace cricket {
TestStunServer* TestStunServer::Create(rtc::SocketServer* ss,
const rtc::SocketAddress& addr) {
- rtc::AsyncSocket* socket = ss->CreateAsyncSocket(addr.family(), SOCK_DGRAM);
+ rtc::Socket* socket = ss->CreateSocket(addr.family(), SOCK_DGRAM);
rtc::AsyncUDPSocket* udp_socket = rtc::AsyncUDPSocket::Create(socket, addr);
return new TestStunServer(udp_socket);
diff --git a/p2p/base/test_turn_server.h b/p2p/base/test_turn_server.h
index ecd9348..479ca8b 100644
--- a/p2p/base/test_turn_server.h
+++ b/p2p/base/test_turn_server.h
@@ -99,8 +99,8 @@
} else if (proto == cricket::PROTO_TCP || proto == cricket::PROTO_TLS) {
// For TCP we need to create a server socket which can listen for incoming
// new connections.
- rtc::AsyncSocket* socket =
- thread_->socketserver()->CreateAsyncSocket(AF_INET, SOCK_STREAM);
+ rtc::Socket* socket =
+ thread_->socketserver()->CreateSocket(AF_INET, SOCK_STREAM);
if (proto == cricket::PROTO_TLS) {
// For TLS, wrap the TCP socket with an SSL adapter. The adapter must
// be configured with a self-signed certificate for testing.
diff --git a/p2p/base/turn_port_unittest.cc b/p2p/base/turn_port_unittest.cc
index c45b8c9..7a7092d 100644
--- a/p2p/base/turn_port_unittest.cc
+++ b/p2p/base/turn_port_unittest.cc
@@ -28,7 +28,6 @@
#include "p2p/base/transport_description.h"
#include "p2p/base/turn_port.h"
#include "p2p/base/turn_server.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/buffer.h"
#include "rtc_base/byte_buffer.h"
#include "rtc_base/checks.h"
@@ -37,6 +36,7 @@
#include "rtc_base/location.h"
#include "rtc_base/message_handler.h"
#include "rtc_base/net_helper.h"
+#include "rtc_base/socket.h"
#include "rtc_base/socket_address.h"
#include "rtc_base/thread.h"
#include "rtc_base/time_utils.h"
@@ -242,8 +242,8 @@
void OnTurnPortClosed(TurnPort* port) { turn_port_closed_ = true; }
void OnTurnPortDestroyed(PortInterface* port) { turn_port_destroyed_ = true; }
- rtc::AsyncSocket* CreateServerSocket(const SocketAddress addr) {
- rtc::AsyncSocket* socket = ss_->CreateAsyncSocket(AF_INET, SOCK_STREAM);
+ rtc::Socket* CreateServerSocket(const SocketAddress addr) {
+ rtc::Socket* socket = ss_->CreateSocket(AF_INET, SOCK_STREAM);
EXPECT_GE(socket->Bind(addr), 0);
EXPECT_GE(socket->Listen(5), 0);
return socket;
diff --git a/p2p/base/turn_server.cc b/p2p/base/turn_server.cc
index 53f283b..01856f4 100644
--- a/p2p/base/turn_server.cc
+++ b/p2p/base/turn_server.cc
@@ -139,7 +139,7 @@
for (ServerSocketMap::iterator it = server_listen_sockets_.begin();
it != server_listen_sockets_.end(); ++it) {
- rtc::AsyncSocket* socket = it->first;
+ rtc::Socket* socket = it->first;
delete socket;
}
}
@@ -152,7 +152,7 @@
socket->SignalReadPacket.connect(this, &TurnServer::OnInternalPacket);
}
-void TurnServer::AddInternalServerSocket(rtc::AsyncSocket* socket,
+void TurnServer::AddInternalServerSocket(rtc::Socket* socket,
ProtocolType proto) {
RTC_DCHECK_RUN_ON(thread_);
RTC_DCHECK(server_listen_sockets_.end() ==
@@ -169,17 +169,17 @@
external_addr_ = external_addr;
}
-void TurnServer::OnNewInternalConnection(rtc::AsyncSocket* socket) {
+void TurnServer::OnNewInternalConnection(rtc::Socket* socket) {
RTC_DCHECK_RUN_ON(thread_);
RTC_DCHECK(server_listen_sockets_.find(socket) !=
server_listen_sockets_.end());
AcceptConnection(socket);
}
-void TurnServer::AcceptConnection(rtc::AsyncSocket* server_socket) {
+void TurnServer::AcceptConnection(rtc::Socket* server_socket) {
// Check if someone is trying to connect to us.
rtc::SocketAddress accept_addr;
- rtc::AsyncSocket* accepted_socket = server_socket->Accept(&accept_addr);
+ rtc::Socket* accepted_socket = server_socket->Accept(&accept_addr);
if (accepted_socket != NULL) {
ProtocolType proto = server_listen_sockets_[server_socket];
cricket::AsyncStunTCPSocket* tcp_socket =
diff --git a/p2p/base/turn_server.h b/p2p/base/turn_server.h
index f90c3da..7942c09 100644
--- a/p2p/base/turn_server.h
+++ b/p2p/base/turn_server.h
@@ -237,7 +237,7 @@
// Starts listening for the connections on this socket. When someone tries
// to connect, the connection will be accepted and a new internal socket
// will be added.
- void AddInternalServerSocket(rtc::AsyncSocket* socket, ProtocolType proto);
+ void AddInternalServerSocket(rtc::Socket* socket, ProtocolType proto);
// Specifies the factory to use for creating external sockets.
void SetExternalSocketFactory(rtc::PacketSocketFactory* factory,
const rtc::SocketAddress& address);
@@ -265,10 +265,10 @@
const rtc::SocketAddress& address,
const int64_t& packet_time_us);
- void OnNewInternalConnection(rtc::AsyncSocket* socket);
+ void OnNewInternalConnection(rtc::Socket* socket);
// Accept connections on this server socket.
- void AcceptConnection(rtc::AsyncSocket* server_socket) RTC_RUN_ON(thread_);
+ void AcceptConnection(rtc::Socket* server_socket) RTC_RUN_ON(thread_);
void OnInternalSocketClose(rtc::AsyncPacketSocket* socket, int err);
void HandleStunMessage(TurnServerConnection* conn,
@@ -320,7 +320,7 @@
RTC_RUN_ON(thread_);
typedef std::map<rtc::AsyncPacketSocket*, ProtocolType> InternalSocketMap;
- typedef std::map<rtc::AsyncSocket*, ProtocolType> ServerSocketMap;
+ typedef std::map<rtc::Socket*, ProtocolType> ServerSocketMap;
rtc::Thread* const thread_;
const std::string nonce_key_;
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 40c4835..90bb8b7 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -737,7 +737,6 @@
"null_socket_server.h",
]
deps = [
- ":async_socket",
":checks",
":rtc_event",
":socket",
@@ -818,10 +817,7 @@
rtc_source_set("socket_factory") {
sources = [ "socket_factory.h" ]
- deps = [
- ":async_socket",
- ":socket",
- ]
+ deps = [ ":socket" ]
}
rtc_library("async_socket") {
@@ -846,7 +842,9 @@
deps = [
":macromagic",
":socket_address",
+ "third_party/sigslot",
]
+ absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ]
if (is_win) {
deps += [ ":win32" ]
}
@@ -1294,7 +1292,6 @@
"socket_unittest.h",
]
deps = [
- ":async_socket",
":checks",
":gunit_helpers",
":ip_address",
@@ -1369,7 +1366,6 @@
sources += [ "win/windows_version_unittest.cc" ]
}
deps = [
- ":async_socket",
":bounded_inline_vector",
":checks",
":criticalsection",
@@ -1505,13 +1501,13 @@
"unique_id_generator_unittest.cc",
]
deps = [
- ":async_socket",
":checks",
":gunit_helpers",
":ip_address",
":net_helpers",
":null_socket_server",
":rtc_base_tests_utils",
+ ":socket",
":socket_address",
":socket_factory",
":socket_server",
diff --git a/rtc_base/async_socket.cc b/rtc_base/async_socket.cc
index e80514d..7289b5c 100644
--- a/rtc_base/async_socket.cc
+++ b/rtc_base/async_socket.cc
@@ -15,11 +15,7 @@
namespace rtc {
-AsyncSocket::AsyncSocket() {}
-
-AsyncSocket::~AsyncSocket() {}
-
-AsyncSocketAdapter::AsyncSocketAdapter(AsyncSocket* socket)
+AsyncSocketAdapter::AsyncSocketAdapter(Socket* socket)
: socket_(absl::WrapUnique(socket)) {
RTC_DCHECK(socket_);
socket_->SignalConnectEvent.connect(this,
@@ -70,7 +66,7 @@
return socket_->Listen(backlog);
}
-AsyncSocket* AsyncSocketAdapter::Accept(SocketAddress* paddr) {
+Socket* AsyncSocketAdapter::Accept(SocketAddress* paddr) {
return socket_->Accept(paddr);
}
@@ -86,7 +82,7 @@
return socket_->SetError(error);
}
-AsyncSocket::ConnState AsyncSocketAdapter::GetState() const {
+Socket::ConnState AsyncSocketAdapter::GetState() const {
return socket_->GetState();
}
@@ -98,19 +94,19 @@
return socket_->SetOption(opt, value);
}
-void AsyncSocketAdapter::OnConnectEvent(AsyncSocket* socket) {
+void AsyncSocketAdapter::OnConnectEvent(Socket* socket) {
SignalConnectEvent(this);
}
-void AsyncSocketAdapter::OnReadEvent(AsyncSocket* socket) {
+void AsyncSocketAdapter::OnReadEvent(Socket* socket) {
SignalReadEvent(this);
}
-void AsyncSocketAdapter::OnWriteEvent(AsyncSocket* socket) {
+void AsyncSocketAdapter::OnWriteEvent(Socket* socket) {
SignalWriteEvent(this);
}
-void AsyncSocketAdapter::OnCloseEvent(AsyncSocket* socket, int err) {
+void AsyncSocketAdapter::OnCloseEvent(Socket* socket, int err) {
SignalCloseEvent(this, err);
}
diff --git a/rtc_base/async_socket.h b/rtc_base/async_socket.h
index 9dc236f..0772cb8 100644
--- a/rtc_base/async_socket.h
+++ b/rtc_base/async_socket.h
@@ -22,34 +22,11 @@
namespace rtc {
-// TODO: Remove Socket and rename AsyncSocket to Socket.
-
-// Provides the ability to perform socket I/O asynchronously.
-class AsyncSocket : public Socket {
- public:
- AsyncSocket();
- ~AsyncSocket() override;
-
- AsyncSocket* Accept(SocketAddress* paddr) override = 0;
-
- // SignalReadEvent and SignalWriteEvent use multi_threaded_local to allow
- // access concurrently from different thread.
- // For example SignalReadEvent::connect will be called in AsyncUDPSocket ctor
- // but at the same time the SocketDispatcher maybe signaling the read event.
- // ready to read
- sigslot::signal1<AsyncSocket*, sigslot::multi_threaded_local> SignalReadEvent;
- // ready to write
- sigslot::signal1<AsyncSocket*, sigslot::multi_threaded_local>
- SignalWriteEvent;
- sigslot::signal1<AsyncSocket*> SignalConnectEvent; // connected
- sigslot::signal2<AsyncSocket*, int> SignalCloseEvent; // closed
-};
-
-class AsyncSocketAdapter : public AsyncSocket, public sigslot::has_slots<> {
+class AsyncSocketAdapter : public Socket, public sigslot::has_slots<> {
public:
// Takes ownership of the passed in socket.
// TODO(bugs.webrtc.org/6424): Change to unique_ptr here and in callers.
- explicit AsyncSocketAdapter(AsyncSocket* socket);
+ explicit AsyncSocketAdapter(Socket* socket);
SocketAddress GetLocalAddress() const override;
SocketAddress GetRemoteAddress() const override;
@@ -63,7 +40,7 @@
SocketAddress* paddr,
int64_t* timestamp) override;
int Listen(int backlog) override;
- AsyncSocket* Accept(SocketAddress* paddr) override;
+ Socket* Accept(SocketAddress* paddr) override;
int Close() override;
int GetError() const override;
void SetError(int error) override;
@@ -72,15 +49,15 @@
int SetOption(Option opt, int value) override;
protected:
- virtual void OnConnectEvent(AsyncSocket* socket);
- virtual void OnReadEvent(AsyncSocket* socket);
- virtual void OnWriteEvent(AsyncSocket* socket);
- virtual void OnCloseEvent(AsyncSocket* socket, int err);
+ virtual void OnConnectEvent(Socket* socket);
+ virtual void OnReadEvent(Socket* socket);
+ virtual void OnWriteEvent(Socket* socket);
+ virtual void OnCloseEvent(Socket* socket, int err);
- AsyncSocket* GetSocket() const { return socket_.get(); }
+ Socket* GetSocket() const { return socket_.get(); }
private:
- const std::unique_ptr<AsyncSocket> socket_;
+ const std::unique_ptr<Socket> socket_;
};
} // namespace rtc
diff --git a/rtc_base/async_tcp_socket.cc b/rtc_base/async_tcp_socket.cc
index 3d8b23d..76efb6d 100644
--- a/rtc_base/async_tcp_socket.cc
+++ b/rtc_base/async_tcp_socket.cc
@@ -45,11 +45,11 @@
static const int kListenBacklog = 5;
// Binds and connects `socket`
-AsyncSocket* AsyncTCPSocketBase::ConnectSocket(
- rtc::AsyncSocket* socket,
+Socket* AsyncTCPSocketBase::ConnectSocket(
+ rtc::Socket* socket,
const rtc::SocketAddress& bind_address,
const rtc::SocketAddress& remote_address) {
- std::unique_ptr<rtc::AsyncSocket> owned_socket(socket);
+ std::unique_ptr<rtc::Socket> owned_socket(socket);
if (socket->Bind(bind_address) < 0) {
RTC_LOG(LS_ERROR) << "Bind() failed with error " << socket->GetError();
return nullptr;
@@ -61,7 +61,7 @@
return owned_socket.release();
}
-AsyncTCPSocketBase::AsyncTCPSocketBase(AsyncSocket* socket,
+AsyncTCPSocketBase::AsyncTCPSocketBase(Socket* socket,
bool listen,
size_t max_packet_size)
: socket_(socket),
@@ -193,16 +193,16 @@
outbuf_.AppendData(static_cast<const uint8_t*>(pv), cb);
}
-void AsyncTCPSocketBase::OnConnectEvent(AsyncSocket* socket) {
+void AsyncTCPSocketBase::OnConnectEvent(Socket* socket) {
SignalConnect(this);
}
-void AsyncTCPSocketBase::OnReadEvent(AsyncSocket* socket) {
+void AsyncTCPSocketBase::OnReadEvent(Socket* socket) {
RTC_DCHECK(socket_.get() == socket);
if (listen_) {
rtc::SocketAddress address;
- rtc::AsyncSocket* new_socket = socket->Accept(&address);
+ rtc::Socket* new_socket = socket->Accept(&address);
if (!new_socket) {
// TODO(stefan): Do something better like forwarding the error
// to the user.
@@ -259,7 +259,7 @@
}
}
-void AsyncTCPSocketBase::OnWriteEvent(AsyncSocket* socket) {
+void AsyncTCPSocketBase::OnWriteEvent(Socket* socket) {
RTC_DCHECK(socket_.get() == socket);
if (outbuf_.size() > 0) {
@@ -271,7 +271,7 @@
}
}
-void AsyncTCPSocketBase::OnCloseEvent(AsyncSocket* socket, int error) {
+void AsyncTCPSocketBase::OnCloseEvent(Socket* socket, int error) {
SignalClose(this, error);
}
@@ -279,7 +279,7 @@
// Binds and connects `socket` and creates AsyncTCPSocket for
// it. Takes ownership of `socket`. Returns null if bind() or
// connect() fail (`socket` is destroyed in that case).
-AsyncTCPSocket* AsyncTCPSocket::Create(AsyncSocket* socket,
+AsyncTCPSocket* AsyncTCPSocket::Create(Socket* socket,
const SocketAddress& bind_address,
const SocketAddress& remote_address) {
return new AsyncTCPSocket(
@@ -287,7 +287,7 @@
false);
}
-AsyncTCPSocket::AsyncTCPSocket(AsyncSocket* socket, bool listen)
+AsyncTCPSocket::AsyncTCPSocket(Socket* socket, bool listen)
: AsyncTCPSocketBase(socket, listen, kBufSize) {}
int AsyncTCPSocket::Send(const void* pv,
@@ -343,7 +343,7 @@
}
}
-void AsyncTCPSocket::HandleIncomingConnection(AsyncSocket* socket) {
+void AsyncTCPSocket::HandleIncomingConnection(Socket* socket) {
SignalNewConnection(this, new AsyncTCPSocket(socket, false));
}
diff --git a/rtc_base/async_tcp_socket.h b/rtc_base/async_tcp_socket.h
index 610d17d..ddf9a43 100644
--- a/rtc_base/async_tcp_socket.h
+++ b/rtc_base/async_tcp_socket.h
@@ -16,7 +16,6 @@
#include <memory>
#include "rtc_base/async_packet_socket.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/buffer.h"
#include "rtc_base/constructor_magic.h"
#include "rtc_base/socket.h"
@@ -29,7 +28,7 @@
// buffer them in user space.
class AsyncTCPSocketBase : public AsyncPacketSocket {
public:
- AsyncTCPSocketBase(AsyncSocket* socket, bool listen, size_t max_packet_size);
+ AsyncTCPSocketBase(Socket* socket, bool listen, size_t max_packet_size);
~AsyncTCPSocketBase() override;
// Pure virtual methods to send and recv data.
@@ -38,7 +37,7 @@
const rtc::PacketOptions& options) override = 0;
virtual void ProcessInput(char* data, size_t* len) = 0;
// Signals incoming connection.
- virtual void HandleIncomingConnection(AsyncSocket* socket) = 0;
+ virtual void HandleIncomingConnection(Socket* socket) = 0;
SocketAddress GetLocalAddress() const override;
SocketAddress GetRemoteAddress() const override;
@@ -58,9 +57,9 @@
// Binds and connects `socket` and creates AsyncTCPSocket for
// it. Takes ownership of `socket`. Returns null if bind() or
// connect() fail (`socket` is destroyed in that case).
- static AsyncSocket* ConnectSocket(AsyncSocket* socket,
- const SocketAddress& bind_address,
- const SocketAddress& remote_address);
+ static Socket* ConnectSocket(Socket* socket,
+ const SocketAddress& bind_address,
+ const SocketAddress& remote_address);
int FlushOutBuffer();
// Add data to `outbuf_`.
void AppendToOutBuffer(const void* pv, size_t cb);
@@ -71,12 +70,12 @@
private:
// Called by the underlying socket
- void OnConnectEvent(AsyncSocket* socket);
- void OnReadEvent(AsyncSocket* socket);
- void OnWriteEvent(AsyncSocket* socket);
- void OnCloseEvent(AsyncSocket* socket, int error);
+ void OnConnectEvent(Socket* socket);
+ void OnReadEvent(Socket* socket);
+ void OnWriteEvent(Socket* socket);
+ void OnCloseEvent(Socket* socket, int error);
- std::unique_ptr<AsyncSocket> socket_;
+ std::unique_ptr<Socket> socket_;
bool listen_;
Buffer inbuf_;
Buffer outbuf_;
@@ -91,17 +90,17 @@
// Binds and connects `socket` and creates AsyncTCPSocket for
// it. Takes ownership of `socket`. Returns null if bind() or
// connect() fail (`socket` is destroyed in that case).
- static AsyncTCPSocket* Create(AsyncSocket* socket,
+ static AsyncTCPSocket* Create(Socket* socket,
const SocketAddress& bind_address,
const SocketAddress& remote_address);
- AsyncTCPSocket(AsyncSocket* socket, bool listen);
+ AsyncTCPSocket(Socket* socket, bool listen);
~AsyncTCPSocket() override {}
int Send(const void* pv,
size_t cb,
const rtc::PacketOptions& options) override;
void ProcessInput(char* data, size_t* len) override;
- void HandleIncomingConnection(AsyncSocket* socket) override;
+ void HandleIncomingConnection(Socket* socket) override;
private:
RTC_DISALLOW_COPY_AND_ASSIGN(AsyncTCPSocket);
diff --git a/rtc_base/async_tcp_socket_unittest.cc b/rtc_base/async_tcp_socket_unittest.cc
index c701433..af82238 100644
--- a/rtc_base/async_tcp_socket_unittest.cc
+++ b/rtc_base/async_tcp_socket_unittest.cc
@@ -22,7 +22,7 @@
public:
AsyncTCPSocketTest()
: vss_(new rtc::VirtualSocketServer()),
- socket_(vss_->CreateAsyncSocket(SOCK_STREAM)),
+ socket_(vss_->CreateSocket(SOCK_STREAM)),
tcp_socket_(new AsyncTCPSocket(socket_, true)),
ready_to_send_(false) {
tcp_socket_->SignalReadyToSend.connect(this,
@@ -33,7 +33,7 @@
protected:
std::unique_ptr<VirtualSocketServer> vss_;
- AsyncSocket* socket_;
+ Socket* socket_;
std::unique_ptr<AsyncTCPSocket> tcp_socket_;
bool ready_to_send_;
};
diff --git a/rtc_base/async_udp_socket.cc b/rtc_base/async_udp_socket.cc
index 378b687..b4aefd6 100644
--- a/rtc_base/async_udp_socket.cc
+++ b/rtc_base/async_udp_socket.cc
@@ -24,9 +24,9 @@
static const int BUF_SIZE = 64 * 1024;
-AsyncUDPSocket* AsyncUDPSocket::Create(AsyncSocket* socket,
+AsyncUDPSocket* AsyncUDPSocket::Create(Socket* socket,
const SocketAddress& bind_address) {
- std::unique_ptr<AsyncSocket> owned_socket(socket);
+ std::unique_ptr<Socket> owned_socket(socket);
if (socket->Bind(bind_address) < 0) {
RTC_LOG(LS_ERROR) << "Bind() failed with error " << socket->GetError();
return nullptr;
@@ -36,14 +36,13 @@
AsyncUDPSocket* AsyncUDPSocket::Create(SocketFactory* factory,
const SocketAddress& bind_address) {
- AsyncSocket* socket =
- factory->CreateAsyncSocket(bind_address.family(), SOCK_DGRAM);
+ Socket* socket = factory->CreateSocket(bind_address.family(), SOCK_DGRAM);
if (!socket)
return nullptr;
return Create(socket, bind_address);
}
-AsyncUDPSocket::AsyncUDPSocket(AsyncSocket* socket) : socket_(socket) {
+AsyncUDPSocket::AsyncUDPSocket(Socket* socket) : socket_(socket) {
size_ = BUF_SIZE;
buf_ = new char[size_];
@@ -111,7 +110,7 @@
return socket_->SetError(error);
}
-void AsyncUDPSocket::OnReadEvent(AsyncSocket* socket) {
+void AsyncUDPSocket::OnReadEvent(Socket* socket) {
RTC_DCHECK(socket_.get() == socket);
SocketAddress remote_addr;
@@ -134,7 +133,7 @@
(timestamp > -1 ? timestamp : TimeMicros()));
}
-void AsyncUDPSocket::OnWriteEvent(AsyncSocket* socket) {
+void AsyncUDPSocket::OnWriteEvent(Socket* socket) {
SignalReadyToSend(this);
}
diff --git a/rtc_base/async_udp_socket.h b/rtc_base/async_udp_socket.h
index ce7f476..5d738ff 100644
--- a/rtc_base/async_udp_socket.h
+++ b/rtc_base/async_udp_socket.h
@@ -16,7 +16,6 @@
#include <memory>
#include "rtc_base/async_packet_socket.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/socket.h"
#include "rtc_base/socket_address.h"
#include "rtc_base/socket_factory.h"
@@ -30,13 +29,13 @@
// Binds `socket` and creates AsyncUDPSocket for it. Takes ownership
// of `socket`. Returns null if bind() fails (`socket` is destroyed
// in that case).
- static AsyncUDPSocket* Create(AsyncSocket* socket,
+ static AsyncUDPSocket* Create(Socket* socket,
const SocketAddress& bind_address);
// Creates a new socket for sending asynchronous UDP packets using an
// asynchronous socket from the given factory.
static AsyncUDPSocket* Create(SocketFactory* factory,
const SocketAddress& bind_address);
- explicit AsyncUDPSocket(AsyncSocket* socket);
+ explicit AsyncUDPSocket(Socket* socket);
~AsyncUDPSocket() override;
SocketAddress GetLocalAddress() const override;
@@ -58,11 +57,11 @@
private:
// Called when the underlying socket is ready to be read from.
- void OnReadEvent(AsyncSocket* socket);
+ void OnReadEvent(Socket* socket);
// Called when the underlying socket is ready to send.
- void OnWriteEvent(AsyncSocket* socket);
+ void OnWriteEvent(Socket* socket);
- std::unique_ptr<AsyncSocket> socket_;
+ std::unique_ptr<Socket> socket_;
char* buf_;
size_t size_;
};
diff --git a/rtc_base/async_udp_socket_unittest.cc b/rtc_base/async_udp_socket_unittest.cc
index ecb28c1..7df1ca0 100644
--- a/rtc_base/async_udp_socket_unittest.cc
+++ b/rtc_base/async_udp_socket_unittest.cc
@@ -24,7 +24,7 @@
AsyncUdpSocketTest()
: pss_(new rtc::PhysicalSocketServer),
vss_(new rtc::VirtualSocketServer(pss_.get())),
- socket_(vss_->CreateAsyncSocket(SOCK_DGRAM)),
+ socket_(vss_->CreateSocket(SOCK_DGRAM)),
udp_socket_(new AsyncUDPSocket(socket_)),
ready_to_send_(false) {
udp_socket_->SignalReadyToSend.connect(this,
@@ -36,7 +36,7 @@
protected:
std::unique_ptr<PhysicalSocketServer> pss_;
std::unique_ptr<VirtualSocketServer> vss_;
- AsyncSocket* socket_;
+ Socket* socket_;
std::unique_ptr<AsyncUDPSocket> udp_socket_;
bool ready_to_send_;
};
diff --git a/rtc_base/firewall_socket_server.cc b/rtc_base/firewall_socket_server.cc
index 8f44753..edb0cd2 100644
--- a/rtc_base/firewall_socket_server.cc
+++ b/rtc_base/firewall_socket_server.cc
@@ -25,7 +25,7 @@
class FirewallSocket : public AsyncSocketAdapter {
public:
- FirewallSocket(FirewallSocketServer* server, AsyncSocket* socket, int type)
+ FirewallSocket(FirewallSocketServer* server, Socket* socket, int type)
: AsyncSocketAdapter(socket), server_(server), type_(type) {}
int Bind(const SocketAddress& addr) override {
@@ -96,9 +96,9 @@
return AsyncSocketAdapter::Listen(backlog);
}
- AsyncSocket* Accept(SocketAddress* paddr) override {
+ Socket* Accept(SocketAddress* paddr) override {
SocketAddress addr;
- while (AsyncSocket* sock = AsyncSocketAdapter::Accept(&addr)) {
+ while (Socket* sock = AsyncSocketAdapter::Accept(&addr)) {
if (server_->Check(FP_TCP, addr, GetLocalAddress())) {
if (paddr)
*paddr = addr;
@@ -203,11 +203,7 @@
}
Socket* FirewallSocketServer::CreateSocket(int family, int type) {
- return WrapSocket(server_->CreateAsyncSocket(family, type), type);
-}
-
-AsyncSocket* FirewallSocketServer::CreateAsyncSocket(int family, int type) {
- return WrapSocket(server_->CreateAsyncSocket(family, type), type);
+ return WrapSocket(server_->CreateSocket(family, type), type);
}
void FirewallSocketServer::SetMessageQueue(Thread* queue) {
@@ -222,7 +218,7 @@
return server_->WakeUp();
}
-AsyncSocket* FirewallSocketServer::WrapSocket(AsyncSocket* sock, int type) {
+Socket* FirewallSocketServer::WrapSocket(Socket* sock, int type) {
if (!sock || (type == SOCK_STREAM && !tcp_sockets_enabled_) ||
(type == SOCK_DGRAM && !udp_sockets_enabled_)) {
RTC_LOG(LS_VERBOSE) << "FirewallSocketServer socket creation denied";
diff --git a/rtc_base/firewall_socket_server.h b/rtc_base/firewall_socket_server.h
index 23b91d6..8a82f88 100644
--- a/rtc_base/firewall_socket_server.h
+++ b/rtc_base/firewall_socket_server.h
@@ -13,7 +13,6 @@
#include <vector>
-#include "rtc_base/async_socket.h"
#include "rtc_base/ip_address.h"
#include "rtc_base/socket.h"
#include "rtc_base/socket_address.h"
@@ -78,14 +77,12 @@
bool IsBindableIp(const rtc::IPAddress& ip);
Socket* CreateSocket(int family, int type) override;
- AsyncSocket* CreateAsyncSocket(int family, int type) override;
void SetMessageQueue(Thread* queue) override;
bool Wait(int cms, bool process_io) override;
void WakeUp() override;
Socket* WrapSocket(Socket* sock, int type);
- AsyncSocket* WrapSocket(AsyncSocket* sock, int type);
private:
SocketServer* server_;
diff --git a/rtc_base/nat_server.cc b/rtc_base/nat_server.cc
index 725a57b..b818685 100644
--- a/rtc_base/nat_server.cc
+++ b/rtc_base/nat_server.cc
@@ -70,7 +70,7 @@
// a TCP connection to the NAT server.
class NATProxyServerSocket : public AsyncProxyServerSocket {
public:
- NATProxyServerSocket(AsyncSocket* socket)
+ NATProxyServerSocket(Socket* socket)
: AsyncProxyServerSocket(socket, kNATEncodedIPv6AddressSize) {
BufferInput(true);
}
@@ -119,7 +119,7 @@
: ProxyServer(int_factory, int_addr, ext_factory, ext_ip) {}
protected:
- AsyncProxyServerSocket* WrapSocket(AsyncSocket* socket) override {
+ AsyncProxyServerSocket* WrapSocket(Socket* socket) override {
return new NATProxyServerSocket(socket);
}
};
diff --git a/rtc_base/nat_socket_factory.cc b/rtc_base/nat_socket_factory.cc
index 874e938..f6492a9 100644
--- a/rtc_base/nat_socket_factory.cc
+++ b/rtc_base/nat_socket_factory.cc
@@ -69,7 +69,7 @@
}
// NATSocket
-class NATSocket : public AsyncSocket, public sigslot::has_slots<> {
+class NATSocket : public Socket, public sigslot::has_slots<> {
public:
explicit NATSocket(NATInternalSocketFactory* sf, int family, int type)
: sf_(sf),
@@ -213,7 +213,7 @@
}
int Listen(int backlog) override { return socket_->Listen(backlog); }
- AsyncSocket* Accept(SocketAddress* paddr) override {
+ Socket* Accept(SocketAddress* paddr) override {
return socket_->Accept(paddr);
}
int GetError() const override {
@@ -236,7 +236,7 @@
return socket_ ? socket_->SetOption(opt, value) : -1;
}
- void OnConnectEvent(AsyncSocket* socket) {
+ void OnConnectEvent(Socket* socket) {
// If we're NATed, we need to send a message with the real addr to use.
RTC_DCHECK(socket == socket_);
if (server_addr_.IsNil()) {
@@ -246,7 +246,7 @@
SendConnectRequest();
}
}
- void OnReadEvent(AsyncSocket* socket) {
+ void OnReadEvent(Socket* socket) {
// If we're NATed, we need to process the connect reply.
RTC_DCHECK(socket == socket_);
if (type_ == SOCK_STREAM && !server_addr_.IsNil() && !connected_) {
@@ -255,11 +255,11 @@
SignalReadEvent(this);
}
}
- void OnWriteEvent(AsyncSocket* socket) {
+ void OnWriteEvent(Socket* socket) {
RTC_DCHECK(socket == socket_);
SignalWriteEvent(this);
}
- void OnCloseEvent(AsyncSocket* socket, int error) {
+ void OnCloseEvent(Socket* socket, int error) {
RTC_DCHECK(socket == socket_);
SignalCloseEvent(this, error);
}
@@ -320,7 +320,7 @@
bool connected_;
SocketAddress remote_addr_;
SocketAddress server_addr_; // address of the NAT server
- AsyncSocket* socket_;
+ Socket* socket_;
// Need to hold error in case it occurs before the socket is created.
int error_ = 0;
char* buf_;
@@ -339,21 +339,16 @@
return new NATSocket(this, family, type);
}
-AsyncSocket* NATSocketFactory::CreateAsyncSocket(int family, int type) {
- return new NATSocket(this, family, type);
-}
-
-AsyncSocket* NATSocketFactory::CreateInternalSocket(
- int family,
- int type,
- const SocketAddress& local_addr,
- SocketAddress* nat_addr) {
+Socket* NATSocketFactory::CreateInternalSocket(int family,
+ int type,
+ const SocketAddress& local_addr,
+ SocketAddress* nat_addr) {
if (type == SOCK_STREAM) {
*nat_addr = nat_tcp_addr_;
} else {
*nat_addr = nat_udp_addr_;
}
- return factory_->CreateAsyncSocket(family, type);
+ return factory_->CreateSocket(family, type);
}
// NATSocketServer
@@ -384,10 +379,6 @@
return new NATSocket(this, family, type);
}
-AsyncSocket* NATSocketServer::CreateAsyncSocket(int family, int type) {
- return new NATSocket(this, family, type);
-}
-
void NATSocketServer::SetMessageQueue(Thread* queue) {
msg_queue_ = queue;
server_->SetMessageQueue(queue);
@@ -401,19 +392,18 @@
server_->WakeUp();
}
-AsyncSocket* NATSocketServer::CreateInternalSocket(
- int family,
- int type,
- const SocketAddress& local_addr,
- SocketAddress* nat_addr) {
- AsyncSocket* socket = nullptr;
+Socket* NATSocketServer::CreateInternalSocket(int family,
+ int type,
+ const SocketAddress& local_addr,
+ SocketAddress* nat_addr) {
+ Socket* socket = nullptr;
Translator* nat = nats_.FindClient(local_addr);
if (nat) {
- socket = nat->internal_factory()->CreateAsyncSocket(family, type);
+ socket = nat->internal_factory()->CreateSocket(family, type);
*nat_addr = (type == SOCK_STREAM) ? nat->internal_tcp_address()
: nat->internal_udp_address();
} else {
- socket = server_->CreateAsyncSocket(family, type);
+ socket = server_->CreateSocket(family, type);
}
return socket;
}
diff --git a/rtc_base/nat_socket_factory.h b/rtc_base/nat_socket_factory.h
index 70030d8..9b1d2f0 100644
--- a/rtc_base/nat_socket_factory.h
+++ b/rtc_base/nat_socket_factory.h
@@ -17,7 +17,6 @@
#include <memory>
#include <set>
-#include "rtc_base/async_socket.h"
#include "rtc_base/constructor_magic.h"
#include "rtc_base/nat_server.h"
#include "rtc_base/nat_types.h"
@@ -36,10 +35,10 @@
class NATInternalSocketFactory {
public:
virtual ~NATInternalSocketFactory() {}
- virtual AsyncSocket* CreateInternalSocket(int family,
- int type,
- const SocketAddress& local_addr,
- SocketAddress* nat_addr) = 0;
+ virtual Socket* CreateInternalSocket(int family,
+ int type,
+ const SocketAddress& local_addr,
+ SocketAddress* nat_addr) = 0;
};
// Creates sockets that will send all traffic through a NAT, using an existing
@@ -53,13 +52,12 @@
// SocketFactory implementation
Socket* CreateSocket(int family, int type) override;
- AsyncSocket* CreateAsyncSocket(int family, int type) override;
// NATInternalSocketFactory implementation
- AsyncSocket* CreateInternalSocket(int family,
- int type,
- const SocketAddress& local_addr,
- SocketAddress* nat_addr) override;
+ Socket* CreateInternalSocket(int family,
+ int type,
+ const SocketAddress& local_addr,
+ SocketAddress* nat_addr) override;
private:
SocketFactory* factory_;
@@ -148,17 +146,16 @@
// SocketServer implementation
Socket* CreateSocket(int family, int type) override;
- AsyncSocket* CreateAsyncSocket(int family, int type) override;
void SetMessageQueue(Thread* queue) override;
bool Wait(int cms, bool process_io) override;
void WakeUp() override;
// NATInternalSocketFactory implementation
- AsyncSocket* CreateInternalSocket(int family,
- int type,
- const SocketAddress& local_addr,
- SocketAddress* nat_addr) override;
+ Socket* CreateInternalSocket(int family,
+ int type,
+ const SocketAddress& local_addr,
+ SocketAddress* nat_addr) override;
private:
SocketServer* server_;
diff --git a/rtc_base/nat_unittest.cc b/rtc_base/nat_unittest.cc
index 959a4e2..e757bfd 100644
--- a/rtc_base/nat_unittest.cc
+++ b/rtc_base/nat_unittest.cc
@@ -17,7 +17,6 @@
#include "absl/memory/memory.h"
#include "rtc_base/async_packet_socket.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/async_tcp_socket.h"
#include "rtc_base/async_udp_socket.h"
#include "rtc_base/gunit.h"
@@ -29,6 +28,7 @@
#include "rtc_base/net_helpers.h"
#include "rtc_base/network.h"
#include "rtc_base/physical_socket_server.h"
+#include "rtc_base/socket.h"
#include "rtc_base/socket_address.h"
#include "rtc_base/socket_factory.h"
#include "rtc_base/socket_server.h"
@@ -55,7 +55,7 @@
absl::WrapUnique(AsyncUDPSocket::Create(factory, local_addr)));
}
-TestClient* CreateTCPTestClient(AsyncSocket* socket) {
+TestClient* CreateTCPTestClient(Socket* socket) {
return new TestClient(std::make_unique<AsyncTCPSocket>(socket, false));
}
@@ -201,10 +201,8 @@
// internal address used for the NAT. Things like firewalls can break that, so
// check to see if it's worth even trying with this ip.
std::unique_ptr<PhysicalSocketServer> pss(new PhysicalSocketServer());
- std::unique_ptr<AsyncSocket> client(
- pss->CreateAsyncSocket(src.family(), SOCK_DGRAM));
- std::unique_ptr<AsyncSocket> server(
- pss->CreateAsyncSocket(src.family(), SOCK_DGRAM));
+ std::unique_ptr<Socket> client(pss->CreateSocket(src.family(), SOCK_DGRAM));
+ std::unique_ptr<Socket> server(pss->CreateSocket(src.family(), SOCK_DGRAM));
if (client->Bind(SocketAddress(src.ipaddr(), 0)) != 0 ||
server->Bind(SocketAddress(dst, 0)) != 0) {
return false;
@@ -345,13 +343,13 @@
ext_thread_->Start();
}
- void OnConnectEvent(AsyncSocket* socket) { connected_ = true; }
+ void OnConnectEvent(Socket* socket) { connected_ = true; }
- void OnAcceptEvent(AsyncSocket* socket) {
+ void OnAcceptEvent(Socket* socket) {
accepted_.reset(server_->Accept(nullptr));
}
- void OnCloseEvent(AsyncSocket* socket, int error) {}
+ void OnCloseEvent(Socket* socket, int error) {}
void ConnectEvents() {
server_->SignalReadEvent.connect(this, &NatTcpTest::OnAcceptEvent);
@@ -367,17 +365,17 @@
std::unique_ptr<Thread> ext_thread_;
std::unique_ptr<NATServer> nat_;
std::unique_ptr<NATSocketFactory> natsf_;
- std::unique_ptr<AsyncSocket> client_;
- std::unique_ptr<AsyncSocket> server_;
- std::unique_ptr<AsyncSocket> accepted_;
+ std::unique_ptr<Socket> client_;
+ std::unique_ptr<Socket> server_;
+ std::unique_ptr<Socket> accepted_;
};
TEST_F(NatTcpTest, DISABLED_TestConnectOut) {
- server_.reset(ext_vss_->CreateAsyncSocket(AF_INET, SOCK_STREAM));
+ server_.reset(ext_vss_->CreateSocket(AF_INET, SOCK_STREAM));
server_->Bind(ext_addr_);
server_->Listen(5);
- client_.reset(natsf_->CreateAsyncSocket(AF_INET, SOCK_STREAM));
+ client_.reset(natsf_->CreateSocket(AF_INET, SOCK_STREAM));
EXPECT_GE(0, client_->Bind(int_addr_));
EXPECT_GE(0, client_->Connect(server_->GetLocalAddress()));
diff --git a/rtc_base/network.cc b/rtc_base/network.cc
index 5725458..ab0e123 100644
--- a/rtc_base/network.cc
+++ b/rtc_base/network.cc
@@ -912,8 +912,8 @@
RTC_DCHECK(thread_->socketserver() != nullptr);
RTC_DCHECK(family == AF_INET || family == AF_INET6);
- std::unique_ptr<AsyncSocket> socket(
- thread_->socketserver()->CreateAsyncSocket(family, SOCK_DGRAM));
+ std::unique_ptr<Socket> socket(
+ thread_->socketserver()->CreateSocket(family, SOCK_DGRAM));
if (!socket) {
RTC_LOG_ERR(LERROR) << "Socket creation failed";
return IPAddress();
diff --git a/rtc_base/network_unittest.cc b/rtc_base/network_unittest.cc
index 01e18af..4bfe93f 100644
--- a/rtc_base/network_unittest.cc
+++ b/rtc_base/network_unittest.cc
@@ -367,7 +367,7 @@
IPAddress ip = (*it)->GetBestIP();
SocketAddress bindaddress(ip, 0);
bindaddress.SetScopeID((*it)->scope_id());
- // TODO(thaloun): Use rtc::AsyncSocket once it supports IPv6.
+ // TODO(thaloun): Use rtc::Socket once it supports IPv6.
int fd = static_cast<int>(socket(ip.family(), SOCK_STREAM, IPPROTO_TCP));
if (fd > 0) {
size_t ipsize = bindaddress.ToSockAddrStorage(&storage);
diff --git a/rtc_base/null_socket_server.cc b/rtc_base/null_socket_server.cc
index a7ee4f9..ce1e963 100644
--- a/rtc_base/null_socket_server.cc
+++ b/rtc_base/null_socket_server.cc
@@ -34,10 +34,4 @@
return nullptr;
}
-rtc::AsyncSocket* NullSocketServer::CreateAsyncSocket(int /* family */,
- int /* type */) {
- RTC_NOTREACHED();
- return nullptr;
-}
-
} // namespace rtc
diff --git a/rtc_base/null_socket_server.h b/rtc_base/null_socket_server.h
index 7afa504..6d4ae84 100644
--- a/rtc_base/null_socket_server.h
+++ b/rtc_base/null_socket_server.h
@@ -11,7 +11,6 @@
#ifndef RTC_BASE_NULL_SOCKET_SERVER_H_
#define RTC_BASE_NULL_SOCKET_SERVER_H_
-#include "rtc_base/async_socket.h"
#include "rtc_base/event.h"
#include "rtc_base/socket.h"
#include "rtc_base/socket_server.h"
@@ -28,7 +27,6 @@
void WakeUp() override;
Socket* CreateSocket(int family, int type) override;
- AsyncSocket* CreateAsyncSocket(int family, int type) override;
private:
Event event_;
diff --git a/rtc_base/openssl_adapter.cc b/rtc_base/openssl_adapter.cc
index d6e1a60..18142a0 100644
--- a/rtc_base/openssl_adapter.cc
+++ b/rtc_base/openssl_adapter.cc
@@ -70,7 +70,7 @@
return methods;
}
-static BIO* BIO_new_socket(rtc::AsyncSocket* socket) {
+static BIO* BIO_new_socket(rtc::Socket* socket) {
BIO* ret = BIO_new(BIO_socket_method());
if (ret == nullptr) {
return nullptr;
@@ -95,7 +95,7 @@
static int socket_read(BIO* b, char* out, int outl) {
if (!out)
return -1;
- rtc::AsyncSocket* socket = static_cast<rtc::AsyncSocket*>(BIO_get_data(b));
+ rtc::Socket* socket = static_cast<rtc::Socket*>(BIO_get_data(b));
BIO_clear_retry_flags(b);
int result = socket->Recv(out, outl, nullptr);
if (result > 0) {
@@ -109,7 +109,7 @@
static int socket_write(BIO* b, const char* in, int inl) {
if (!in)
return -1;
- rtc::AsyncSocket* socket = static_cast<rtc::AsyncSocket*>(BIO_get_data(b));
+ rtc::Socket* socket = static_cast<rtc::Socket*>(BIO_get_data(b));
BIO_clear_retry_flags(b);
int result = socket->Send(in, inl);
if (result > 0) {
@@ -129,9 +129,9 @@
case BIO_CTRL_RESET:
return 0;
case BIO_CTRL_EOF: {
- rtc::AsyncSocket* socket = static_cast<rtc::AsyncSocket*>(ptr);
+ rtc::Socket* socket = static_cast<rtc::Socket*>(ptr);
// 1 means socket closed.
- return (socket->GetState() == rtc::AsyncSocket::CS_CLOSED) ? 1 : 0;
+ return (socket->GetState() == rtc::Socket::CS_CLOSED) ? 1 : 0;
}
case BIO_CTRL_WPENDING:
case BIO_CTRL_PENDING:
@@ -181,7 +181,7 @@
return true;
}
-OpenSSLAdapter::OpenSSLAdapter(AsyncSocket* socket,
+OpenSSLAdapter::OpenSSLAdapter(Socket* socket,
OpenSSLSessionCache* ssl_session_cache,
SSLCertificateVerifier* ssl_cert_verifier)
: SSLAdapter(socket),
@@ -250,9 +250,9 @@
role_ = role;
}
-AsyncSocket* OpenSSLAdapter::Accept(SocketAddress* paddr) {
+Socket* OpenSSLAdapter::Accept(SocketAddress* paddr) {
RTC_DCHECK(role_ == SSL_SERVER);
- AsyncSocket* socket = SSLAdapter::Accept(paddr);
+ Socket* socket = SSLAdapter::Accept(paddr);
if (!socket) {
return nullptr;
}
@@ -508,7 +508,7 @@
}
///////////////////////////////////////////////////////////////////////////////
-// AsyncSocket Implementation
+// Socket Implementation
///////////////////////////////////////////////////////////////////////////////
int OpenSSLAdapter::Send(const void* pv, size_t cb) {
@@ -677,7 +677,7 @@
}
}
-void OpenSSLAdapter::OnConnectEvent(AsyncSocket* socket) {
+void OpenSSLAdapter::OnConnectEvent(Socket* socket) {
RTC_LOG(LS_INFO) << "OpenSSLAdapter::OnConnectEvent";
if (state_ != SSL_WAIT) {
RTC_DCHECK(state_ == SSL_NONE);
@@ -691,7 +691,7 @@
}
}
-void OpenSSLAdapter::OnReadEvent(AsyncSocket* socket) {
+void OpenSSLAdapter::OnReadEvent(Socket* socket) {
if (state_ == SSL_NONE) {
AsyncSocketAdapter::OnReadEvent(socket);
return;
@@ -717,7 +717,7 @@
AsyncSocketAdapter::OnReadEvent(socket);
}
-void OpenSSLAdapter::OnWriteEvent(AsyncSocket* socket) {
+void OpenSSLAdapter::OnWriteEvent(Socket* socket) {
if (state_ == SSL_NONE) {
AsyncSocketAdapter::OnWriteEvent(socket);
return;
@@ -754,7 +754,7 @@
AsyncSocketAdapter::OnWriteEvent(socket);
}
-void OpenSSLAdapter::OnCloseEvent(AsyncSocket* socket, int err) {
+void OpenSSLAdapter::OnCloseEvent(Socket* socket, int err) {
RTC_LOG(LS_INFO) << "OpenSSLAdapter::OnCloseEvent(" << err << ")";
AsyncSocketAdapter::OnCloseEvent(socket, err);
}
@@ -1032,7 +1032,7 @@
ssl_cert_verifier_ = ssl_cert_verifier;
}
-OpenSSLAdapter* OpenSSLAdapterFactory::CreateAdapter(AsyncSocket* socket) {
+OpenSSLAdapter* OpenSSLAdapterFactory::CreateAdapter(Socket* socket) {
if (ssl_session_cache_ == nullptr) {
SSL_CTX* ssl_ctx = OpenSSLAdapter::CreateContext(ssl_mode_, true);
if (ssl_ctx == nullptr) {
diff --git a/rtc_base/openssl_adapter.h b/rtc_base/openssl_adapter.h
index 8d42967..4649de0 100644
--- a/rtc_base/openssl_adapter.h
+++ b/rtc_base/openssl_adapter.h
@@ -19,7 +19,6 @@
#include <string>
#include <vector>
-#include "rtc_base/async_socket.h"
#include "rtc_base/buffer.h"
#include "rtc_base/message_handler.h"
#ifdef OPENSSL_IS_BORINGSSL
@@ -49,7 +48,7 @@
// SSLCertificateVerifier which can override any existing trusted roots to
// validate a peer certificate. The cache and verifier are effectively
// immutable after the the SSL connection starts.
- explicit OpenSSLAdapter(AsyncSocket* socket,
+ explicit OpenSSLAdapter(Socket* socket,
OpenSSLSessionCache* ssl_session_cache = nullptr,
SSLCertificateVerifier* ssl_cert_verifier = nullptr);
~OpenSSLAdapter() override;
@@ -61,7 +60,7 @@
void SetCertVerifier(SSLCertificateVerifier* ssl_cert_verifier) override;
void SetIdentity(std::unique_ptr<SSLIdentity> identity) override;
void SetRole(SSLRole role) override;
- AsyncSocket* Accept(SocketAddress* paddr) override;
+ Socket* Accept(SocketAddress* paddr) override;
int StartSSL(const char* hostname) override;
int Send(const void* pv, size_t cb) override;
int SendTo(const void* pv, size_t cb, const SocketAddress& addr) override;
@@ -83,10 +82,10 @@
static SSL_CTX* CreateContext(SSLMode mode, bool enable_cache);
protected:
- void OnConnectEvent(AsyncSocket* socket) override;
- void OnReadEvent(AsyncSocket* socket) override;
- void OnWriteEvent(AsyncSocket* socket) override;
- void OnCloseEvent(AsyncSocket* socket, int err) override;
+ void OnConnectEvent(Socket* socket) override;
+ void OnReadEvent(Socket* socket) override;
+ void OnWriteEvent(Socket* socket) override;
+ void OnCloseEvent(Socket* socket, int err) override;
private:
class EarlyExitCatcher {
@@ -197,7 +196,7 @@
// Constructs a new socket using the shared OpenSSLSessionCache. This means
// existing SSLSessions already in the cache will be reused instead of
// re-created for improved performance.
- OpenSSLAdapter* CreateAdapter(AsyncSocket* socket) override;
+ OpenSSLAdapter* CreateAdapter(Socket* socket) override;
private:
// Holds the SSLMode (DTLS,TLS) that will be used to set the session cache.
diff --git a/rtc_base/openssl_adapter_unittest.cc b/rtc_base/openssl_adapter_unittest.cc
index 4bd8799..0805cba 100644
--- a/rtc_base/openssl_adapter_unittest.cc
+++ b/rtc_base/openssl_adapter_unittest.cc
@@ -15,17 +15,17 @@
#include <vector>
#include "absl/memory/memory.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/gunit.h"
+#include "rtc_base/socket.h"
#include "test/gmock.h"
namespace rtc {
namespace {
-class MockAsyncSocket : public AsyncSocket {
+class MockAsyncSocket : public Socket {
public:
virtual ~MockAsyncSocket() = default;
- MOCK_METHOD(AsyncSocket*, Accept, (SocketAddress*), (override));
+ MOCK_METHOD(Socket*, Accept, (SocketAddress*), (override));
MOCK_METHOD(SocketAddress, GetLocalAddress, (), (const, override));
MOCK_METHOD(SocketAddress, GetRemoteAddress, (), (const, override));
MOCK_METHOD(int, Bind, (const SocketAddress&), (override));
@@ -84,7 +84,7 @@
// Verifies that SSLStart works when OpenSSLAdapter is started in standalone
// mode.
TEST(OpenSSLAdapterTest, TestBeginSSLBeforeConnection) {
- AsyncSocket* async_socket = new MockAsyncSocket();
+ Socket* async_socket = new MockAsyncSocket();
OpenSSLAdapter adapter(async_socket);
EXPECT_EQ(adapter.StartSSL("webrtc.org"), 0);
}
@@ -92,7 +92,7 @@
// Verifies that the adapter factory can create new adapters.
TEST(OpenSSLAdapterFactoryTest, CreateSingleOpenSSLAdapter) {
OpenSSLAdapterFactory adapter_factory;
- AsyncSocket* async_socket = new MockAsyncSocket();
+ Socket* async_socket = new MockAsyncSocket();
auto simple_adapter = std::unique_ptr<OpenSSLAdapter>(
adapter_factory.CreateAdapter(async_socket));
EXPECT_NE(simple_adapter, nullptr);
@@ -107,7 +107,7 @@
OpenSSLAdapterFactory adapter_factory;
adapter_factory.SetCertVerifier(cert_verifier.get());
- AsyncSocket* async_socket = new MockAsyncSocket();
+ Socket* async_socket = new MockAsyncSocket();
auto simple_adapter = std::unique_ptr<OpenSSLAdapter>(
adapter_factory.CreateAdapter(async_socket));
EXPECT_NE(simple_adapter, nullptr);
diff --git a/rtc_base/physical_socket_server.cc b/rtc_base/physical_socket_server.cc
index ed6f81b..90df855 100644
--- a/rtc_base/physical_socket_server.cc
+++ b/rtc_base/physical_socket_server.cc
@@ -283,7 +283,7 @@
error_ = error;
}
-AsyncSocket::ConnState PhysicalSocket::GetState() const {
+Socket::ConnState PhysicalSocket::GetState() const {
return state_;
}
@@ -460,7 +460,7 @@
return err;
}
-AsyncSocket* PhysicalSocket::Accept(SocketAddress* out_addr) {
+Socket* PhysicalSocket::Accept(SocketAddress* out_addr) {
// Always re-subscribe DE_ACCEPT to make sure new incoming connections will
// trigger an event even if DoAccept returns an error here.
EnableEvents(DE_ACCEPT);
@@ -1083,16 +1083,6 @@
}
Socket* PhysicalSocketServer::CreateSocket(int family, int type) {
- PhysicalSocket* socket = new PhysicalSocket(this);
- if (socket->Create(family, type)) {
- return socket;
- } else {
- delete socket;
- return nullptr;
- }
-}
-
-AsyncSocket* PhysicalSocketServer::CreateAsyncSocket(int family, int type) {
SocketDispatcher* dispatcher = new SocketDispatcher(this);
if (dispatcher->Create(family, type)) {
return dispatcher;
@@ -1102,7 +1092,7 @@
}
}
-AsyncSocket* PhysicalSocketServer::WrapSocket(SOCKET s) {
+Socket* PhysicalSocketServer::WrapSocket(SOCKET s) {
SocketDispatcher* dispatcher = new SocketDispatcher(s, this);
if (dispatcher->Initialize()) {
return dispatcher;
diff --git a/rtc_base/physical_socket_server.h b/rtc_base/physical_socket_server.h
index 4b7957e..a01229d 100644
--- a/rtc_base/physical_socket_server.h
+++ b/rtc_base/physical_socket_server.h
@@ -69,10 +69,9 @@
// SocketFactory:
Socket* CreateSocket(int family, int type) override;
- AsyncSocket* CreateAsyncSocket(int family, int type) override;
// Internal Factory for Accept (virtual so it can be overwritten in tests).
- virtual AsyncSocket* WrapSocket(SOCKET s);
+ virtual Socket* WrapSocket(SOCKET s);
// SocketServer:
bool Wait(int cms, bool process_io) override;
@@ -130,7 +129,7 @@
bool waiting_ = false;
};
-class PhysicalSocket : public AsyncSocket, public sigslot::has_slots<> {
+class PhysicalSocket : public Socket, public sigslot::has_slots<> {
public:
PhysicalSocket(PhysicalSocketServer* ss, SOCKET s = INVALID_SOCKET);
~PhysicalSocket() override;
@@ -164,7 +163,7 @@
int64_t* timestamp) override;
int Listen(int backlog) override;
- AsyncSocket* Accept(SocketAddress* out_addr) override;
+ Socket* Accept(SocketAddress* out_addr) override;
int Close() override;
diff --git a/rtc_base/physical_socket_server_unittest.cc b/rtc_base/physical_socket_server_unittest.cc
index 3762762..e905375 100644
--- a/rtc_base/physical_socket_server_unittest.cc
+++ b/rtc_base/physical_socket_server_unittest.cc
@@ -64,7 +64,7 @@
public:
explicit FakePhysicalSocketServer(PhysicalSocketTest* test) : test_(test) {}
- AsyncSocket* CreateAsyncSocket(int family, int type) override {
+ Socket* CreateSocket(int family, int type) override {
SocketDispatcher* dispatcher = new FakeSocketDispatcher(this);
if (!dispatcher->Create(family, type)) {
delete dispatcher;
@@ -73,7 +73,7 @@
return dispatcher;
}
- AsyncSocket* WrapSocket(SOCKET s) override {
+ Socket* WrapSocket(SOCKET s) override {
SocketDispatcher* dispatcher = new FakeSocketDispatcher(s, this);
if (!dispatcher->Initialize()) {
delete dispatcher;
@@ -106,7 +106,7 @@
class PhysicalSocketTest : public SocketTest {
public:
- // Set flag to simluate failures when calling "::accept" on a AsyncSocket.
+ // Set flag to simluate failures when calling "::accept" on a Socket.
void SetFailAccept(bool fail) { fail_accept_ = fail; }
bool FailAccept() const { return fail_accept_; }
@@ -199,25 +199,25 @@
SocketAddress accept_addr;
// Create two clients.
- std::unique_ptr<AsyncSocket> client1(
- server_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client1(
+ server_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client1.get());
- EXPECT_EQ(AsyncSocket::CS_CLOSED, client1->GetState());
+ EXPECT_EQ(Socket::CS_CLOSED, client1->GetState());
EXPECT_TRUE(IsUnspecOrEmptyIP(client1->GetLocalAddress().ipaddr()));
- std::unique_ptr<AsyncSocket> client2(
- server_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client2(
+ server_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client2.get());
- EXPECT_EQ(AsyncSocket::CS_CLOSED, client2->GetState());
+ EXPECT_EQ(Socket::CS_CLOSED, client2->GetState());
EXPECT_TRUE(IsUnspecOrEmptyIP(client2->GetLocalAddress().ipaddr()));
// Create server and listen.
- std::unique_ptr<AsyncSocket> server(
- server_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ server_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, server->Listen(5));
- EXPECT_EQ(AsyncSocket::CS_CONNECTING, server->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTING, server->GetState());
// Ensure no pending server connections, since we haven't done anything yet.
EXPECT_FALSE(sink.Check(server.get(), webrtc::testing::SSE_READ));
@@ -230,7 +230,7 @@
EXPECT_NE(server->GetLocalAddress(), client1->GetLocalAddress());
// Client is connecting, outcome not yet determined.
- EXPECT_EQ(AsyncSocket::CS_CONNECTING, client1->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTING, client1->GetState());
EXPECT_FALSE(sink.Check(client1.get(), webrtc::testing::SSE_OPEN));
EXPECT_FALSE(sink.Check(client1.get(), webrtc::testing::SSE_CLOSE));
@@ -239,7 +239,7 @@
kTimeout);
// Simulate "::accept" returning an error.
SetFailAccept(true);
- std::unique_ptr<AsyncSocket> accepted(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> accepted(server->Accept(&accept_addr));
EXPECT_FALSE(accepted);
ASSERT_TRUE(accept_addr.IsNil());
@@ -254,7 +254,7 @@
EXPECT_NE(server->GetLocalAddress(), client2->GetLocalAddress());
// Client is connecting, outcome not yet determined.
- EXPECT_EQ(AsyncSocket::CS_CONNECTING, client2->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTING, client2->GetState());
EXPECT_FALSE(sink.Check(client2.get(), webrtc::testing::SSE_OPEN));
EXPECT_FALSE(sink.Check(client2.get(), webrtc::testing::SSE_CLOSE));
@@ -262,7 +262,7 @@
EXPECT_TRUE_WAIT((sink.Check(server.get(), webrtc::testing::SSE_READ)),
kTimeout);
SetFailAccept(false);
- std::unique_ptr<AsyncSocket> accepted2(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> accepted2(server->Accept(&accept_addr));
ASSERT_TRUE(accepted2);
EXPECT_FALSE(accept_addr.IsNil());
EXPECT_EQ(accepted2->GetRemoteAddress(), accept_addr);
@@ -478,8 +478,7 @@
MAYBE_SKIP_IPV4;
FakeNetworkBinder fake_network_binder;
server_->set_network_binder(&fake_network_binder);
- std::unique_ptr<AsyncSocket> socket(
- server_->CreateAsyncSocket(AF_INET, SOCK_DGRAM));
+ std::unique_ptr<Socket> socket(server_->CreateSocket(AF_INET, SOCK_DGRAM));
fake_network_binder.set_result(NetworkBindingResult::FAILURE);
EXPECT_EQ(-1, socket->Bind(SocketAddress("192.168.0.1", 0)));
server_->set_network_binder(nullptr);
@@ -490,8 +489,7 @@
MAYBE_SKIP_IPV4;
FakeNetworkBinder fake_network_binder;
server_->set_network_binder(&fake_network_binder);
- std::unique_ptr<AsyncSocket> socket(
- server_->CreateAsyncSocket(AF_INET, SOCK_DGRAM));
+ std::unique_ptr<Socket> socket(server_->CreateSocket(AF_INET, SOCK_DGRAM));
EXPECT_EQ(0, socket->Bind(SocketAddress("0.0.0.0", 0)));
EXPECT_EQ(0, fake_network_binder.num_binds());
server_->set_network_binder(nullptr);
@@ -504,8 +502,7 @@
MAYBE_SKIP_IPV4;
FakeNetworkBinder fake_network_binder;
server_->set_network_binder(&fake_network_binder);
- std::unique_ptr<AsyncSocket> socket(
- server_->CreateAsyncSocket(AF_INET, SOCK_DGRAM));
+ std::unique_ptr<Socket> socket(server_->CreateSocket(AF_INET, SOCK_DGRAM));
fake_network_binder.set_result(NetworkBindingResult::FAILURE);
EXPECT_EQ(0, socket->Bind(SocketAddress(kIPv4Loopback, 0)));
server_->set_network_binder(nullptr);
diff --git a/rtc_base/proxy_server.cc b/rtc_base/proxy_server.cc
index a7e8bf5..652e4c5 100644
--- a/rtc_base/proxy_server.cc
+++ b/rtc_base/proxy_server.cc
@@ -27,7 +27,7 @@
: ext_factory_(ext_factory),
ext_ip_(ext_ip.ipaddr(), 0), // strip off port
server_socket_(
- int_factory->CreateAsyncSocket(int_addr.family(), SOCK_STREAM)) {
+ int_factory->CreateSocket(int_addr.family(), SOCK_STREAM)) {
RTC_DCHECK(server_socket_.get() != nullptr);
RTC_DCHECK(int_addr.family() == AF_INET || int_addr.family() == AF_INET6);
server_socket_->Bind(int_addr);
@@ -41,13 +41,13 @@
return server_socket_->GetLocalAddress();
}
-void ProxyServer::OnAcceptEvent(AsyncSocket* socket) {
+void ProxyServer::OnAcceptEvent(Socket* socket) {
RTC_DCHECK(socket);
RTC_DCHECK_EQ(socket, server_socket_.get());
- AsyncSocket* int_socket = socket->Accept(nullptr);
+ Socket* int_socket = socket->Accept(nullptr);
AsyncProxyServerSocket* wrapped_socket = WrapSocket(int_socket);
- AsyncSocket* ext_socket =
- ext_factory_->CreateAsyncSocket(ext_ip_.family(), SOCK_STREAM);
+ Socket* ext_socket =
+ ext_factory_->CreateSocket(ext_ip_.family(), SOCK_STREAM);
if (ext_socket) {
ext_socket->Bind(ext_ip_);
bindings_.emplace_back(
@@ -60,7 +60,7 @@
// ProxyBinding
ProxyBinding::ProxyBinding(AsyncProxyServerSocket* int_socket,
- AsyncSocket* ext_socket)
+ Socket* ext_socket)
: int_socket_(int_socket),
ext_socket_(ext_socket),
connected_(false),
@@ -88,42 +88,42 @@
// TODO: handle errors here
}
-void ProxyBinding::OnInternalRead(AsyncSocket* socket) {
+void ProxyBinding::OnInternalRead(Socket* socket) {
Read(int_socket_.get(), &out_buffer_);
Write(ext_socket_.get(), &out_buffer_);
}
-void ProxyBinding::OnInternalWrite(AsyncSocket* socket) {
+void ProxyBinding::OnInternalWrite(Socket* socket) {
Write(int_socket_.get(), &in_buffer_);
}
-void ProxyBinding::OnInternalClose(AsyncSocket* socket, int err) {
+void ProxyBinding::OnInternalClose(Socket* socket, int err) {
Destroy();
}
-void ProxyBinding::OnExternalConnect(AsyncSocket* socket) {
+void ProxyBinding::OnExternalConnect(Socket* socket) {
RTC_DCHECK(socket != nullptr);
connected_ = true;
int_socket_->SendConnectResult(0, socket->GetRemoteAddress());
}
-void ProxyBinding::OnExternalRead(AsyncSocket* socket) {
+void ProxyBinding::OnExternalRead(Socket* socket) {
Read(ext_socket_.get(), &in_buffer_);
Write(int_socket_.get(), &in_buffer_);
}
-void ProxyBinding::OnExternalWrite(AsyncSocket* socket) {
+void ProxyBinding::OnExternalWrite(Socket* socket) {
Write(ext_socket_.get(), &out_buffer_);
}
-void ProxyBinding::OnExternalClose(AsyncSocket* socket, int err) {
+void ProxyBinding::OnExternalClose(Socket* socket, int err) {
if (!connected_) {
int_socket_->SendConnectResult(err, SocketAddress());
}
Destroy();
}
-void ProxyBinding::Read(AsyncSocket* socket, FifoBuffer* buffer) {
+void ProxyBinding::Read(Socket* socket, FifoBuffer* buffer) {
// Only read if the buffer is empty.
RTC_DCHECK(socket != nullptr);
size_t size;
@@ -135,7 +135,7 @@
}
}
-void ProxyBinding::Write(AsyncSocket* socket, FifoBuffer* buffer) {
+void ProxyBinding::Write(Socket* socket, FifoBuffer* buffer) {
RTC_DCHECK(socket != nullptr);
size_t size;
int written;
@@ -148,7 +148,7 @@
SignalDestroyed(this);
}
-AsyncProxyServerSocket* SocksProxyServer::WrapSocket(AsyncSocket* socket) {
+AsyncProxyServerSocket* SocksProxyServer::WrapSocket(Socket* socket) {
return new AsyncSocksProxyServerSocket(socket);
}
diff --git a/rtc_base/proxy_server.h b/rtc_base/proxy_server.h
index 139cc91..6db0e12 100644
--- a/rtc_base/proxy_server.h
+++ b/rtc_base/proxy_server.h
@@ -15,10 +15,10 @@
#include <vector>
#include "absl/memory/memory.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/constructor_magic.h"
#include "rtc_base/memory/fifo_buffer.h"
#include "rtc_base/server_socket_adapters.h"
+#include "rtc_base/socket.h"
#include "rtc_base/socket_address.h"
namespace rtc {
@@ -34,28 +34,28 @@
class ProxyBinding : public sigslot::has_slots<> {
public:
- ProxyBinding(AsyncProxyServerSocket* in_socket, AsyncSocket* out_socket);
+ ProxyBinding(AsyncProxyServerSocket* in_socket, Socket* out_socket);
~ProxyBinding() override;
sigslot::signal1<ProxyBinding*> SignalDestroyed;
private:
void OnConnectRequest(AsyncProxyServerSocket* socket,
const SocketAddress& addr);
- void OnInternalRead(AsyncSocket* socket);
- void OnInternalWrite(AsyncSocket* socket);
- void OnInternalClose(AsyncSocket* socket, int err);
- void OnExternalConnect(AsyncSocket* socket);
- void OnExternalRead(AsyncSocket* socket);
- void OnExternalWrite(AsyncSocket* socket);
- void OnExternalClose(AsyncSocket* socket, int err);
+ void OnInternalRead(Socket* socket);
+ void OnInternalWrite(Socket* socket);
+ void OnInternalClose(Socket* socket, int err);
+ void OnExternalConnect(Socket* socket);
+ void OnExternalRead(Socket* socket);
+ void OnExternalWrite(Socket* socket);
+ void OnExternalClose(Socket* socket, int err);
- static void Read(AsyncSocket* socket, FifoBuffer* buffer);
- static void Write(AsyncSocket* socket, FifoBuffer* buffer);
+ static void Read(Socket* socket, FifoBuffer* buffer);
+ static void Write(Socket* socket, FifoBuffer* buffer);
void Destroy();
static const int kBufferSize = 4096;
std::unique_ptr<AsyncProxyServerSocket> int_socket_;
- std::unique_ptr<AsyncSocket> ext_socket_;
+ std::unique_ptr<Socket> ext_socket_;
bool connected_;
FifoBuffer out_buffer_;
FifoBuffer in_buffer_;
@@ -74,13 +74,13 @@
SocketAddress GetServerAddress();
protected:
- void OnAcceptEvent(AsyncSocket* socket);
- virtual AsyncProxyServerSocket* WrapSocket(AsyncSocket* socket) = 0;
+ void OnAcceptEvent(Socket* socket);
+ virtual AsyncProxyServerSocket* WrapSocket(Socket* socket) = 0;
private:
SocketFactory* ext_factory_;
SocketAddress ext_ip_;
- std::unique_ptr<AsyncSocket> server_socket_;
+ std::unique_ptr<Socket> server_socket_;
std::vector<std::unique_ptr<ProxyBinding>> bindings_;
RTC_DISALLOW_COPY_AND_ASSIGN(ProxyServer);
};
@@ -95,7 +95,7 @@
: ProxyServer(int_factory, int_addr, ext_factory, ext_ip) {}
protected:
- AsyncProxyServerSocket* WrapSocket(AsyncSocket* socket) override;
+ AsyncProxyServerSocket* WrapSocket(Socket* socket) override;
RTC_DISALLOW_COPY_AND_ASSIGN(SocksProxyServer);
};
diff --git a/rtc_base/proxy_unittest.cc b/rtc_base/proxy_unittest.cc
index d73d9de..9e3898e 100644
--- a/rtc_base/proxy_unittest.cc
+++ b/rtc_base/proxy_unittest.cc
@@ -43,8 +43,8 @@
// Tests whether we can use a SOCKS5 proxy to connect to a server.
TEST_F(ProxyTest, TestSocks5Connect) {
- rtc::AsyncSocket* socket =
- ss()->CreateAsyncSocket(kSocksProxyIntAddr.family(), SOCK_STREAM);
+ rtc::Socket* socket =
+ ss()->CreateSocket(kSocksProxyIntAddr.family(), SOCK_STREAM);
rtc::AsyncSocksProxySocket* proxy_socket = new rtc::AsyncSocksProxySocket(
socket, kSocksProxyIntAddr, "", rtc::CryptString());
// TODO: IPv6-ize these tests when proxy supports IPv6.
diff --git a/rtc_base/server_socket_adapters.cc b/rtc_base/server_socket_adapters.cc
index ebe420c..673083c 100644
--- a/rtc_base/server_socket_adapters.cc
+++ b/rtc_base/server_socket_adapters.cc
@@ -16,13 +16,13 @@
namespace rtc {
-AsyncProxyServerSocket::AsyncProxyServerSocket(AsyncSocket* socket,
+AsyncProxyServerSocket::AsyncProxyServerSocket(Socket* socket,
size_t buffer_size)
: BufferedReadAdapter(socket, buffer_size) {}
AsyncProxyServerSocket::~AsyncProxyServerSocket() = default;
-AsyncSSLServerSocket::AsyncSSLServerSocket(AsyncSocket* socket)
+AsyncSSLServerSocket::AsyncSSLServerSocket(Socket* socket)
: BufferedReadAdapter(socket, 1024) {
BufferInput(true);
}
@@ -55,7 +55,7 @@
BufferInput(false);
}
-AsyncSocksProxyServerSocket::AsyncSocksProxyServerSocket(AsyncSocket* socket)
+AsyncSocksProxyServerSocket::AsyncSocksProxyServerSocket(Socket* socket)
: AsyncProxyServerSocket(socket, kBufferSize), state_(SS_HELLO) {
BufferInput(true);
}
diff --git a/rtc_base/server_socket_adapters.h b/rtc_base/server_socket_adapters.h
index a534eea..07e9636 100644
--- a/rtc_base/server_socket_adapters.h
+++ b/rtc_base/server_socket_adapters.h
@@ -18,7 +18,7 @@
// Interface for implementing proxy server sockets.
class AsyncProxyServerSocket : public BufferedReadAdapter {
public:
- AsyncProxyServerSocket(AsyncSocket* socket, size_t buffer_size);
+ AsyncProxyServerSocket(Socket* socket, size_t buffer_size);
~AsyncProxyServerSocket() override;
sigslot::signal2<AsyncProxyServerSocket*, const SocketAddress&>
SignalConnectRequest;
@@ -29,7 +29,7 @@
// fake SSL handshake. Used when implementing a relay server that does "ssltcp".
class AsyncSSLServerSocket : public BufferedReadAdapter {
public:
- explicit AsyncSSLServerSocket(AsyncSocket* socket);
+ explicit AsyncSSLServerSocket(Socket* socket);
protected:
void ProcessInput(char* data, size_t* len) override;
@@ -39,7 +39,7 @@
// Implements a proxy server socket for the SOCKS protocol.
class AsyncSocksProxyServerSocket : public AsyncProxyServerSocket {
public:
- explicit AsyncSocksProxyServerSocket(AsyncSocket* socket);
+ explicit AsyncSocksProxyServerSocket(Socket* socket);
private:
void ProcessInput(char* data, size_t* len) override;
diff --git a/rtc_base/socket.h b/rtc_base/socket.h
index 81f4f0b..e38f8af 100644
--- a/rtc_base/socket.h
+++ b/rtc_base/socket.h
@@ -25,8 +25,10 @@
#include "rtc_base/win32.h"
#endif
+#include "absl/base/attributes.h"
#include "rtc_base/constructor_magic.h"
#include "rtc_base/socket_address.h"
+#include "rtc_base/third_party/sigslot/sigslot.h"
// Rather than converting errors into a private namespace,
// Reuse the POSIX socket api errors. Note this depends on
@@ -124,6 +126,17 @@
virtual int GetOption(Option opt, int* value) = 0;
virtual int SetOption(Option opt, int value) = 0;
+ // SignalReadEvent and SignalWriteEvent use multi_threaded_local to allow
+ // access concurrently from different thread.
+ // For example SignalReadEvent::connect will be called in AsyncUDPSocket ctor
+ // but at the same time the SocketDispatcher may be signaling the read event.
+ // ready to read
+ sigslot::signal1<Socket*, sigslot::multi_threaded_local> SignalReadEvent;
+ // ready to write
+ sigslot::signal1<Socket*, sigslot::multi_threaded_local> SignalWriteEvent;
+ sigslot::signal1<Socket*> SignalConnectEvent; // connected
+ sigslot::signal2<Socket*, int> SignalCloseEvent; // closed
+
protected:
Socket() {}
@@ -131,6 +144,10 @@
RTC_DISALLOW_COPY_AND_ASSIGN(Socket);
};
+// TODO(bugs.webrtc.org/13065): Old alias, delete ASAP, when downstream code is
+// updated.
+using AsyncSocket ABSL_DEPRECATED("bugs.webrtc.org/13065") = Socket;
+
} // namespace rtc
#endif // RTC_BASE_SOCKET_H_
diff --git a/rtc_base/socket_adapters.cc b/rtc_base/socket_adapters.cc
index ee20a76..08e967b 100644
--- a/rtc_base/socket_adapters.cc
+++ b/rtc_base/socket_adapters.cc
@@ -26,7 +26,7 @@
namespace rtc {
-BufferedReadAdapter::BufferedReadAdapter(AsyncSocket* socket, size_t size)
+BufferedReadAdapter::BufferedReadAdapter(Socket* socket, size_t size)
: AsyncSocketAdapter(socket),
buffer_size_(size),
data_len_(0),
@@ -87,7 +87,7 @@
buffering_ = on;
}
-void BufferedReadAdapter::OnReadEvent(AsyncSocket* socket) {
+void BufferedReadAdapter::OnReadEvent(Socket* socket) {
RTC_DCHECK(socket == GetSocket());
if (!buffering_) {
@@ -168,7 +168,7 @@
return {kSslServerHello, sizeof(kSslServerHello)};
}
-AsyncSSLSocket::AsyncSSLSocket(AsyncSocket* socket)
+AsyncSSLSocket::AsyncSSLSocket(Socket* socket)
: BufferedReadAdapter(socket, 1024) {}
int AsyncSSLSocket::Connect(const SocketAddress& addr) {
@@ -178,7 +178,7 @@
return BufferedReadAdapter::Connect(addr);
}
-void AsyncSSLSocket::OnConnectEvent(AsyncSocket* socket) {
+void AsyncSSLSocket::OnConnectEvent(Socket* socket) {
RTC_DCHECK(socket == GetSocket());
// TODO: we could buffer output too...
const int res = DirectSend(kSslClientHello, sizeof(kSslClientHello));
@@ -211,7 +211,7 @@
///////////////////////////////////////////////////////////////////////////////
-AsyncHttpsProxySocket::AsyncHttpsProxySocket(AsyncSocket* socket,
+AsyncHttpsProxySocket::AsyncHttpsProxySocket(Socket* socket,
const std::string& user_agent,
const SocketAddress& proxy,
const std::string& username,
@@ -266,7 +266,7 @@
}
}
-void AsyncHttpsProxySocket::OnConnectEvent(AsyncSocket* socket) {
+void AsyncHttpsProxySocket::OnConnectEvent(Socket* socket) {
RTC_LOG(LS_VERBOSE) << "AsyncHttpsProxySocket::OnConnectEvent";
if (!ShouldIssueConnect()) {
state_ = PS_TUNNEL;
@@ -276,7 +276,7 @@
SendRequest();
}
-void AsyncHttpsProxySocket::OnCloseEvent(AsyncSocket* socket, int err) {
+void AsyncHttpsProxySocket::OnCloseEvent(Socket* socket, int err) {
RTC_LOG(LS_VERBOSE) << "AsyncHttpsProxySocket::OnCloseEvent(" << err << ")";
if ((state_ == PS_WAIT_CLOSE) && (err == 0)) {
state_ = PS_ERROR;
@@ -463,7 +463,7 @@
///////////////////////////////////////////////////////////////////////////////
-AsyncSocksProxySocket::AsyncSocksProxySocket(AsyncSocket* socket,
+AsyncSocksProxySocket::AsyncSocksProxySocket(Socket* socket,
const SocketAddress& proxy,
const std::string& username,
const CryptString& password)
@@ -505,7 +505,7 @@
}
}
-void AsyncSocksProxySocket::OnConnectEvent(AsyncSocket* socket) {
+void AsyncSocksProxySocket::OnConnectEvent(Socket* socket) {
SendHello();
}
diff --git a/rtc_base/socket_adapters.h b/rtc_base/socket_adapters.h
index 99c9109..67d3bbf 100644
--- a/rtc_base/socket_adapters.h
+++ b/rtc_base/socket_adapters.h
@@ -31,7 +31,7 @@
// protocol before commencing normal socket behavior.
class BufferedReadAdapter : public AsyncSocketAdapter {
public:
- BufferedReadAdapter(AsyncSocket* socket, size_t buffer_size);
+ BufferedReadAdapter(Socket* socket, size_t buffer_size);
~BufferedReadAdapter() override;
int Send(const void* pv, size_t cb) override;
@@ -45,7 +45,7 @@
void BufferInput(bool on = true);
virtual void ProcessInput(char* data, size_t* len) = 0;
- void OnReadEvent(AsyncSocket* socket) override;
+ void OnReadEvent(Socket* socket) override;
private:
char* buffer_;
@@ -63,12 +63,12 @@
static ArrayView<const uint8_t> SslClientHello();
static ArrayView<const uint8_t> SslServerHello();
- explicit AsyncSSLSocket(AsyncSocket* socket);
+ explicit AsyncSSLSocket(Socket* socket);
int Connect(const SocketAddress& addr) override;
protected:
- void OnConnectEvent(AsyncSocket* socket) override;
+ void OnConnectEvent(Socket* socket) override;
void ProcessInput(char* data, size_t* len) override;
RTC_DISALLOW_COPY_AND_ASSIGN(AsyncSSLSocket);
};
@@ -78,7 +78,7 @@
// Implements a socket adapter that speaks the HTTP/S proxy protocol.
class AsyncHttpsProxySocket : public BufferedReadAdapter {
public:
- AsyncHttpsProxySocket(AsyncSocket* socket,
+ AsyncHttpsProxySocket(Socket* socket,
const std::string& user_agent,
const SocketAddress& proxy,
const std::string& username,
@@ -96,8 +96,8 @@
ConnState GetState() const override;
protected:
- void OnConnectEvent(AsyncSocket* socket) override;
- void OnCloseEvent(AsyncSocket* socket, int err) override;
+ void OnConnectEvent(Socket* socket) override;
+ void OnCloseEvent(Socket* socket, int err) override;
void ProcessInput(char* data, size_t* len) override;
bool ShouldIssueConnect() const;
@@ -136,7 +136,7 @@
// Implements a socket adapter that speaks the SOCKS proxy protocol.
class AsyncSocksProxySocket : public BufferedReadAdapter {
public:
- AsyncSocksProxySocket(AsyncSocket* socket,
+ AsyncSocksProxySocket(Socket* socket,
const SocketAddress& proxy,
const std::string& username,
const CryptString& password);
@@ -148,7 +148,7 @@
ConnState GetState() const override;
protected:
- void OnConnectEvent(AsyncSocket* socket) override;
+ void OnConnectEvent(Socket* socket) override;
void ProcessInput(char* data, size_t* len) override;
void SendHello();
diff --git a/rtc_base/socket_factory.h b/rtc_base/socket_factory.h
index 7356745..b43bd1b 100644
--- a/rtc_base/socket_factory.h
+++ b/rtc_base/socket_factory.h
@@ -11,7 +11,6 @@
#ifndef RTC_BASE_SOCKET_FACTORY_H_
#define RTC_BASE_SOCKET_FACTORY_H_
-#include "rtc_base/async_socket.h"
#include "rtc_base/socket.h"
namespace rtc {
@@ -20,12 +19,12 @@
public:
virtual ~SocketFactory() {}
- // Returns a new socket for blocking communication. The type can be
- // SOCK_DGRAM and SOCK_STREAM.
+ // Returns a new socket. The type can be SOCK_DGRAM and SOCK_STREAM.
virtual Socket* CreateSocket(int family, int type) = 0;
- // Returns a new socket for nonblocking communication. The type can be
- // SOCK_DGRAM and SOCK_STREAM.
- virtual AsyncSocket* CreateAsyncSocket(int family, int type) = 0;
+ // TODO(nisse): Delete old alias, ASAP when downstream code is updated.
+ virtual Socket* CreateAsyncSocket(int family, int type) {
+ return CreateSocket(family, type);
+ }
};
} // namespace rtc
diff --git a/rtc_base/socket_stream.cc b/rtc_base/socket_stream.cc
index e93d6aa..a526f0c 100644
--- a/rtc_base/socket_stream.cc
+++ b/rtc_base/socket_stream.cc
@@ -15,7 +15,7 @@
namespace rtc {
-SocketStream::SocketStream(AsyncSocket* socket) : socket_(nullptr) {
+SocketStream::SocketStream(Socket* socket) : socket_(nullptr) {
Attach(socket);
}
@@ -23,7 +23,7 @@
delete socket_;
}
-void SocketStream::Attach(AsyncSocket* socket) {
+void SocketStream::Attach(Socket* socket) {
if (socket_)
delete socket_;
socket_ = socket;
@@ -35,8 +35,8 @@
}
}
-AsyncSocket* SocketStream::Detach() {
- AsyncSocket* socket = socket_;
+Socket* SocketStream::Detach() {
+ Socket* socket = socket_;
if (socket_) {
socket_->SignalConnectEvent.disconnect(this);
socket_->SignalReadEvent.disconnect(this);
@@ -104,22 +104,22 @@
socket_->Close();
}
-void SocketStream::OnConnectEvent(AsyncSocket* socket) {
+void SocketStream::OnConnectEvent(Socket* socket) {
RTC_DCHECK(socket == socket_);
SignalEvent(this, SE_OPEN | SE_READ | SE_WRITE, 0);
}
-void SocketStream::OnReadEvent(AsyncSocket* socket) {
+void SocketStream::OnReadEvent(Socket* socket) {
RTC_DCHECK(socket == socket_);
SignalEvent(this, SE_READ, 0);
}
-void SocketStream::OnWriteEvent(AsyncSocket* socket) {
+void SocketStream::OnWriteEvent(Socket* socket) {
RTC_DCHECK(socket == socket_);
SignalEvent(this, SE_WRITE, 0);
}
-void SocketStream::OnCloseEvent(AsyncSocket* socket, int err) {
+void SocketStream::OnCloseEvent(Socket* socket, int err) {
RTC_DCHECK(socket == socket_);
SignalEvent(this, SE_CLOSE, err);
}
diff --git a/rtc_base/socket_stream.h b/rtc_base/socket_stream.h
index f9875fe..266a6e6 100644
--- a/rtc_base/socket_stream.h
+++ b/rtc_base/socket_stream.h
@@ -13,8 +13,8 @@
#include <stddef.h>
-#include "rtc_base/async_socket.h"
#include "rtc_base/constructor_magic.h"
+#include "rtc_base/socket.h"
#include "rtc_base/stream.h"
#include "rtc_base/third_party/sigslot/sigslot.h"
@@ -24,13 +24,13 @@
class SocketStream : public StreamInterface, public sigslot::has_slots<> {
public:
- explicit SocketStream(AsyncSocket* socket);
+ explicit SocketStream(Socket* socket);
~SocketStream() override;
- void Attach(AsyncSocket* socket);
- AsyncSocket* Detach();
+ void Attach(Socket* socket);
+ Socket* Detach();
- AsyncSocket* GetSocket() { return socket_; }
+ Socket* GetSocket() { return socket_; }
StreamState GetState() const override;
@@ -47,12 +47,12 @@
void Close() override;
private:
- void OnConnectEvent(AsyncSocket* socket);
- void OnReadEvent(AsyncSocket* socket);
- void OnWriteEvent(AsyncSocket* socket);
- void OnCloseEvent(AsyncSocket* socket, int err);
+ void OnConnectEvent(Socket* socket);
+ void OnReadEvent(Socket* socket);
+ void OnWriteEvent(Socket* socket);
+ void OnCloseEvent(Socket* socket, int err);
- AsyncSocket* socket_;
+ Socket* socket_;
RTC_DISALLOW_COPY_AND_ASSIGN(SocketStream);
};
diff --git a/rtc_base/socket_unittest.cc b/rtc_base/socket_unittest.cc
index 82e2f6d..720dc6c 100644
--- a/rtc_base/socket_unittest.cc
+++ b/rtc_base/socket_unittest.cc
@@ -19,7 +19,6 @@
#include "absl/memory/memory.h"
#include "rtc_base/arraysize.h"
#include "rtc_base/async_packet_socket.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/async_udp_socket.h"
#include "rtc_base/buffer.h"
#include "rtc_base/gunit.h"
@@ -242,19 +241,19 @@
SocketAddress accept_addr;
// Create client.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client.get());
- EXPECT_EQ(AsyncSocket::CS_CLOSED, client->GetState());
+ EXPECT_EQ(Socket::CS_CLOSED, client->GetState());
EXPECT_TRUE(IsUnspecOrEmptyIP(client->GetLocalAddress().ipaddr()));
// Create server and listen.
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, server->Listen(5));
- EXPECT_EQ(AsyncSocket::CS_CONNECTING, server->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTING, server->GetState());
// Ensure no pending server connections, since we haven't done anything yet.
EXPECT_FALSE(sink.Check(server.get(), SSE_READ));
@@ -267,24 +266,24 @@
EXPECT_NE(server->GetLocalAddress(), client->GetLocalAddress());
// Client is connecting, outcome not yet determined.
- EXPECT_EQ(AsyncSocket::CS_CONNECTING, client->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTING, client->GetState());
EXPECT_FALSE(sink.Check(client.get(), SSE_OPEN));
EXPECT_FALSE(sink.Check(client.get(), SSE_CLOSE));
// Server has pending connection, accept it.
EXPECT_TRUE_WAIT((sink.Check(server.get(), SSE_READ)), kTimeout);
- std::unique_ptr<AsyncSocket> accepted(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> accepted(server->Accept(&accept_addr));
ASSERT_TRUE(accepted);
EXPECT_FALSE(accept_addr.IsNil());
EXPECT_EQ(accepted->GetRemoteAddress(), accept_addr);
// Connected from server perspective, check the addresses are correct.
- EXPECT_EQ(AsyncSocket::CS_CONNECTED, accepted->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTED, accepted->GetState());
EXPECT_EQ(server->GetLocalAddress(), accepted->GetLocalAddress());
EXPECT_EQ(client->GetLocalAddress(), accepted->GetRemoteAddress());
// Connected from client perspective, check the addresses are correct.
- EXPECT_EQ_WAIT(AsyncSocket::CS_CONNECTED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CONNECTED, client->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(client.get(), SSE_OPEN));
EXPECT_FALSE(sink.Check(client.get(), SSE_CLOSE));
EXPECT_EQ(client->GetRemoteAddress(), server->GetLocalAddress());
@@ -297,13 +296,13 @@
SocketAddress accept_addr;
// Create client.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client.get());
// Create server and listen.
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, server->Listen(5));
@@ -316,24 +315,24 @@
// EXPECT_NE(kEmptyAddr, client->GetLocalAddress()); // Implicit Bind
// Client is connecting, outcome not yet determined.
- EXPECT_EQ(AsyncSocket::CS_CONNECTING, client->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTING, client->GetState());
EXPECT_FALSE(sink.Check(client.get(), SSE_OPEN));
EXPECT_FALSE(sink.Check(client.get(), SSE_CLOSE));
// Server has pending connection, accept it.
EXPECT_TRUE_WAIT((sink.Check(server.get(), SSE_READ)), kTimeout);
- std::unique_ptr<AsyncSocket> accepted(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> accepted(server->Accept(&accept_addr));
ASSERT_TRUE(accepted);
EXPECT_FALSE(accept_addr.IsNil());
EXPECT_EQ(accepted->GetRemoteAddress(), accept_addr);
// Connected from server perspective, check the addresses are correct.
- EXPECT_EQ(AsyncSocket::CS_CONNECTED, accepted->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTED, accepted->GetState());
EXPECT_EQ(server->GetLocalAddress(), accepted->GetLocalAddress());
EXPECT_EQ(client->GetLocalAddress(), accepted->GetRemoteAddress());
// Connected from client perspective, check the addresses are correct.
- EXPECT_EQ_WAIT(AsyncSocket::CS_CONNECTED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CONNECTED, client->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(client.get(), SSE_OPEN));
EXPECT_FALSE(sink.Check(client.get(), SSE_CLOSE));
EXPECT_EQ(client->GetRemoteAddress(), server->GetLocalAddress());
@@ -345,13 +344,13 @@
SocketAddress accept_addr;
// Create client.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client.get());
// Create server, but don't listen yet.
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
@@ -362,7 +361,7 @@
EXPECT_EQ(0, client->Connect(bogus_addr));
// Wait for connection to fail (ECONNREFUSED).
- EXPECT_EQ_WAIT(AsyncSocket::CS_CLOSED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CLOSED, client->GetState(), kTimeout);
EXPECT_FALSE(sink.Check(client.get(), SSE_OPEN));
EXPECT_TRUE(sink.Check(client.get(), SSE_ERROR));
EXPECT_TRUE(client->GetRemoteAddress().IsNil());
@@ -378,13 +377,13 @@
SocketAddress accept_addr;
// Create client.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client.get());
// Create server, but don't listen yet.
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
@@ -396,15 +395,14 @@
// Wait for connection to fail (EHOSTNOTFOUND).
bool dns_lookup_finished = false;
- WAIT_(client->GetState() == AsyncSocket::CS_CLOSED, kTimeout,
- dns_lookup_finished);
+ WAIT_(client->GetState() == Socket::CS_CLOSED, kTimeout, dns_lookup_finished);
if (!dns_lookup_finished) {
RTC_LOG(LS_WARNING) << "Skipping test; DNS resolution took longer than 5 "
"seconds.";
return;
}
- EXPECT_EQ_WAIT(AsyncSocket::CS_CLOSED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CLOSED, client->GetState(), kTimeout);
EXPECT_FALSE(sink.Check(client.get(), SSE_OPEN));
EXPECT_TRUE(sink.Check(client.get(), SSE_ERROR));
EXPECT_TRUE(client->GetRemoteAddress().IsNil());
@@ -416,35 +414,35 @@
void SocketTest::ConnectWithClosedSocketInternal(const IPAddress& loopback) {
// Create server and listen.
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, server->Listen(5));
// Create a client and put in to CS_CLOSED state.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
EXPECT_EQ(0, client->Close());
- EXPECT_EQ(AsyncSocket::CS_CLOSED, client->GetState());
+ EXPECT_EQ(Socket::CS_CLOSED, client->GetState());
// Connect() should reinitialize the socket, and put it in to CS_CONNECTING.
EXPECT_EQ(0, client->Connect(SocketAddress(server->GetLocalAddress())));
- EXPECT_EQ(AsyncSocket::CS_CONNECTING, client->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTING, client->GetState());
}
void SocketTest::ConnectWhileNotClosedInternal(const IPAddress& loopback) {
// Create server and listen.
StreamSink sink;
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, server->Listen(5));
// Create client, connect.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
EXPECT_EQ(0, client->Connect(SocketAddress(server->GetLocalAddress())));
- EXPECT_EQ(AsyncSocket::CS_CONNECTING, client->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTING, client->GetState());
// Try to connect again. Should fail, but not interfere with original attempt.
EXPECT_EQ(SOCKET_ERROR,
client->Connect(SocketAddress(server->GetLocalAddress())));
@@ -452,15 +450,15 @@
// Accept the original connection.
SocketAddress accept_addr;
EXPECT_TRUE_WAIT((sink.Check(server.get(), SSE_READ)), kTimeout);
- std::unique_ptr<AsyncSocket> accepted(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> accepted(server->Accept(&accept_addr));
ASSERT_TRUE(accepted);
EXPECT_FALSE(accept_addr.IsNil());
// Check the states and addresses.
- EXPECT_EQ(AsyncSocket::CS_CONNECTED, accepted->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTED, accepted->GetState());
EXPECT_EQ(server->GetLocalAddress(), accepted->GetLocalAddress());
EXPECT_EQ(client->GetLocalAddress(), accepted->GetRemoteAddress());
- EXPECT_EQ_WAIT(AsyncSocket::CS_CONNECTED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CONNECTED, client->GetState(), kTimeout);
EXPECT_EQ(client->GetRemoteAddress(), server->GetLocalAddress());
EXPECT_EQ(client->GetRemoteAddress(), accepted->GetLocalAddress());
@@ -468,8 +466,8 @@
// Shouldn't break anything.
EXPECT_EQ(SOCKET_ERROR, client->Connect(SocketAddress(
"localhost", server->GetLocalAddress().port())));
- EXPECT_EQ(AsyncSocket::CS_CONNECTED, accepted->GetState());
- EXPECT_EQ(AsyncSocket::CS_CONNECTED, client->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTED, accepted->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTED, client->GetState());
EXPECT_EQ(client->GetRemoteAddress(), server->GetLocalAddress());
EXPECT_EQ(client->GetRemoteAddress(), accepted->GetLocalAddress());
}
@@ -478,13 +476,13 @@
StreamSink sink;
// Create client.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client.get());
// Create server and listen.
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, server->Listen(5));
@@ -497,7 +495,7 @@
server->Close();
// This should fail the connection for the client. Clean up.
- EXPECT_EQ_WAIT(AsyncSocket::CS_CLOSED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CLOSED, client->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(client.get(), SSE_ERROR));
client->Close();
}
@@ -507,13 +505,13 @@
SocketAddress accept_addr;
// Create client.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client.get());
// Create server and listen.
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, server->Listen(5));
@@ -526,13 +524,13 @@
client->Close();
// The connection should still be able to be accepted.
- std::unique_ptr<AsyncSocket> accepted(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> accepted(server->Accept(&accept_addr));
ASSERT_TRUE(accepted);
sink.Monitor(accepted.get());
- EXPECT_EQ(AsyncSocket::CS_CONNECTED, accepted->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTED, accepted->GetState());
// The accepted socket should then close (possibly with err, timing-related)
- EXPECT_EQ_WAIT(AsyncSocket::CS_CLOSED, accepted->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CLOSED, accepted->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(accepted.get(), SSE_CLOSE) ||
sink.Check(accepted.get(), SSE_ERROR));
@@ -545,13 +543,13 @@
SocketAddress accept_addr;
// Create client.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client.get());
// Create server and listen.
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, server->Listen(5));
@@ -561,12 +559,12 @@
// Accept connection.
EXPECT_TRUE_WAIT((sink.Check(server.get(), SSE_READ)), kTimeout);
- std::unique_ptr<AsyncSocket> accepted(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> accepted(server->Accept(&accept_addr));
ASSERT_TRUE(accepted);
sink.Monitor(accepted.get());
// Both sides are now connected.
- EXPECT_EQ_WAIT(AsyncSocket::CS_CONNECTED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CONNECTED, client->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(client.get(), SSE_OPEN));
EXPECT_EQ(client->GetRemoteAddress(), accepted->GetLocalAddress());
EXPECT_EQ(accepted->GetRemoteAddress(), client->GetLocalAddress());
@@ -574,12 +572,12 @@
// Send data to the client, and then close the connection.
EXPECT_EQ(1, accepted->Send("a", 1));
accepted->Close();
- EXPECT_EQ(AsyncSocket::CS_CLOSED, accepted->GetState());
+ EXPECT_EQ(Socket::CS_CLOSED, accepted->GetState());
// Expect that the client is notified, and has not yet closed.
EXPECT_TRUE_WAIT(sink.Check(client.get(), SSE_READ), kTimeout);
EXPECT_FALSE(sink.Check(client.get(), SSE_CLOSE));
- EXPECT_EQ(AsyncSocket::CS_CONNECTED, client->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTED, client->GetState());
// Ensure the data can be read.
char buffer[10];
@@ -587,7 +585,7 @@
EXPECT_EQ('a', buffer[0]);
// Now we should close, but the remote address will remain.
- EXPECT_EQ_WAIT(AsyncSocket::CS_CLOSED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CLOSED, client->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(client.get(), SSE_CLOSE));
EXPECT_FALSE(client->GetRemoteAddress().IsAnyIP());
@@ -607,7 +605,7 @@
class SocketCloser : public sigslot::has_slots<> {
public:
- void OnClose(AsyncSocket* socket, int error) {
+ void OnClose(Socket* socket, int error) {
socket->Close(); // Deleting here would blow up the vector of handlers
// for the socket's signal.
}
@@ -619,14 +617,14 @@
SocketAddress accept_addr;
// Create client.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client.get());
client->SignalCloseEvent.connect(&closer, &SocketCloser::OnClose);
// Create server and listen.
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, server->Listen(5));
@@ -636,26 +634,26 @@
// Accept connection.
EXPECT_TRUE_WAIT((sink.Check(server.get(), SSE_READ)), kTimeout);
- std::unique_ptr<AsyncSocket> accepted(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> accepted(server->Accept(&accept_addr));
ASSERT_TRUE(accepted);
sink.Monitor(accepted.get());
// Both sides are now connected.
- EXPECT_EQ_WAIT(AsyncSocket::CS_CONNECTED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CONNECTED, client->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(client.get(), SSE_OPEN));
EXPECT_EQ(client->GetRemoteAddress(), accepted->GetLocalAddress());
EXPECT_EQ(accepted->GetRemoteAddress(), client->GetLocalAddress());
// Send data to the client, and then close the connection.
accepted->Close();
- EXPECT_EQ(AsyncSocket::CS_CLOSED, accepted->GetState());
+ EXPECT_EQ(Socket::CS_CLOSED, accepted->GetState());
// Expect that the client is notified, and has not yet closed.
EXPECT_FALSE(sink.Check(client.get(), SSE_CLOSE));
- EXPECT_EQ(AsyncSocket::CS_CONNECTED, client->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTED, client->GetState());
// Now we should be closed and invalidated
- EXPECT_EQ_WAIT(AsyncSocket::CS_CLOSED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CLOSED, client->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(client.get(), SSE_CLOSE));
EXPECT_TRUE(Socket::CS_CLOSED == client->GetState());
}
@@ -663,25 +661,25 @@
// Helper class specifically for the test below.
class SocketDeleter : public sigslot::has_slots<> {
public:
- explicit SocketDeleter(std::unique_ptr<AsyncSocket> socket)
+ explicit SocketDeleter(std::unique_ptr<Socket> socket)
: socket_(std::move(socket)) {}
- void Delete(AsyncSocket* other) { socket_.reset(); }
+ void Delete(Socket* other) { socket_.reset(); }
bool deleted() const { return socket_ == nullptr; }
private:
- std::unique_ptr<AsyncSocket> socket_;
+ std::unique_ptr<Socket> socket_;
};
// Tested deleting a socket within another socket's read callback. A previous
// iteration of the select loop failed in this situation, if both sockets
// became readable at the same time.
void SocketTest::DeleteInReadCallbackInternal(const IPAddress& loopback) {
- std::unique_ptr<AsyncSocket> socket1(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_DGRAM));
- std::unique_ptr<AsyncSocket> socket2(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_DGRAM));
+ std::unique_ptr<Socket> socket1(
+ ss_->CreateSocket(loopback.family(), SOCK_DGRAM));
+ std::unique_ptr<Socket> socket2(
+ ss_->CreateSocket(loopback.family(), SOCK_DGRAM));
EXPECT_EQ(0, socket1->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, socket2->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(3, socket1->SendTo("foo", 3, socket1->GetLocalAddress()));
@@ -706,10 +704,10 @@
SocketAddress accept_addr;
// Create & connect server and client sockets.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client.get());
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
@@ -718,14 +716,14 @@
EXPECT_EQ(0, client->Connect(server->GetLocalAddress()));
EXPECT_TRUE_WAIT((sink.Check(server.get(), SSE_READ)), kTimeout);
- std::unique_ptr<AsyncSocket> accepted(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> accepted(server->Accept(&accept_addr));
ASSERT_TRUE(accepted);
sink.Monitor(accepted.get());
- EXPECT_EQ(AsyncSocket::CS_CONNECTED, accepted->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTED, accepted->GetState());
EXPECT_EQ(server->GetLocalAddress(), accepted->GetLocalAddress());
EXPECT_EQ(client->GetLocalAddress(), accepted->GetRemoteAddress());
- EXPECT_EQ_WAIT(AsyncSocket::CS_CONNECTED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CONNECTED, client->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(client.get(), SSE_OPEN));
EXPECT_FALSE(sink.Check(client.get(), SSE_CLOSE));
EXPECT_EQ(client->GetRemoteAddress(), server->GetLocalAddress());
@@ -742,7 +740,7 @@
std::unique_ptr<Thread> thread(Thread::CreateWithSocketServer());
thread->Start();
Sleeper sleeper;
- TypedMessageData<AsyncSocket*> data(client.get());
+ TypedMessageData<Socket*> data(client.get());
thread->Send(RTC_FROM_HERE, &sleeper, 0, &data);
EXPECT_FALSE(sink.Check(accepted.get(), SSE_READ));
@@ -758,13 +756,13 @@
SocketAddress accept_addr;
// Create receiving client.
- std::unique_ptr<AsyncSocket> receiver(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> receiver(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(receiver.get());
// Create server and listen.
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, server->Listen(5));
@@ -774,12 +772,12 @@
// Accept connection which will be used for sending.
EXPECT_TRUE_WAIT((sink.Check(server.get(), SSE_READ)), kTimeout);
- std::unique_ptr<AsyncSocket> sender(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> sender(server->Accept(&accept_addr));
ASSERT_TRUE(sender);
sink.Monitor(sender.get());
// Both sides are now connected.
- EXPECT_EQ_WAIT(AsyncSocket::CS_CONNECTED, receiver->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CONNECTED, receiver->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(receiver.get(), SSE_OPEN));
EXPECT_EQ(receiver->GetRemoteAddress(), sender->GetLocalAddress());
EXPECT_EQ(sender->GetRemoteAddress(), receiver->GetLocalAddress());
@@ -874,7 +872,7 @@
// Close down.
sender->Close();
- EXPECT_EQ_WAIT(AsyncSocket::CS_CLOSED, receiver->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CLOSED, receiver->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(receiver.get(), SSE_CLOSE));
receiver->Close();
}
@@ -884,13 +882,13 @@
SocketAddress accept_addr;
// Create client.
- std::unique_ptr<AsyncSocket> client(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(client.get());
// Create server and listen.
- std::unique_ptr<AsyncSocket> server(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_->CreateSocket(loopback.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(SocketAddress(loopback, 0)));
EXPECT_EQ(0, server->Listen(5));
@@ -900,12 +898,12 @@
// Accept connection.
EXPECT_TRUE_WAIT((sink.Check(server.get(), SSE_READ)), kTimeout);
- std::unique_ptr<AsyncSocket> accepted(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> accepted(server->Accept(&accept_addr));
ASSERT_TRUE(accepted);
sink.Monitor(accepted.get());
// Both sides are now connected.
- EXPECT_EQ_WAIT(AsyncSocket::CS_CONNECTED, client->GetState(), kTimeout);
+ EXPECT_EQ_WAIT(Socket::CS_CONNECTED, client->GetState(), kTimeout);
EXPECT_TRUE(sink.Check(client.get(), SSE_OPEN));
EXPECT_EQ(client->GetRemoteAddress(), accepted->GetLocalAddress());
EXPECT_EQ(accepted->GetRemoteAddress(), client->GetLocalAddress());
@@ -951,14 +949,14 @@
void SocketTest::UdpInternal(const IPAddress& loopback) {
SocketAddress empty = EmptySocketAddressWithFamily(loopback.family());
// Test basic bind and connect behavior.
- AsyncSocket* socket = ss_->CreateAsyncSocket(loopback.family(), SOCK_DGRAM);
- EXPECT_EQ(AsyncSocket::CS_CLOSED, socket->GetState());
+ Socket* socket = ss_->CreateSocket(loopback.family(), SOCK_DGRAM);
+ EXPECT_EQ(Socket::CS_CLOSED, socket->GetState());
EXPECT_EQ(0, socket->Bind(SocketAddress(loopback, 0)));
SocketAddress addr1 = socket->GetLocalAddress();
EXPECT_EQ(0, socket->Connect(addr1));
- EXPECT_EQ(AsyncSocket::CS_CONNECTED, socket->GetState());
+ EXPECT_EQ(Socket::CS_CONNECTED, socket->GetState());
socket->Close();
- EXPECT_EQ(AsyncSocket::CS_CLOSED, socket->GetState());
+ EXPECT_EQ(Socket::CS_CLOSED, socket->GetState());
delete socket;
// Test send/receive behavior.
@@ -1041,8 +1039,8 @@
}
void SocketTest::GetSetOptionsInternal(const IPAddress& loopback) {
- std::unique_ptr<AsyncSocket> socket(
- ss_->CreateAsyncSocket(loopback.family(), SOCK_DGRAM));
+ std::unique_ptr<Socket> socket(
+ ss_->CreateSocket(loopback.family(), SOCK_DGRAM));
socket->Bind(SocketAddress(loopback, 0));
// Check SNDBUF/RCVBUF.
diff --git a/rtc_base/ssl_adapter.cc b/rtc_base/ssl_adapter.cc
index 9d414ea..c9b54c4 100644
--- a/rtc_base/ssl_adapter.cc
+++ b/rtc_base/ssl_adapter.cc
@@ -20,7 +20,7 @@
return new OpenSSLAdapterFactory();
}
-SSLAdapter* SSLAdapter::Create(AsyncSocket* socket) {
+SSLAdapter* SSLAdapter::Create(Socket* socket) {
return new OpenSSLAdapter(socket);
}
diff --git a/rtc_base/ssl_adapter.h b/rtc_base/ssl_adapter.h
index 2605770..1f0616b 100644
--- a/rtc_base/ssl_adapter.h
+++ b/rtc_base/ssl_adapter.h
@@ -40,7 +40,7 @@
virtual void SetCertVerifier(SSLCertificateVerifier* ssl_cert_verifier) = 0;
// Creates a new SSL adapter, but from a shared context.
- virtual SSLAdapter* CreateAdapter(AsyncSocket* socket) = 0;
+ virtual SSLAdapter* CreateAdapter(Socket* socket) = 0;
static SSLAdapterFactory* Create();
};
@@ -52,7 +52,7 @@
// After creation, call StartSSL to initiate the SSL handshake to the server.
class SSLAdapter : public AsyncSocketAdapter {
public:
- explicit SSLAdapter(AsyncSocket* socket) : AsyncSocketAdapter(socket) {}
+ explicit SSLAdapter(Socket* socket) : AsyncSocketAdapter(socket) {}
// Methods that control server certificate verification, used in unit tests.
// Do not call these methods in production code.
@@ -90,7 +90,7 @@
// Create the default SSL adapter for this platform. On failure, returns null
// and deletes `socket`. Otherwise, the returned SSLAdapter takes ownership
// of `socket`.
- static SSLAdapter* Create(AsyncSocket* socket);
+ static SSLAdapter* Create(Socket* socket);
};
///////////////////////////////////////////////////////////////////////////////
diff --git a/rtc_base/ssl_adapter_unittest.cc b/rtc_base/ssl_adapter_unittest.cc
index 498eba3..2b55211 100644
--- a/rtc_base/ssl_adapter_unittest.cc
+++ b/rtc_base/ssl_adapter_unittest.cc
@@ -30,13 +30,12 @@
static const int kTimeout = 5000;
-static rtc::AsyncSocket* CreateSocket(const rtc::SSLMode& ssl_mode) {
+static rtc::Socket* CreateSocket(const rtc::SSLMode& ssl_mode) {
rtc::SocketAddress address(rtc::IPAddress(INADDR_ANY), 0);
- rtc::AsyncSocket* socket =
- rtc::Thread::Current()->socketserver()->CreateAsyncSocket(
- address.family(),
- (ssl_mode == rtc::SSL_MODE_DTLS) ? SOCK_DGRAM : SOCK_STREAM);
+ rtc::Socket* socket = rtc::Thread::Current()->socketserver()->CreateSocket(
+ address.family(),
+ (ssl_mode == rtc::SSL_MODE_DTLS) ? SOCK_DGRAM : SOCK_STREAM);
socket->Bind(address);
return socket;
@@ -59,7 +58,7 @@
public:
explicit SSLAdapterTestDummyClient(const rtc::SSLMode& ssl_mode)
: ssl_mode_(ssl_mode) {
- rtc::AsyncSocket* socket = CreateSocket(ssl_mode_);
+ rtc::Socket* socket = CreateSocket(ssl_mode_);
ssl_adapter_.reset(rtc::SSLAdapter::Create(socket));
@@ -96,9 +95,7 @@
return ssl_adapter_->GetLocalAddress();
}
- rtc::AsyncSocket::ConnState GetState() const {
- return ssl_adapter_->GetState();
- }
+ rtc::Socket::ConnState GetState() const { return ssl_adapter_->GetState(); }
const std::string& GetReceivedData() const { return data_; }
@@ -127,7 +124,7 @@
return ssl_adapter_->Send(message.data(), message.length());
}
- void OnSSLAdapterReadEvent(rtc::AsyncSocket* socket) {
+ void OnSSLAdapterReadEvent(rtc::Socket* socket) {
char buffer[4096] = "";
// Read data received from the server and store it in our internal buffer.
@@ -141,11 +138,11 @@
}
}
- void OnSSLAdapterCloseEvent(rtc::AsyncSocket* socket, int error) {
+ void OnSSLAdapterCloseEvent(rtc::Socket* socket, int error) {
// OpenSSLAdapter signals handshake failure with a close event, but without
// closing the socket! Let's close the socket here. This way GetState() can
// return CS_CLOSED after failure.
- if (socket->GetState() != rtc::AsyncSocket::CS_CLOSED) {
+ if (socket->GetState() != rtc::Socket::CS_CLOSED) {
socket->Close();
}
}
@@ -221,14 +218,14 @@
ASSERT_EQ(rtc::SSL_MODE_DTLS, ssl_mode_);
// Transfer ownership of the socket to the SSLStreamAdapter object.
- rtc::AsyncSocket* socket = server_socket_.release();
+ rtc::Socket* socket = server_socket_.release();
socket->Connect(address);
DoHandshake(socket);
}
- void OnServerSocketReadEvent(rtc::AsyncSocket* socket) {
+ void OnServerSocketReadEvent(rtc::Socket* socket) {
// Only a single connection is supported.
ASSERT_TRUE(ssl_stream_adapter_ == nullptr);
@@ -254,7 +251,7 @@
}
private:
- void DoHandshake(rtc::AsyncSocket* socket) {
+ void DoHandshake(rtc::Socket* socket) {
ssl_stream_adapter_ = rtc::SSLStreamAdapter::Create(
std::make_unique<rtc::SocketStream>(socket));
@@ -284,7 +281,7 @@
const rtc::SSLMode ssl_mode_;
- std::unique_ptr<rtc::AsyncSocket> server_socket_;
+ std::unique_ptr<rtc::Socket> server_socket_;
std::unique_ptr<rtc::SSLStreamAdapter> ssl_stream_adapter_;
std::unique_ptr<rtc::SSLIdentity> ssl_identity_;
@@ -335,13 +332,13 @@
int rv;
// The initial state is CS_CLOSED
- ASSERT_EQ(rtc::AsyncSocket::CS_CLOSED, client_->GetState());
+ ASSERT_EQ(rtc::Socket::CS_CLOSED, client_->GetState());
rv = client_->Connect(server_->GetHostname(), server_->GetAddress());
ASSERT_EQ(0, rv);
// Now the state should be CS_CONNECTING
- ASSERT_EQ(rtc::AsyncSocket::CS_CONNECTING, client_->GetState());
+ ASSERT_EQ(rtc::Socket::CS_CONNECTING, client_->GetState());
if (ssl_mode_ == rtc::SSL_MODE_DTLS) {
// For DTLS, call AcceptConnection() with the client's address.
@@ -351,7 +348,7 @@
if (expect_success) {
// If expecting success, the client should end up in the CS_CONNECTED
// state after handshake.
- EXPECT_EQ_WAIT(rtc::AsyncSocket::CS_CONNECTED, client_->GetState(),
+ EXPECT_EQ_WAIT(rtc::Socket::CS_CONNECTED, client_->GetState(),
handshake_wait_);
RTC_LOG(LS_INFO) << GetSSLProtocolName(ssl_mode_)
@@ -359,7 +356,7 @@
} else {
// On handshake failure the client should end up in the CS_CLOSED state.
- EXPECT_EQ_WAIT(rtc::AsyncSocket::CS_CLOSED, client_->GetState(),
+ EXPECT_EQ_WAIT(rtc::Socket::CS_CLOSED, client_->GetState(),
handshake_wait_);
RTC_LOG(LS_INFO) << GetSSLProtocolName(ssl_mode_) << " handshake failed.";
diff --git a/rtc_base/test_client_unittest.cc b/rtc_base/test_client_unittest.cc
index af8a4a7..e150102 100644
--- a/rtc_base/test_client_unittest.cc
+++ b/rtc_base/test_client_unittest.cc
@@ -13,11 +13,11 @@
#include <utility>
#include "absl/memory/memory.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/async_tcp_socket.h"
#include "rtc_base/async_udp_socket.h"
#include "rtc_base/logging.h"
#include "rtc_base/net_helpers.h"
+#include "rtc_base/socket.h"
#include "rtc_base/socket_server.h"
#include "rtc_base/test_echo_server.h"
#include "rtc_base/thread.h"
@@ -40,8 +40,8 @@
void TestUdpInternal(const SocketAddress& loopback) {
Thread* main = Thread::Current();
- AsyncSocket* socket =
- main->socketserver()->CreateAsyncSocket(loopback.family(), SOCK_DGRAM);
+ Socket* socket =
+ main->socketserver()->CreateSocket(loopback.family(), SOCK_DGRAM);
socket->Bind(loopback);
TestClient client(std::make_unique<AsyncUDPSocket>(socket));
@@ -56,8 +56,8 @@
Thread* main = Thread::Current();
TestEchoServer server(main, loopback);
- AsyncSocket* socket =
- main->socketserver()->CreateAsyncSocket(loopback.family(), SOCK_STREAM);
+ Socket* socket =
+ main->socketserver()->CreateSocket(loopback.family(), SOCK_STREAM);
std::unique_ptr<AsyncTCPSocket> tcp_socket = absl::WrapUnique(
AsyncTCPSocket::Create(socket, loopback, server.address()));
ASSERT_TRUE(tcp_socket != nullptr);
diff --git a/rtc_base/test_echo_server.cc b/rtc_base/test_echo_server.cc
index d2e11d6..feda4cd 100644
--- a/rtc_base/test_echo_server.cc
+++ b/rtc_base/test_echo_server.cc
@@ -15,8 +15,8 @@
namespace rtc {
TestEchoServer::TestEchoServer(Thread* thread, const SocketAddress& addr)
- : server_socket_(thread->socketserver()->CreateAsyncSocket(addr.family(),
- SOCK_STREAM)) {
+ : server_socket_(
+ thread->socketserver()->CreateSocket(addr.family(), SOCK_STREAM)) {
server_socket_->Bind(addr);
server_socket_->Listen(5);
server_socket_->SignalReadEvent.connect(this, &TestEchoServer::OnAccept);
diff --git a/rtc_base/test_echo_server.h b/rtc_base/test_echo_server.h
index da40ac4..6fdfc24 100644
--- a/rtc_base/test_echo_server.h
+++ b/rtc_base/test_echo_server.h
@@ -19,9 +19,9 @@
#include "absl/algorithm/container.h"
#include "rtc_base/async_packet_socket.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/async_tcp_socket.h"
#include "rtc_base/constructor_magic.h"
+#include "rtc_base/socket.h"
#include "rtc_base/socket_address.h"
#include "rtc_base/third_party/sigslot/sigslot.h"
#include "rtc_base/thread.h"
@@ -38,8 +38,8 @@
SocketAddress address() const { return server_socket_->GetLocalAddress(); }
private:
- void OnAccept(AsyncSocket* socket) {
- AsyncSocket* raw_socket = socket->Accept(nullptr);
+ void OnAccept(Socket* socket) {
+ Socket* raw_socket = socket->Accept(nullptr);
if (raw_socket) {
AsyncTCPSocket* packet_socket = new AsyncTCPSocket(raw_socket, false);
packet_socket->SignalReadPacket.connect(this, &TestEchoServer::OnPacket);
@@ -62,7 +62,7 @@
}
typedef std::list<AsyncTCPSocket*> ClientList;
- std::unique_ptr<AsyncSocket> server_socket_;
+ std::unique_ptr<Socket> server_socket_;
ClientList client_sockets_;
RTC_DISALLOW_COPY_AND_ASSIGN(TestEchoServer);
};
diff --git a/rtc_base/test_utils.h b/rtc_base/test_utils.h
index 7068e73..3f877fc 100644
--- a/rtc_base/test_utils.h
+++ b/rtc_base/test_utils.h
@@ -16,14 +16,14 @@
#include <map>
#include <utility>
-#include "rtc_base/async_socket.h"
+#include "rtc_base/socket.h"
#include "rtc_base/third_party/sigslot/sigslot.h"
namespace webrtc {
namespace testing {
///////////////////////////////////////////////////////////////////////////////
-// StreamSink - Monitor asynchronously signalled events from AsyncSocket.
+// StreamSink - Monitor asynchronously signalled events from Socket.
///////////////////////////////////////////////////////////////////////////////
// Note: Any event that is an error is treated as SSE_ERROR instead of that
@@ -42,7 +42,7 @@
StreamSink();
~StreamSink() override;
- void Monitor(rtc::AsyncSocket* socket) {
+ void Monitor(rtc::Socket* socket) {
socket->SignalConnectEvent.connect(this, &StreamSink::OnConnectEvent);
socket->SignalReadEvent.connect(this, &StreamSink::OnReadEvent);
socket->SignalWriteEvent.connect(this, &StreamSink::OnWriteEvent);
@@ -50,30 +50,28 @@
// In case you forgot to unmonitor a previous object with this address
events_.erase(socket);
}
- void Unmonitor(rtc::AsyncSocket* socket) {
+ void Unmonitor(rtc::Socket* socket) {
socket->SignalConnectEvent.disconnect(this);
socket->SignalReadEvent.disconnect(this);
socket->SignalWriteEvent.disconnect(this);
socket->SignalCloseEvent.disconnect(this);
events_.erase(socket);
}
- bool Check(rtc::AsyncSocket* socket,
- StreamSinkEvent event,
- bool reset = true) {
+ bool Check(rtc::Socket* socket, StreamSinkEvent event, bool reset = true) {
return DoCheck(socket, event, reset);
}
private:
- typedef std::map<rtc::AsyncSocket*, int> EventMap;
+ typedef std::map<rtc::Socket*, int> EventMap;
- void OnConnectEvent(rtc::AsyncSocket* socket) { AddEvents(socket, SSE_OPEN); }
- void OnReadEvent(rtc::AsyncSocket* socket) { AddEvents(socket, SSE_READ); }
- void OnWriteEvent(rtc::AsyncSocket* socket) { AddEvents(socket, SSE_WRITE); }
- void OnCloseEvent(rtc::AsyncSocket* socket, int error) {
+ void OnConnectEvent(rtc::Socket* socket) { AddEvents(socket, SSE_OPEN); }
+ void OnReadEvent(rtc::Socket* socket) { AddEvents(socket, SSE_READ); }
+ void OnWriteEvent(rtc::Socket* socket) { AddEvents(socket, SSE_WRITE); }
+ void OnCloseEvent(rtc::Socket* socket, int error) {
AddEvents(socket, (0 == error) ? SSE_CLOSE : SSE_ERROR);
}
- void AddEvents(rtc::AsyncSocket* obj, int events) {
+ void AddEvents(rtc::Socket* obj, int events) {
EventMap::iterator it = events_.find(obj);
if (events_.end() == it) {
events_.insert(EventMap::value_type(obj, events));
@@ -81,7 +79,7 @@
it->second |= events;
}
}
- bool DoCheck(rtc::AsyncSocket* obj, StreamSinkEvent event, bool reset) {
+ bool DoCheck(rtc::Socket* obj, StreamSinkEvent event, bool reset) {
EventMap::iterator it = events_.find(obj);
if ((events_.end() == it) || (0 == (it->second & event))) {
return false;
diff --git a/rtc_base/thread_unittest.cc b/rtc_base/thread_unittest.cc
index 6c1253a..430db3d 100644
--- a/rtc_base/thread_unittest.cc
+++ b/rtc_base/thread_unittest.cc
@@ -64,7 +64,7 @@
// Receives on a socket and sends by posting messages.
class SocketClient : public TestGenerator, public sigslot::has_slots<> {
public:
- SocketClient(AsyncSocket* socket,
+ SocketClient(Socket* socket,
const SocketAddress& addr,
Thread* post_thread,
MessageHandler* phandler)
@@ -221,14 +221,13 @@
// Create the messaging client on its own thread.
auto th1 = Thread::CreateWithSocketServer();
- Socket* socket =
- th1->socketserver()->CreateAsyncSocket(addr.family(), SOCK_DGRAM);
+ Socket* socket = th1->socketserver()->CreateSocket(addr.family(), SOCK_DGRAM);
MessageClient msg_client(th1.get(), socket);
// Create the socket client on its own thread.
auto th2 = Thread::CreateWithSocketServer();
- AsyncSocket* asocket =
- th2->socketserver()->CreateAsyncSocket(addr.family(), SOCK_DGRAM);
+ Socket* asocket =
+ th2->socketserver()->CreateSocket(addr.family(), SOCK_DGRAM);
SocketClient sock_client(asocket, addr, th1.get(), &msg_client);
socket->Connect(sock_client.address());
diff --git a/rtc_base/virtual_socket_server.cc b/rtc_base/virtual_socket_server.cc
index 77d6174..8e97c0f 100644
--- a/rtc_base/virtual_socket_server.cc
+++ b/rtc_base/virtual_socket_server.cc
@@ -614,10 +614,6 @@
return CreateSocketInternal(family, type);
}
-AsyncSocket* VirtualSocketServer::CreateAsyncSocket(int family, int type) {
- return CreateSocketInternal(family, type);
-}
-
VirtualSocket* VirtualSocketServer::CreateSocketInternal(int family, int type) {
return new VirtualSocket(this, family, type, true);
}
diff --git a/rtc_base/virtual_socket_server.h b/rtc_base/virtual_socket_server.h
index af86991..dafab54 100644
--- a/rtc_base/virtual_socket_server.h
+++ b/rtc_base/virtual_socket_server.h
@@ -116,7 +116,6 @@
// SocketFactory:
Socket* CreateSocket(int family, int type) override;
- AsyncSocket* CreateAsyncSocket(int family, int type) override;
// SocketServer:
void SetMessageQueue(Thread* queue) override;
@@ -326,7 +325,7 @@
// Implements the socket interface using the virtual network. Packets are
// passed as messages using the message queue of the socket server.
-class VirtualSocket : public AsyncSocket,
+class VirtualSocket : public Socket,
public MessageHandler,
public sigslot::has_slots<> {
public:
diff --git a/rtc_base/virtual_socket_unittest.cc b/rtc_base/virtual_socket_unittest.cc
index 96a359d..44e7288 100644
--- a/rtc_base/virtual_socket_unittest.cc
+++ b/rtc_base/virtual_socket_unittest.cc
@@ -24,7 +24,6 @@
#include "absl/memory/memory.h"
#include "rtc_base/arraysize.h"
#include "rtc_base/async_packet_socket.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/async_udp_socket.h"
#include "rtc_base/fake_clock.h"
#include "rtc_base/gunit.h"
@@ -54,7 +53,7 @@
// Sends at a constant rate but with random packet sizes.
struct Sender : public MessageHandlerAutoCleanup {
- Sender(Thread* th, AsyncSocket* s, uint32_t rt)
+ Sender(Thread* th, Socket* s, uint32_t rt)
: thread(th),
socket(std::make_unique<AsyncUDPSocket>(s)),
done(false),
@@ -101,7 +100,7 @@
struct Receiver : public MessageHandlerAutoCleanup,
public sigslot::has_slots<> {
- Receiver(Thread* th, AsyncSocket* s, uint32_t bw)
+ Receiver(Thread* th, Socket* s, uint32_t bw)
: thread(th),
socket(std::make_unique<AsyncUDPSocket>(s)),
bandwidth(bw),
@@ -196,8 +195,7 @@
ss_.SetDefaultRoute(default_route);
// Create client1 bound to the any address.
- AsyncSocket* socket =
- ss_.CreateAsyncSocket(default_route.family(), SOCK_DGRAM);
+ Socket* socket = ss_.CreateSocket(default_route.family(), SOCK_DGRAM);
socket->Bind(EmptySocketAddressWithFamily(default_route.family()));
SocketAddress client1_any_addr = socket->GetLocalAddress();
EXPECT_TRUE(client1_any_addr.IsAnyIP());
@@ -205,8 +203,7 @@
std::make_unique<AsyncUDPSocket>(socket), &fake_clock_);
// Create client2 bound to the default route.
- AsyncSocket* socket2 =
- ss_.CreateAsyncSocket(default_route.family(), SOCK_DGRAM);
+ Socket* socket2 = ss_.CreateSocket(default_route.family(), SOCK_DGRAM);
socket2->Bind(SocketAddress(default_route, 0));
SocketAddress client2_addr = socket2->GetLocalAddress();
EXPECT_FALSE(client2_addr.IsAnyIP());
@@ -227,8 +224,7 @@
}
void BasicTest(const SocketAddress& initial_addr) {
- AsyncSocket* socket =
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_DGRAM);
+ Socket* socket = ss_.CreateSocket(initial_addr.family(), SOCK_DGRAM);
socket->Bind(initial_addr);
SocketAddress server_addr = socket->GetLocalAddress();
// Make sure VSS didn't switch families on us.
@@ -236,8 +232,7 @@
auto client1 = std::make_unique<TestClient>(
std::make_unique<AsyncUDPSocket>(socket), &fake_clock_);
- AsyncSocket* socket2 =
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_DGRAM);
+ Socket* socket2 = ss_.CreateSocket(initial_addr.family(), SOCK_DGRAM);
auto client2 = std::make_unique<TestClient>(
std::make_unique<AsyncUDPSocket>(socket2), &fake_clock_);
@@ -278,21 +273,21 @@
EmptySocketAddressWithFamily(initial_addr.family());
// Create client
- std::unique_ptr<AsyncSocket> client = absl::WrapUnique(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client =
+ absl::WrapUnique(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(client.get());
- EXPECT_EQ(client->GetState(), AsyncSocket::CS_CLOSED);
+ EXPECT_EQ(client->GetState(), Socket::CS_CLOSED);
EXPECT_TRUE(client->GetLocalAddress().IsNil());
// Create server
- std::unique_ptr<AsyncSocket> server = absl::WrapUnique(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server =
+ absl::WrapUnique(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_NE(0, server->Listen(5)); // Bind required
EXPECT_EQ(0, server->Bind(initial_addr));
EXPECT_EQ(server->GetLocalAddress().family(), initial_addr.family());
EXPECT_EQ(0, server->Listen(5));
- EXPECT_EQ(server->GetState(), AsyncSocket::CS_CONNECTING);
+ EXPECT_EQ(server->GetState(), Socket::CS_CONNECTING);
// No pending server connections
EXPECT_FALSE(sink.Check(server.get(), SSE_READ));
@@ -306,14 +301,14 @@
EXPECT_NE(client->GetLocalAddress(), server->GetLocalAddress());
// Client is connecting
- EXPECT_EQ(client->GetState(), AsyncSocket::CS_CONNECTING);
+ EXPECT_EQ(client->GetState(), Socket::CS_CONNECTING);
EXPECT_FALSE(sink.Check(client.get(), SSE_OPEN));
EXPECT_FALSE(sink.Check(client.get(), SSE_CLOSE));
ss_.ProcessMessagesUntilIdle();
// Client still connecting
- EXPECT_EQ(client->GetState(), AsyncSocket::CS_CONNECTING);
+ EXPECT_EQ(client->GetState(), Socket::CS_CONNECTING);
EXPECT_FALSE(sink.Check(client.get(), SSE_OPEN));
EXPECT_FALSE(sink.Check(client.get(), SSE_CLOSE));
@@ -325,14 +320,14 @@
EXPECT_NE(accept_addr, kEmptyAddr);
EXPECT_EQ(accepted->GetRemoteAddress(), accept_addr);
- EXPECT_EQ(accepted->GetState(), AsyncSocket::CS_CONNECTED);
+ EXPECT_EQ(accepted->GetState(), Socket::CS_CONNECTED);
EXPECT_EQ(accepted->GetLocalAddress(), server->GetLocalAddress());
EXPECT_EQ(accepted->GetRemoteAddress(), client->GetLocalAddress());
ss_.ProcessMessagesUntilIdle();
// Client has connected
- EXPECT_EQ(client->GetState(), AsyncSocket::CS_CONNECTED);
+ EXPECT_EQ(client->GetState(), Socket::CS_CONNECTED);
EXPECT_TRUE(sink.Check(client.get(), SSE_OPEN));
EXPECT_FALSE(sink.Check(client.get(), SSE_CLOSE));
EXPECT_EQ(client->GetRemoteAddress(), server->GetLocalAddress());
@@ -347,13 +342,13 @@
EmptySocketAddressWithFamily(initial_addr.family());
// Create client
- std::unique_ptr<AsyncSocket> client = absl::WrapUnique(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client =
+ absl::WrapUnique(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(client.get());
// Create server
- std::unique_ptr<AsyncSocket> server = absl::WrapUnique(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server =
+ absl::WrapUnique(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(server.get());
EXPECT_EQ(0, server->Bind(initial_addr));
EXPECT_EQ(server->GetLocalAddress().family(), initial_addr.family());
@@ -368,7 +363,7 @@
EXPECT_EQ(accept_addr, nil_addr);
// Connection failed
- EXPECT_EQ(client->GetState(), AsyncSocket::CS_CLOSED);
+ EXPECT_EQ(client->GetState(), Socket::CS_CLOSED);
EXPECT_FALSE(sink.Check(client.get(), SSE_OPEN));
EXPECT_TRUE(sink.Check(client.get(), SSE_ERROR));
EXPECT_EQ(client->GetRemoteAddress(), nil_addr);
@@ -381,11 +376,11 @@
EmptySocketAddressWithFamily(initial_addr.family());
// Create client and server
- std::unique_ptr<AsyncSocket> client(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client(
+ ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(client.get());
- std::unique_ptr<AsyncSocket> server(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server(
+ ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(server.get());
// Initiate connect
@@ -402,10 +397,10 @@
ss_.ProcessMessagesUntilIdle();
// Result: connection failed
- EXPECT_EQ(client->GetState(), AsyncSocket::CS_CLOSED);
+ EXPECT_EQ(client->GetState(), Socket::CS_CLOSED);
EXPECT_TRUE(sink.Check(client.get(), SSE_ERROR));
- server.reset(ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ server.reset(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(server.get());
// Initiate connect
@@ -424,11 +419,11 @@
ss_.ProcessMessagesUntilIdle();
// Result: connection failed
- EXPECT_EQ(client->GetState(), AsyncSocket::CS_CLOSED);
+ EXPECT_EQ(client->GetState(), Socket::CS_CLOSED);
EXPECT_TRUE(sink.Check(client.get(), SSE_ERROR));
// New server
- server.reset(ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ server.reset(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(server.get());
// Initiate connect
@@ -442,21 +437,21 @@
// Server accepts connection
EXPECT_TRUE(sink.Check(server.get(), SSE_READ));
- std::unique_ptr<AsyncSocket> accepted(server->Accept(&accept_addr));
+ std::unique_ptr<Socket> accepted(server->Accept(&accept_addr));
ASSERT_TRUE(nullptr != accepted.get());
sink.Monitor(accepted.get());
// Client closes before connection complets
- EXPECT_EQ(accepted->GetState(), AsyncSocket::CS_CONNECTED);
+ EXPECT_EQ(accepted->GetState(), Socket::CS_CONNECTED);
// Connected message has not been processed yet.
- EXPECT_EQ(client->GetState(), AsyncSocket::CS_CONNECTING);
+ EXPECT_EQ(client->GetState(), Socket::CS_CONNECTING);
client->Close();
ss_.ProcessMessagesUntilIdle();
// Result: accepted socket closes
- EXPECT_EQ(accepted->GetState(), AsyncSocket::CS_CLOSED);
+ EXPECT_EQ(accepted->GetState(), Socket::CS_CLOSED);
EXPECT_TRUE(sink.Check(accepted.get(), SSE_CLOSE));
EXPECT_FALSE(sink.Check(client.get(), SSE_CLOSE));
}
@@ -466,14 +461,14 @@
const SocketAddress kEmptyAddr;
// Create clients
- std::unique_ptr<AsyncSocket> a = absl::WrapUnique(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> a =
+ absl::WrapUnique(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(a.get());
a->Bind(initial_addr);
EXPECT_EQ(a->GetLocalAddress().family(), initial_addr.family());
- std::unique_ptr<AsyncSocket> b = absl::WrapUnique(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> b =
+ absl::WrapUnique(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(b.get());
b->Bind(initial_addr);
EXPECT_EQ(b->GetLocalAddress().family(), initial_addr.family());
@@ -484,11 +479,11 @@
ss_.ProcessMessagesUntilIdle();
EXPECT_TRUE(sink.Check(a.get(), SSE_OPEN));
- EXPECT_EQ(a->GetState(), AsyncSocket::CS_CONNECTED);
+ EXPECT_EQ(a->GetState(), Socket::CS_CONNECTED);
EXPECT_EQ(a->GetRemoteAddress(), b->GetLocalAddress());
EXPECT_TRUE(sink.Check(b.get(), SSE_OPEN));
- EXPECT_EQ(b->GetState(), AsyncSocket::CS_CONNECTED);
+ EXPECT_EQ(b->GetState(), Socket::CS_CONNECTED);
EXPECT_EQ(b->GetRemoteAddress(), a->GetLocalAddress());
EXPECT_EQ(1, a->Send("a", 1));
@@ -502,12 +497,12 @@
EXPECT_EQ(-1, b->Recv(buffer, 10, nullptr));
EXPECT_TRUE(sink.Check(a.get(), SSE_CLOSE));
- EXPECT_EQ(a->GetState(), AsyncSocket::CS_CLOSED);
+ EXPECT_EQ(a->GetState(), Socket::CS_CLOSED);
EXPECT_EQ(a->GetRemoteAddress(), kEmptyAddr);
// No signal for Closer
EXPECT_FALSE(sink.Check(b.get(), SSE_CLOSE));
- EXPECT_EQ(b->GetState(), AsyncSocket::CS_CLOSED);
+ EXPECT_EQ(b->GetState(), Socket::CS_CLOSED);
EXPECT_EQ(b->GetRemoteAddress(), kEmptyAddr);
}
@@ -516,14 +511,14 @@
const SocketAddress kEmptyAddr;
// Connect two sockets
- std::unique_ptr<AsyncSocket> a = absl::WrapUnique(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> a =
+ absl::WrapUnique(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(a.get());
a->Bind(initial_addr);
EXPECT_EQ(a->GetLocalAddress().family(), initial_addr.family());
- std::unique_ptr<AsyncSocket> b = absl::WrapUnique(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> b =
+ absl::WrapUnique(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
sink.Monitor(b.get());
b->Bind(initial_addr);
EXPECT_EQ(b->GetLocalAddress().family(), initial_addr.family());
@@ -638,10 +633,10 @@
const SocketAddress kEmptyAddr;
// Connect two sockets
- std::unique_ptr<AsyncSocket> a = absl::WrapUnique(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
- std::unique_ptr<AsyncSocket> b = absl::WrapUnique(
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> a =
+ absl::WrapUnique(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> b =
+ absl::WrapUnique(ss_.CreateSocket(initial_addr.family(), SOCK_STREAM));
a->Bind(initial_addr);
EXPECT_EQ(a->GetLocalAddress().family(), initial_addr.family());
@@ -692,10 +687,8 @@
// incremental port behavior could ensure the 2 Binds result in different
// address.
void BandwidthTest(const SocketAddress& initial_addr) {
- AsyncSocket* send_socket =
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_DGRAM);
- AsyncSocket* recv_socket =
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_DGRAM);
+ Socket* send_socket = ss_.CreateSocket(initial_addr.family(), SOCK_DGRAM);
+ Socket* recv_socket = ss_.CreateSocket(initial_addr.family(), SOCK_DGRAM);
ASSERT_EQ(0, send_socket->Bind(initial_addr));
ASSERT_EQ(0, recv_socket->Bind(initial_addr));
EXPECT_EQ(send_socket->GetLocalAddress().family(), initial_addr.family());
@@ -737,10 +730,8 @@
ss_.set_delay_stddev(stddev);
ss_.UpdateDelayDistribution();
- AsyncSocket* send_socket =
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_DGRAM);
- AsyncSocket* recv_socket =
- ss_.CreateAsyncSocket(initial_addr.family(), SOCK_DGRAM);
+ Socket* send_socket = ss_.CreateSocket(initial_addr.family(), SOCK_DGRAM);
+ Socket* recv_socket = ss_.CreateSocket(initial_addr.family(), SOCK_DGRAM);
ASSERT_EQ(0, send_socket->Bind(initial_addr));
ASSERT_EQ(0, recv_socket->Bind(initial_addr));
EXPECT_EQ(send_socket->GetLocalAddress().family(), initial_addr.family());
@@ -789,17 +780,17 @@
const SocketAddress kEmptyAddr;
// Client gets a IPv4 address
- std::unique_ptr<AsyncSocket> client = absl::WrapUnique(
- ss_.CreateAsyncSocket(client_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> client =
+ absl::WrapUnique(ss_.CreateSocket(client_addr.family(), SOCK_STREAM));
sink.Monitor(client.get());
- EXPECT_EQ(client->GetState(), AsyncSocket::CS_CLOSED);
+ EXPECT_EQ(client->GetState(), Socket::CS_CLOSED);
EXPECT_EQ(client->GetLocalAddress(), kEmptyAddr);
client->Bind(client_addr);
// Server gets a non-mapped non-any IPv6 address.
// IPv4 sockets should not be able to connect to this.
- std::unique_ptr<AsyncSocket> server = absl::WrapUnique(
- ss_.CreateAsyncSocket(server_addr.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> server =
+ absl::WrapUnique(ss_.CreateSocket(server_addr.family(), SOCK_STREAM));
sink.Monitor(server.get());
server->Bind(server_addr);
server->Listen(5);
@@ -823,7 +814,7 @@
EXPECT_FALSE(sink.Check(server.get(), SSE_READ));
EXPECT_TRUE(nullptr == server->Accept(&accept_address));
EXPECT_EQ(accept_address, kEmptyAddr);
- EXPECT_EQ(client->GetState(), AsyncSocket::CS_CLOSED);
+ EXPECT_EQ(client->GetState(), Socket::CS_CLOSED);
EXPECT_FALSE(sink.Check(client.get(), SSE_OPEN));
EXPECT_EQ(client->GetRemoteAddress(), kEmptyAddr);
}
@@ -835,13 +826,13 @@
void CrossFamilyDatagramTest(const SocketAddress& client_addr,
const SocketAddress& server_addr,
bool shouldSucceed) {
- AsyncSocket* socket = ss_.CreateAsyncSocket(AF_INET, SOCK_DGRAM);
+ Socket* socket = ss_.CreateSocket(AF_INET, SOCK_DGRAM);
socket->Bind(server_addr);
SocketAddress bound_server_addr = socket->GetLocalAddress();
auto client1 = std::make_unique<TestClient>(
std::make_unique<AsyncUDPSocket>(socket), &fake_clock_);
- AsyncSocket* socket2 = ss_.CreateAsyncSocket(AF_INET, SOCK_DGRAM);
+ Socket* socket2 = ss_.CreateSocket(AF_INET, SOCK_DGRAM);
socket2->Bind(client_addr);
auto client2 = std::make_unique<TestClient>(
std::make_unique<AsyncUDPSocket>(socket2), &fake_clock_);
@@ -1043,10 +1034,9 @@
}
TEST_F(VirtualSocketServerTest, SetSendingBlockedWithUdpSocket) {
- AsyncSocket* socket1 =
- ss_.CreateAsyncSocket(kIPv4AnyAddress.family(), SOCK_DGRAM);
- std::unique_ptr<AsyncSocket> socket2 = absl::WrapUnique(
- ss_.CreateAsyncSocket(kIPv4AnyAddress.family(), SOCK_DGRAM));
+ Socket* socket1 = ss_.CreateSocket(kIPv4AnyAddress.family(), SOCK_DGRAM);
+ std::unique_ptr<Socket> socket2 =
+ absl::WrapUnique(ss_.CreateSocket(kIPv4AnyAddress.family(), SOCK_DGRAM));
socket1->Bind(kIPv4AnyAddress);
socket2->Bind(kIPv4AnyAddress);
auto client1 = std::make_unique<TestClient>(
@@ -1068,10 +1058,10 @@
ss_.set_recv_buffer_capacity(kBufferSize);
StreamSink sink;
- std::unique_ptr<AsyncSocket> socket1 = absl::WrapUnique(
- ss_.CreateAsyncSocket(kIPv4AnyAddress.family(), SOCK_STREAM));
- std::unique_ptr<AsyncSocket> socket2 = absl::WrapUnique(
- ss_.CreateAsyncSocket(kIPv4AnyAddress.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> socket1 =
+ absl::WrapUnique(ss_.CreateSocket(kIPv4AnyAddress.family(), SOCK_STREAM));
+ std::unique_ptr<Socket> socket2 =
+ absl::WrapUnique(ss_.CreateSocket(kIPv4AnyAddress.family(), SOCK_STREAM));
sink.Monitor(socket1.get());
sink.Monitor(socket2.get());
socket1->Bind(kIPv4AnyAddress);
diff --git a/rtc_base/win32_socket_server.cc b/rtc_base/win32_socket_server.cc
index cfe21a3..835d1a7 100644
--- a/rtc_base/win32_socket_server.cc
+++ b/rtc_base/win32_socket_server.cc
@@ -686,10 +686,6 @@
}
Socket* Win32SocketServer::CreateSocket(int family, int type) {
- return CreateAsyncSocket(family, type);
-}
-
-AsyncSocket* Win32SocketServer::CreateAsyncSocket(int family, int type) {
Win32Socket* socket = new Win32Socket;
if (socket->CreateT(family, type)) {
return socket;
diff --git a/rtc_base/win32_socket_server.h b/rtc_base/win32_socket_server.h
index 317acce..3e7d728 100644
--- a/rtc_base/win32_socket_server.h
+++ b/rtc_base/win32_socket_server.h
@@ -12,7 +12,6 @@
#define RTC_BASE_WIN32_SOCKET_SERVER_H_
#if defined(WEBRTC_WIN)
-#include "rtc_base/async_socket.h"
#include "rtc_base/socket.h"
#include "rtc_base/socket_factory.h"
#include "rtc_base/socket_server.h"
@@ -26,7 +25,7 @@
// Win32Socket
///////////////////////////////////////////////////////////////////////////////
-class Win32Socket : public AsyncSocket {
+class Win32Socket : public Socket {
public:
Win32Socket();
~Win32Socket() override;
@@ -36,7 +35,7 @@
int Attach(SOCKET s);
void SetTimeout(int ms);
- // AsyncSocket Interface
+ // Socket Interface
SocketAddress GetLocalAddress() const override;
SocketAddress GetRemoteAddress() const override;
int Bind(const SocketAddress& addr) override;
@@ -100,7 +99,6 @@
// SocketServer Interface
Socket* CreateSocket(int family, int type) override;
- AsyncSocket* CreateAsyncSocket(int family, int type) override;
void SetMessageQueue(Thread* queue) override;
bool Wait(int cms, bool process_io) override;
diff --git a/test/network/BUILD.gn b/test/network/BUILD.gn
index 1e39a3f..3836cc1 100644
--- a/test/network/BUILD.gn
+++ b/test/network/BUILD.gn
@@ -55,12 +55,12 @@
"../../call:simulated_network",
"../../p2p:p2p_server_utils",
"../../rtc_base",
- "../../rtc_base:async_socket",
"../../rtc_base:ip_address",
"../../rtc_base:network_constants",
"../../rtc_base:rtc_base_tests_utils",
"../../rtc_base:rtc_task_queue",
"../../rtc_base:safe_minmax",
+ "../../rtc_base:socket",
"../../rtc_base:socket_address",
"../../rtc_base:socket_server",
"../../rtc_base:stringutils",
diff --git a/test/network/fake_network_socket_server.cc b/test/network/fake_network_socket_server.cc
index 41200ad..9597edb 100644
--- a/test/network/fake_network_socket_server.cc
+++ b/test/network/fake_network_socket_server.cc
@@ -32,7 +32,7 @@
} // namespace
// Represents a socket, which will operate with emulated network.
-class FakeNetworkSocket : public rtc::AsyncSocket,
+class FakeNetworkSocket : public rtc::Socket,
public EmulatedNetworkReceiverInterface {
public:
explicit FakeNetworkSocket(FakeNetworkSocketServer* scoket_manager,
@@ -58,7 +58,7 @@
rtc::SocketAddress* paddr,
int64_t* timestamp) override;
int Listen(int backlog) override;
- rtc::AsyncSocket* Accept(rtc::SocketAddress* paddr) override;
+ rtc::Socket* Accept(rtc::SocketAddress* paddr) override;
int GetError() const override;
void SetError(int error) override;
ConnState GetState() const override;
@@ -223,7 +223,7 @@
RTC_CHECK(false) << "Listen() isn't valid for SOCK_DGRAM";
}
-rtc::AsyncSocket* FakeNetworkSocket::Accept(rtc::SocketAddress* /*paddr*/) {
+rtc::Socket* FakeNetworkSocket::Accept(rtc::SocketAddress* /*paddr*/) {
RTC_CHECK(false) << "Accept() isn't valid for SOCK_DGRAM";
}
@@ -249,7 +249,7 @@
error_ = error;
}
-rtc::AsyncSocket::ConnState FakeNetworkSocket::GetState() const {
+rtc::Socket::ConnState FakeNetworkSocket::GetState() const {
RTC_DCHECK_RUN_ON(thread_);
return state_;
}
@@ -286,13 +286,7 @@
sockets_.erase(absl::c_find(sockets_, socket));
}
-rtc::Socket* FakeNetworkSocketServer::CreateSocket(int /*family*/,
- int /*type*/) {
- RTC_CHECK(false) << "Only async sockets are supported";
-}
-
-rtc::AsyncSocket* FakeNetworkSocketServer::CreateAsyncSocket(int family,
- int type) {
+rtc::Socket* FakeNetworkSocketServer::CreateSocket(int family, int type) {
RTC_DCHECK(family == AF_INET || family == AF_INET6);
// We support only UDP sockets for now.
RTC_DCHECK(type == SOCK_DGRAM) << "Only UDP sockets are supported";
diff --git a/test/network/fake_network_socket_server.h b/test/network/fake_network_socket_server.h
index d8be2e2..5b23a01 100644
--- a/test/network/fake_network_socket_server.h
+++ b/test/network/fake_network_socket_server.h
@@ -15,8 +15,8 @@
#include <vector>
#include "api/units/timestamp.h"
-#include "rtc_base/async_socket.h"
#include "rtc_base/event.h"
+#include "rtc_base/socket.h"
#include "rtc_base/socket_server.h"
#include "rtc_base/synchronization/mutex.h"
#include "system_wrappers/include/clock.h"
@@ -35,7 +35,6 @@
// rtc::SocketFactory methods:
rtc::Socket* CreateSocket(int family, int type) override;
- rtc::AsyncSocket* CreateAsyncSocket(int family, int type) override;
// rtc::SocketServer methods:
// Called by the network thread when this server is installed, kicking off the
diff --git a/test/network/network_emulation_unittest.cc b/test/network/network_emulation_unittest.cc
index fca10c4..7848a11 100644
--- a/test/network/network_emulation_unittest.cc
+++ b/test/network/network_emulation_unittest.cc
@@ -36,7 +36,7 @@
class SocketReader : public sigslot::has_slots<> {
public:
- explicit SocketReader(rtc::AsyncSocket* socket, rtc::Thread* network_thread)
+ explicit SocketReader(rtc::Socket* socket, rtc::Thread* network_thread)
: socket_(socket), network_thread_(network_thread) {
socket_->SignalReadEvent.connect(this, &SocketReader::OnReadEvent);
size_ = 128 * 1024;
@@ -44,7 +44,7 @@
}
~SocketReader() override { delete[] buf_; }
- void OnReadEvent(rtc::AsyncSocket* socket) {
+ void OnReadEvent(rtc::Socket* socket) {
RTC_DCHECK(socket_ == socket);
RTC_DCHECK(network_thread_->IsCurrent());
int64_t timestamp;
@@ -60,7 +60,7 @@
}
private:
- rtc::AsyncSocket* const socket_;
+ rtc::Socket* const socket_;
rtc::Thread* const network_thread_;
char* buf_;
size_t size_;
@@ -207,13 +207,13 @@
rtc::CopyOnWriteBuffer data("Hello");
for (uint64_t j = 0; j < 2; j++) {
- rtc::AsyncSocket* s1 = nullptr;
- rtc::AsyncSocket* s2 = nullptr;
+ rtc::Socket* s1 = nullptr;
+ rtc::Socket* s2 = nullptr;
t1->Invoke<void>(RTC_FROM_HERE, [&] {
- s1 = t1->socketserver()->CreateAsyncSocket(AF_INET, SOCK_DGRAM);
+ s1 = t1->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
});
t2->Invoke<void>(RTC_FROM_HERE, [&] {
- s2 = t2->socketserver()->CreateAsyncSocket(AF_INET, SOCK_DGRAM);
+ s2 = t2->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
});
SocketReader r1(s1, t1);
@@ -363,13 +363,13 @@
rtc::CopyOnWriteBuffer data("Hello");
for (uint64_t j = 0; j < 2; j++) {
- rtc::AsyncSocket* s1 = nullptr;
- rtc::AsyncSocket* s2 = nullptr;
+ rtc::Socket* s1 = nullptr;
+ rtc::Socket* s2 = nullptr;
t1->Invoke<void>(RTC_FROM_HERE, [&] {
- s1 = t1->socketserver()->CreateAsyncSocket(AF_INET, SOCK_DGRAM);
+ s1 = t1->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
});
t2->Invoke<void>(RTC_FROM_HERE, [&] {
- s2 = t2->socketserver()->CreateAsyncSocket(AF_INET, SOCK_DGRAM);
+ s2 = t2->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
});
SocketReader r1(s1, t1);
@@ -467,13 +467,13 @@
constexpr int64_t kSinglePacketSize = kUdpPayloadSize + kOverheadIpv4Udp;
rtc::CopyOnWriteBuffer data(kUdpPayloadSize);
- rtc::AsyncSocket* s1 = nullptr;
- rtc::AsyncSocket* s2 = nullptr;
+ rtc::Socket* s1 = nullptr;
+ rtc::Socket* s2 = nullptr;
t1->Invoke<void>(RTC_FROM_HERE, [&] {
- s1 = t1->socketserver()->CreateAsyncSocket(AF_INET, SOCK_DGRAM);
+ s1 = t1->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
});
t2->Invoke<void>(RTC_FROM_HERE, [&] {
- s2 = t2->socketserver()->CreateAsyncSocket(AF_INET, SOCK_DGRAM);
+ s2 = t2->socketserver()->CreateSocket(AF_INET, SOCK_DGRAM);
});
SocketReader r1(s1, t1);
diff --git a/test/run_loop.cc b/test/run_loop.cc
index 643da5d..49ab0ee 100644
--- a/test/run_loop.cc
+++ b/test/run_loop.cc
@@ -61,11 +61,6 @@
return nullptr;
}
-rtc::AsyncSocket* RunLoop::FakeSocketServer::CreateAsyncSocket(int family,
- int type) {
- return nullptr;
-}
-
RunLoop::WorkerThread::WorkerThread(rtc::SocketServer* ss)
: rtc::Thread(ss), tq_setter_(this) {}
diff --git a/test/run_loop.h b/test/run_loop.h
index f350b2c..9a91d44 100644
--- a/test/run_loop.h
+++ b/test/run_loop.h
@@ -56,7 +56,6 @@
void WakeUp() override;
rtc::Socket* CreateSocket(int family, int type) override;
- rtc::AsyncSocket* CreateAsyncSocket(int family, int type) override;
private:
bool fail_next_wait_ = false;
diff --git a/test/time_controller/simulated_thread.cc b/test/time_controller/simulated_thread.cc
index aa8b9ac..73a52b2 100644
--- a/test/time_controller/simulated_thread.cc
+++ b/test/time_controller/simulated_thread.cc
@@ -26,10 +26,6 @@
RTC_NOTREACHED();
return nullptr;
}
- rtc::AsyncSocket* CreateAsyncSocket(int family, int type) override {
- RTC_NOTREACHED();
- return nullptr;
- }
bool Wait(int cms, bool process_io) override {
RTC_CHECK_EQ(cms, 0);
return true;