refactor: Make IArchNetwork::EAddressFamily enum class IArchNetwork::AddressFamily
confirm AddressFamily items to naming convention
This commit is contained in:
committed by
Chris Rizzitello
parent
cbbfd495e3
commit
879283f46f
@ -53,11 +53,11 @@ class IArchNetwork : public IInterface
|
||||
{
|
||||
public:
|
||||
//! Supported address families
|
||||
enum EAddressFamily
|
||||
enum class AddressFamily : uint8_t
|
||||
{
|
||||
kUNKNOWN,
|
||||
kINET,
|
||||
kINET6,
|
||||
Unknown,
|
||||
INet,
|
||||
INet6
|
||||
};
|
||||
|
||||
//! Supported socket types
|
||||
@ -105,7 +105,7 @@ public:
|
||||
/*!
|
||||
The socket is an opaque data type.
|
||||
*/
|
||||
virtual ArchSocket newSocket(EAddressFamily, ESocketType) = 0;
|
||||
virtual ArchSocket newSocket(AddressFamily, ESocketType) = 0;
|
||||
|
||||
//! Copy a socket object
|
||||
/*!
|
||||
@ -236,7 +236,7 @@ public:
|
||||
virtual std::string getHostName() = 0;
|
||||
|
||||
//! Create an "any" network address
|
||||
virtual ArchNetAddress newAnyAddr(EAddressFamily) = 0;
|
||||
virtual ArchNetAddress newAnyAddr(AddressFamily) = 0;
|
||||
|
||||
//! Copy a network address
|
||||
virtual ArchNetAddress copyAddr(ArchNetAddress) = 0;
|
||||
@ -254,7 +254,7 @@ public:
|
||||
virtual std::string addrToString(ArchNetAddress) = 0;
|
||||
|
||||
//! Get an address's family
|
||||
virtual EAddressFamily getAddrFamily(ArchNetAddress) = 0;
|
||||
virtual AddressFamily getAddrFamily(ArchNetAddress) = 0;
|
||||
|
||||
//! Set the port of an address
|
||||
virtual void setAddrPort(ArchNetAddress, int port) = 0;
|
||||
|
||||
@ -95,10 +95,10 @@ void ArchNetworkBSD::init()
|
||||
// do nothing
|
||||
}
|
||||
|
||||
ArchSocket ArchNetworkBSD::newSocket(EAddressFamily family, ESocketType type)
|
||||
ArchSocket ArchNetworkBSD::newSocket(AddressFamily family, ESocketType type)
|
||||
{
|
||||
// create socket
|
||||
int fd = socket(s_family[family], s_type[type], 0);
|
||||
int fd = socket(s_family[static_cast<int>(family)], s_type[type], 0);
|
||||
if (fd == -1) {
|
||||
throwError(errno);
|
||||
}
|
||||
@ -469,14 +469,16 @@ std::string ArchNetworkBSD::getHostName()
|
||||
return name;
|
||||
}
|
||||
|
||||
ArchNetAddress ArchNetworkBSD::newAnyAddr(EAddressFamily family)
|
||||
ArchNetAddress ArchNetworkBSD::newAnyAddr(AddressFamily family)
|
||||
{
|
||||
using enum AddressFamily;
|
||||
|
||||
// allocate address
|
||||
auto *addr = new ArchNetAddressImpl;
|
||||
|
||||
// fill it in
|
||||
switch (family) {
|
||||
case kINET: {
|
||||
case INet: {
|
||||
auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
|
||||
ipAddr->sin_family = AF_INET;
|
||||
ipAddr->sin_port = 0;
|
||||
@ -485,7 +487,7 @@ ArchNetAddress ArchNetworkBSD::newAnyAddr(EAddressFamily family)
|
||||
break;
|
||||
}
|
||||
|
||||
case kINET6: {
|
||||
case INet6: {
|
||||
auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
|
||||
ipAddr->sin6_family = AF_INET6;
|
||||
ipAddr->sin6_port = 0;
|
||||
@ -583,17 +585,19 @@ std::string ArchNetworkBSD::addrToName(ArchNetAddress addr)
|
||||
|
||||
std::string ArchNetworkBSD::addrToString(ArchNetAddress addr)
|
||||
{
|
||||
using enum AddressFamily;
|
||||
|
||||
assert(addr != nullptr);
|
||||
|
||||
switch (getAddrFamily(addr)) {
|
||||
case kINET: {
|
||||
case INet: {
|
||||
const auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
|
||||
std::scoped_lock lock{m_mutex};
|
||||
std::string s = inet_ntoa(ipAddr->sin_addr);
|
||||
return s;
|
||||
}
|
||||
|
||||
case kINET6: {
|
||||
case INet6: {
|
||||
char strAddr[INET6_ADDRSTRLEN];
|
||||
const auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
|
||||
{
|
||||
@ -609,33 +613,37 @@ std::string ArchNetworkBSD::addrToString(ArchNetAddress addr)
|
||||
}
|
||||
}
|
||||
|
||||
IArchNetwork::EAddressFamily ArchNetworkBSD::getAddrFamily(ArchNetAddress addr)
|
||||
IArchNetwork::AddressFamily ArchNetworkBSD::getAddrFamily(ArchNetAddress addr)
|
||||
{
|
||||
using enum AddressFamily;
|
||||
|
||||
assert(addr != nullptr);
|
||||
|
||||
switch (addr->m_addr.ss_family) {
|
||||
case AF_INET:
|
||||
return kINET;
|
||||
return INet;
|
||||
case AF_INET6:
|
||||
return kINET6;
|
||||
return INet6;
|
||||
|
||||
default:
|
||||
return kUNKNOWN;
|
||||
return Unknown;
|
||||
}
|
||||
}
|
||||
|
||||
void ArchNetworkBSD::setAddrPort(ArchNetAddress addr, int port)
|
||||
{
|
||||
using enum AddressFamily;
|
||||
|
||||
assert(addr != nullptr);
|
||||
|
||||
switch (getAddrFamily(addr)) {
|
||||
case kINET: {
|
||||
case INet: {
|
||||
auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
|
||||
ipAddr->sin_port = htons(port);
|
||||
break;
|
||||
}
|
||||
|
||||
case kINET6: {
|
||||
case INet6: {
|
||||
auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
|
||||
ipAddr->sin6_port = htons(port);
|
||||
break;
|
||||
@ -649,15 +657,17 @@ void ArchNetworkBSD::setAddrPort(ArchNetAddress addr, int port)
|
||||
|
||||
int ArchNetworkBSD::getAddrPort(ArchNetAddress addr)
|
||||
{
|
||||
using enum AddressFamily;
|
||||
|
||||
assert(addr != nullptr);
|
||||
|
||||
switch (getAddrFamily(addr)) {
|
||||
case kINET: {
|
||||
case INet: {
|
||||
const auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
|
||||
return ntohs(ipAddr->sin_port);
|
||||
}
|
||||
|
||||
case kINET6: {
|
||||
case INet6: {
|
||||
const auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
|
||||
return ntohs(ipAddr->sin6_port);
|
||||
}
|
||||
@ -670,15 +680,17 @@ int ArchNetworkBSD::getAddrPort(ArchNetAddress addr)
|
||||
|
||||
bool ArchNetworkBSD::isAnyAddr(ArchNetAddress addr)
|
||||
{
|
||||
using enum AddressFamily;
|
||||
|
||||
assert(addr != nullptr);
|
||||
|
||||
switch (getAddrFamily(addr)) {
|
||||
case kINET: {
|
||||
case INet: {
|
||||
const auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
|
||||
return (ipAddr->sin_addr.s_addr == INADDR_ANY && addr->m_len == static_cast<socklen_t>(sizeof(struct sockaddr_in)));
|
||||
}
|
||||
|
||||
case kINET6: {
|
||||
case INet6: {
|
||||
const auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
|
||||
return (
|
||||
addr->m_len == (socklen_t)sizeof(struct sockaddr_in6) &&
|
||||
|
||||
@ -71,7 +71,7 @@ public:
|
||||
void init() override;
|
||||
|
||||
// IArchNetwork overrides
|
||||
ArchSocket newSocket(EAddressFamily, ESocketType) override;
|
||||
ArchSocket newSocket(AddressFamily, ESocketType) override;
|
||||
ArchSocket copySocket(ArchSocket s) override;
|
||||
void closeSocket(ArchSocket s) override;
|
||||
void closeSocketForRead(ArchSocket s) override;
|
||||
@ -88,13 +88,13 @@ public:
|
||||
bool setNoDelayOnSocket(ArchSocket, bool noDelay) override;
|
||||
bool setReuseAddrOnSocket(ArchSocket, bool reuse) override;
|
||||
std::string getHostName() override;
|
||||
ArchNetAddress newAnyAddr(EAddressFamily) override;
|
||||
ArchNetAddress newAnyAddr(AddressFamily) override;
|
||||
ArchNetAddress copyAddr(ArchNetAddress) override;
|
||||
std::vector<ArchNetAddress> nameToAddr(const std::string &) override;
|
||||
void closeAddr(ArchNetAddress) override;
|
||||
std::string addrToName(ArchNetAddress) override;
|
||||
std::string addrToString(ArchNetAddress) override;
|
||||
EAddressFamily getAddrFamily(ArchNetAddress) override;
|
||||
AddressFamily getAddrFamily(ArchNetAddress) override;
|
||||
void setAddrPort(ArchNetAddress, int port) override;
|
||||
int getAddrPort(ArchNetAddress) override;
|
||||
bool isAnyAddr(ArchNetAddress) override;
|
||||
|
||||
@ -192,10 +192,10 @@ void ArchNetworkWinsock::initModule(HMODULE module)
|
||||
s_networkModule = module;
|
||||
}
|
||||
|
||||
ArchSocket ArchNetworkWinsock::newSocket(EAddressFamily family, ESocketType type)
|
||||
ArchSocket ArchNetworkWinsock::newSocket(AddressFamily family, ESocketType type)
|
||||
{
|
||||
// create socket
|
||||
SOCKET fd = socket_winsock(s_family[family], s_type[type], 0);
|
||||
SOCKET fd = socket_winsock(s_family[static_cast<int>(family)], s_type[type], 0);
|
||||
if (fd == INVALID_SOCKET) {
|
||||
throwError(getsockerror_winsock());
|
||||
}
|
||||
@ -636,11 +636,11 @@ std::string ArchNetworkWinsock::getHostName()
|
||||
return name;
|
||||
}
|
||||
|
||||
ArchNetAddress ArchNetworkWinsock::newAnyAddr(EAddressFamily family)
|
||||
ArchNetAddress ArchNetworkWinsock::newAnyAddr(AddressFamily family)
|
||||
{
|
||||
ArchNetAddressImpl *addr = nullptr;
|
||||
switch (family) {
|
||||
case kINET: {
|
||||
case AddressFamily::INet: {
|
||||
addr = ArchNetAddressImpl::alloc(sizeof(struct sockaddr_in));
|
||||
struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
|
||||
ipAddr->sin_family = AF_INET;
|
||||
@ -649,7 +649,7 @@ ArchNetAddress ArchNetworkWinsock::newAnyAddr(EAddressFamily family)
|
||||
break;
|
||||
}
|
||||
|
||||
case kINET6: {
|
||||
case AddressFamily::INet6: {
|
||||
addr = ArchNetAddressImpl::alloc(sizeof(struct sockaddr_in6));
|
||||
struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
|
||||
ipAddr->sin6_family = AF_INET6;
|
||||
@ -734,12 +734,12 @@ std::string ArchNetworkWinsock::addrToString(ArchNetAddress addr)
|
||||
assert(addr != nullptr);
|
||||
|
||||
switch (getAddrFamily(addr)) {
|
||||
case kINET: {
|
||||
case AddressFamily::INet: {
|
||||
struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
|
||||
return inet_ntoa_winsock(ipAddr->sin_addr);
|
||||
}
|
||||
|
||||
case kINET6: {
|
||||
case AddressFamily::INet6: {
|
||||
char strAddr[INET6_ADDRSTRLEN];
|
||||
struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
|
||||
inet_ntop(AF_INET6, &ipAddr->sin6_addr, strAddr, INET6_ADDRSTRLEN);
|
||||
@ -752,19 +752,19 @@ std::string ArchNetworkWinsock::addrToString(ArchNetAddress addr)
|
||||
}
|
||||
}
|
||||
|
||||
IArchNetwork::EAddressFamily ArchNetworkWinsock::getAddrFamily(ArchNetAddress addr)
|
||||
IArchNetwork::AddressFamily ArchNetworkWinsock::getAddrFamily(ArchNetAddress addr)
|
||||
{
|
||||
assert(addr != nullptr);
|
||||
|
||||
switch (addr->m_addr.ss_family) {
|
||||
case AF_INET:
|
||||
return kINET;
|
||||
return AddressFamily::INet;
|
||||
|
||||
case AF_INET6:
|
||||
return kINET6;
|
||||
return AddressFamily::INet6;
|
||||
|
||||
default:
|
||||
return kUNKNOWN;
|
||||
return AddressFamily::Unknown;
|
||||
}
|
||||
}
|
||||
|
||||
@ -773,13 +773,13 @@ void ArchNetworkWinsock::setAddrPort(ArchNetAddress addr, int port)
|
||||
assert(addr != nullptr);
|
||||
|
||||
switch (getAddrFamily(addr)) {
|
||||
case kINET: {
|
||||
case AddressFamily::INet: {
|
||||
struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
|
||||
ipAddr->sin_port = htons_winsock(static_cast<u_short>(port));
|
||||
break;
|
||||
}
|
||||
|
||||
case kINET6: {
|
||||
case AddressFamily::INet6: {
|
||||
struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
|
||||
ipAddr->sin6_port = htons_winsock(static_cast<u_short>(port));
|
||||
break;
|
||||
@ -796,12 +796,12 @@ int ArchNetworkWinsock::getAddrPort(ArchNetAddress addr)
|
||||
assert(addr != nullptr);
|
||||
|
||||
switch (getAddrFamily(addr)) {
|
||||
case kINET: {
|
||||
case AddressFamily::INet: {
|
||||
struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
|
||||
return ntohs_winsock(ipAddr->sin_port);
|
||||
}
|
||||
|
||||
case kINET6: {
|
||||
case AddressFamily::INet6: {
|
||||
struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
|
||||
return ntohs_winsock(ipAddr->sin6_port);
|
||||
}
|
||||
@ -817,12 +817,12 @@ bool ArchNetworkWinsock::isAnyAddr(ArchNetAddress addr)
|
||||
assert(addr != nullptr);
|
||||
|
||||
switch (getAddrFamily(addr)) {
|
||||
case kINET: {
|
||||
case AddressFamily::INet: {
|
||||
struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
|
||||
return (addr->m_len == sizeof(struct sockaddr_in) && ipAddr->sin_addr.s_addr == INADDR_ANY);
|
||||
}
|
||||
|
||||
case kINET6: {
|
||||
case AddressFamily::INet6: {
|
||||
struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
|
||||
return (
|
||||
addr->m_len == sizeof(struct sockaddr_in) && memcmp(&ipAddr->sin6_addr, &in6addr_any, sizeof(in6addr_any)) == 0
|
||||
|
||||
@ -58,7 +58,7 @@ public:
|
||||
void init() override;
|
||||
|
||||
// IArchNetwork overrides
|
||||
ArchSocket newSocket(EAddressFamily, ESocketType) override;
|
||||
ArchSocket newSocket(AddressFamily, ESocketType) override;
|
||||
ArchSocket copySocket(ArchSocket s) override;
|
||||
void closeSocket(ArchSocket s) override;
|
||||
void closeSocketForRead(ArchSocket s) override;
|
||||
@ -75,13 +75,13 @@ public:
|
||||
bool setNoDelayOnSocket(ArchSocket, bool noDelay) override;
|
||||
bool setReuseAddrOnSocket(ArchSocket, bool reuse) override;
|
||||
std::string getHostName() override;
|
||||
ArchNetAddress newAnyAddr(EAddressFamily) override;
|
||||
ArchNetAddress newAnyAddr(AddressFamily) override;
|
||||
ArchNetAddress copyAddr(ArchNetAddress) override;
|
||||
std::vector<ArchNetAddress> nameToAddr(const std::string &) override;
|
||||
void closeAddr(ArchNetAddress) override;
|
||||
std::string addrToName(ArchNetAddress) override;
|
||||
std::string addrToString(ArchNetAddress) override;
|
||||
EAddressFamily getAddrFamily(ArchNetAddress) override;
|
||||
AddressFamily getAddrFamily(ArchNetAddress) override;
|
||||
void setAddrPort(ArchNetAddress, int port) override;
|
||||
int getAddrPort(ArchNetAddress) override;
|
||||
bool isAnyAddr(ArchNetAddress) override;
|
||||
|
||||
@ -28,12 +28,14 @@ public:
|
||||
|
||||
//! Create data socket
|
||||
virtual IDataSocket *create(
|
||||
IArchNetwork::EAddressFamily family = IArchNetwork::kINET, SecurityLevel securityLevel = SecurityLevel::PlainText
|
||||
IArchNetwork::AddressFamily family = IArchNetwork::AddressFamily::INet,
|
||||
SecurityLevel securityLevel = SecurityLevel::PlainText
|
||||
) const = 0;
|
||||
|
||||
//! Create listen socket
|
||||
virtual IListenSocket *createListen(
|
||||
IArchNetwork::EAddressFamily family = IArchNetwork::kINET, SecurityLevel securityLevel = SecurityLevel::PlainText
|
||||
IArchNetwork::AddressFamily family = IArchNetwork::AddressFamily::INet,
|
||||
SecurityLevel securityLevel = SecurityLevel::PlainText
|
||||
) const = 0;
|
||||
|
||||
//@}
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
NetworkAddress::NetworkAddress(int port) : m_port(port)
|
||||
{
|
||||
checkPort();
|
||||
m_address = ARCH->newAnyAddr(IArchNetwork::kINET);
|
||||
m_address = ARCH->newAnyAddr(IArchNetwork::AddressFamily::INet);
|
||||
ARCH->setAddrPort(m_address, m_port);
|
||||
}
|
||||
|
||||
@ -125,7 +125,7 @@ size_t NetworkAddress::resolve(size_t index)
|
||||
// if hostname is empty then use wildcard address otherwise look
|
||||
// up the name.
|
||||
if (m_hostname.empty()) {
|
||||
m_address = ARCH->newAnyAddr(IArchNetwork::kINET);
|
||||
m_address = ARCH->newAnyAddr(IArchNetwork::AddressFamily::INet);
|
||||
resolvedAddressesCount = 1;
|
||||
} else {
|
||||
// Logic for temporary filtring only ipv4 addresses
|
||||
@ -133,7 +133,7 @@ size_t NetworkAddress::resolve(size_t index)
|
||||
{
|
||||
auto addresses = ARCH->nameToAddr(m_hostname);
|
||||
for (auto address : addresses) {
|
||||
if (ARCH->getAddrFamily(address) == IArchNetwork::kINET) {
|
||||
if (ARCH->getAddrFamily(address) == IArchNetwork::AddressFamily::INet) {
|
||||
ipv4OnlyAddresses.emplace_back(address);
|
||||
} else {
|
||||
ARCH->closeAddr(address);
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
//
|
||||
|
||||
SecureListenSocket::SecureListenSocket(
|
||||
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family,
|
||||
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family,
|
||||
SecurityLevel securityLevel
|
||||
)
|
||||
: TCPListenSocket(events, socketMultiplexer, family),
|
||||
|
||||
@ -20,7 +20,7 @@ class SecureListenSocket : public TCPListenSocket
|
||||
{
|
||||
public:
|
||||
SecureListenSocket(
|
||||
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family,
|
||||
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family,
|
||||
SecurityLevel securityLevel = SecurityLevel::PlainText
|
||||
);
|
||||
|
||||
|
||||
@ -55,7 +55,7 @@ static int verifyIgnoreCertCallback(X509_STORE_CTX *, void *)
|
||||
}
|
||||
|
||||
SecureSocket::SecureSocket(
|
||||
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family,
|
||||
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family,
|
||||
SecurityLevel securityLevel
|
||||
)
|
||||
: TCPSocket(events, socketMultiplexer, family),
|
||||
|
||||
@ -30,7 +30,7 @@ class SecureSocket : public TCPSocket
|
||||
{
|
||||
public:
|
||||
SecureSocket(
|
||||
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family,
|
||||
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family,
|
||||
SecurityLevel securityLevel = SecurityLevel::Encrypted
|
||||
);
|
||||
SecureSocket(
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
//
|
||||
|
||||
TCPListenSocket::TCPListenSocket(
|
||||
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family
|
||||
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family
|
||||
)
|
||||
: m_events(events),
|
||||
m_socketMultiplexer(socketMultiplexer)
|
||||
|
||||
@ -23,7 +23,7 @@ A listen socket using TCP.
|
||||
class TCPListenSocket : public IListenSocket
|
||||
{
|
||||
public:
|
||||
TCPListenSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family);
|
||||
TCPListenSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family);
|
||||
TCPListenSocket(TCPListenSocket const &) = delete;
|
||||
TCPListenSocket(TCPListenSocket &&) = delete;
|
||||
~TCPListenSocket() override;
|
||||
|
||||
@ -27,7 +27,7 @@ static const std::size_t MAX_INPUT_BUFFER_SIZE = 1024 * 1024;
|
||||
// TCPSocket
|
||||
//
|
||||
|
||||
TCPSocket::TCPSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family)
|
||||
TCPSocket::TCPSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family)
|
||||
: IDataSocket(events),
|
||||
m_events(events),
|
||||
m_flushed(&m_mutex, true),
|
||||
|
||||
@ -28,7 +28,7 @@ class TCPSocket : public IDataSocket
|
||||
public:
|
||||
TCPSocket(
|
||||
IEventQueue *events, SocketMultiplexer *socketMultiplexer,
|
||||
IArchNetwork::EAddressFamily family = IArchNetwork::kINET
|
||||
IArchNetwork::AddressFamily family = IArchNetwork::AddressFamily::INet
|
||||
);
|
||||
TCPSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, ArchSocket socket);
|
||||
TCPSocket(TCPSocket const &) = delete;
|
||||
|
||||
@ -25,7 +25,7 @@ TCPSocketFactory::TCPSocketFactory(IEventQueue *events, SocketMultiplexer *socke
|
||||
// do nothing
|
||||
}
|
||||
|
||||
IDataSocket *TCPSocketFactory::create(IArchNetwork::EAddressFamily family, SecurityLevel securityLevel) const
|
||||
IDataSocket *TCPSocketFactory::create(IArchNetwork::AddressFamily family, SecurityLevel securityLevel) const
|
||||
{
|
||||
if (securityLevel != SecurityLevel::PlainText) {
|
||||
auto *secureSocket = new SecureSocket(m_events, m_socketMultiplexer, family, securityLevel);
|
||||
@ -36,7 +36,7 @@ IDataSocket *TCPSocketFactory::create(IArchNetwork::EAddressFamily family, Secur
|
||||
}
|
||||
}
|
||||
|
||||
IListenSocket *TCPSocketFactory::createListen(IArchNetwork::EAddressFamily family, SecurityLevel securityLevel) const
|
||||
IListenSocket *TCPSocketFactory::createListen(IArchNetwork::AddressFamily family, SecurityLevel securityLevel) const
|
||||
{
|
||||
IListenSocket *socket = nullptr;
|
||||
if (securityLevel != SecurityLevel::PlainText) {
|
||||
|
||||
@ -23,10 +23,12 @@ public:
|
||||
|
||||
// ISocketFactory overrides
|
||||
IDataSocket *create(
|
||||
IArchNetwork::EAddressFamily family = IArchNetwork::kINET, SecurityLevel securityLevel = SecurityLevel::PlainText
|
||||
IArchNetwork::AddressFamily family = IArchNetwork::AddressFamily::INet,
|
||||
SecurityLevel securityLevel = SecurityLevel::PlainText
|
||||
) const override;
|
||||
IListenSocket *createListen(
|
||||
IArchNetwork::EAddressFamily family = IArchNetwork::kINET, SecurityLevel securityLevel = SecurityLevel::PlainText
|
||||
IArchNetwork::AddressFamily family = IArchNetwork::AddressFamily::INet,
|
||||
SecurityLevel securityLevel = SecurityLevel::PlainText
|
||||
) const override;
|
||||
|
||||
private:
|
||||
|
||||
@ -186,7 +186,7 @@ TEST(ArchNetworkBSDTests, isAnyAddr_goodAddress_returnsTrue)
|
||||
auto deps = MockDeps::makeNice();
|
||||
ArchNetworkBSD networkBSD(deps);
|
||||
std::unique_ptr<ArchNetAddressImpl> addr;
|
||||
addr.reset(networkBSD.newAnyAddr(IArchNetwork::kINET6));
|
||||
addr.reset(networkBSD.newAnyAddr(IArchNetwork::AddressFamily::INet6));
|
||||
|
||||
auto result = networkBSD.isAnyAddr(addr.get());
|
||||
|
||||
@ -198,7 +198,7 @@ TEST(ArchNetworkBSDTests, isAnyAddr_badAddress_returnsFalse)
|
||||
auto deps = MockDeps::makeNice();
|
||||
ArchNetworkBSD networkBSD(deps);
|
||||
std::unique_ptr<ArchNetAddressImpl> addr;
|
||||
addr.reset(networkBSD.newAnyAddr(IArchNetwork::kINET6));
|
||||
addr.reset(networkBSD.newAnyAddr(IArchNetwork::AddressFamily::INet6));
|
||||
auto scratch = (char *)&addr->m_addr;
|
||||
std::string badAddr = "badaddr";
|
||||
std::ranges::copy(badAddr, scratch + 2);
|
||||
|
||||
Reference in New Issue
Block a user