refactor: Make IArchNetwork::EAddressFamily enum class IArchNetwork::AddressFamily

confirm AddressFamily items to naming convention
This commit is contained in:
sithlord48 2025-06-30 17:36:38 -04:00 committed by Chris Rizzitello
parent cbbfd495e3
commit 879283f46f
18 changed files with 82 additions and 66 deletions

View file

@ -53,11 +53,11 @@ class IArchNetwork : public IInterface
{ {
public: public:
//! Supported address families //! Supported address families
enum EAddressFamily enum class AddressFamily : uint8_t
{ {
kUNKNOWN, Unknown,
kINET, INet,
kINET6, INet6
}; };
//! Supported socket types //! Supported socket types
@ -105,7 +105,7 @@ public:
/*! /*!
The socket is an opaque data type. The socket is an opaque data type.
*/ */
virtual ArchSocket newSocket(EAddressFamily, ESocketType) = 0; virtual ArchSocket newSocket(AddressFamily, ESocketType) = 0;
//! Copy a socket object //! Copy a socket object
/*! /*!
@ -236,7 +236,7 @@ public:
virtual std::string getHostName() = 0; virtual std::string getHostName() = 0;
//! Create an "any" network address //! Create an "any" network address
virtual ArchNetAddress newAnyAddr(EAddressFamily) = 0; virtual ArchNetAddress newAnyAddr(AddressFamily) = 0;
//! Copy a network address //! Copy a network address
virtual ArchNetAddress copyAddr(ArchNetAddress) = 0; virtual ArchNetAddress copyAddr(ArchNetAddress) = 0;
@ -254,7 +254,7 @@ public:
virtual std::string addrToString(ArchNetAddress) = 0; virtual std::string addrToString(ArchNetAddress) = 0;
//! Get an address's family //! Get an address's family
virtual EAddressFamily getAddrFamily(ArchNetAddress) = 0; virtual AddressFamily getAddrFamily(ArchNetAddress) = 0;
//! Set the port of an address //! Set the port of an address
virtual void setAddrPort(ArchNetAddress, int port) = 0; virtual void setAddrPort(ArchNetAddress, int port) = 0;

View file

@ -95,10 +95,10 @@ void ArchNetworkBSD::init()
// do nothing // do nothing
} }
ArchSocket ArchNetworkBSD::newSocket(EAddressFamily family, ESocketType type) ArchSocket ArchNetworkBSD::newSocket(AddressFamily family, ESocketType type)
{ {
// create socket // 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) { if (fd == -1) {
throwError(errno); throwError(errno);
} }
@ -469,14 +469,16 @@ std::string ArchNetworkBSD::getHostName()
return name; return name;
} }
ArchNetAddress ArchNetworkBSD::newAnyAddr(EAddressFamily family) ArchNetAddress ArchNetworkBSD::newAnyAddr(AddressFamily family)
{ {
using enum AddressFamily;
// allocate address // allocate address
auto *addr = new ArchNetAddressImpl; auto *addr = new ArchNetAddressImpl;
// fill it in // fill it in
switch (family) { switch (family) {
case kINET: { case INet: {
auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr); auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
ipAddr->sin_family = AF_INET; ipAddr->sin_family = AF_INET;
ipAddr->sin_port = 0; ipAddr->sin_port = 0;
@ -485,7 +487,7 @@ ArchNetAddress ArchNetworkBSD::newAnyAddr(EAddressFamily family)
break; break;
} }
case kINET6: { case INet6: {
auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr); auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
ipAddr->sin6_family = AF_INET6; ipAddr->sin6_family = AF_INET6;
ipAddr->sin6_port = 0; ipAddr->sin6_port = 0;
@ -583,17 +585,19 @@ std::string ArchNetworkBSD::addrToName(ArchNetAddress addr)
std::string ArchNetworkBSD::addrToString(ArchNetAddress addr) std::string ArchNetworkBSD::addrToString(ArchNetAddress addr)
{ {
using enum AddressFamily;
assert(addr != nullptr); assert(addr != nullptr);
switch (getAddrFamily(addr)) { switch (getAddrFamily(addr)) {
case kINET: { case INet: {
const auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr); const auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
std::scoped_lock lock{m_mutex}; std::scoped_lock lock{m_mutex};
std::string s = inet_ntoa(ipAddr->sin_addr); std::string s = inet_ntoa(ipAddr->sin_addr);
return s; return s;
} }
case kINET6: { case INet6: {
char strAddr[INET6_ADDRSTRLEN]; char strAddr[INET6_ADDRSTRLEN];
const auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr); 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); assert(addr != nullptr);
switch (addr->m_addr.ss_family) { switch (addr->m_addr.ss_family) {
case AF_INET: case AF_INET:
return kINET; return INet;
case AF_INET6: case AF_INET6:
return kINET6; return INet6;
default: default:
return kUNKNOWN; return Unknown;
} }
} }
void ArchNetworkBSD::setAddrPort(ArchNetAddress addr, int port) void ArchNetworkBSD::setAddrPort(ArchNetAddress addr, int port)
{ {
using enum AddressFamily;
assert(addr != nullptr); assert(addr != nullptr);
switch (getAddrFamily(addr)) { switch (getAddrFamily(addr)) {
case kINET: { case INet: {
auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr); auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
ipAddr->sin_port = htons(port); ipAddr->sin_port = htons(port);
break; break;
} }
case kINET6: { case INet6: {
auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr); auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
ipAddr->sin6_port = htons(port); ipAddr->sin6_port = htons(port);
break; break;
@ -649,15 +657,17 @@ void ArchNetworkBSD::setAddrPort(ArchNetAddress addr, int port)
int ArchNetworkBSD::getAddrPort(ArchNetAddress addr) int ArchNetworkBSD::getAddrPort(ArchNetAddress addr)
{ {
using enum AddressFamily;
assert(addr != nullptr); assert(addr != nullptr);
switch (getAddrFamily(addr)) { switch (getAddrFamily(addr)) {
case kINET: { case INet: {
const auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr); const auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
return ntohs(ipAddr->sin_port); return ntohs(ipAddr->sin_port);
} }
case kINET6: { case INet6: {
const auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr); const auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
return ntohs(ipAddr->sin6_port); return ntohs(ipAddr->sin6_port);
} }
@ -670,15 +680,17 @@ int ArchNetworkBSD::getAddrPort(ArchNetAddress addr)
bool ArchNetworkBSD::isAnyAddr(ArchNetAddress addr) bool ArchNetworkBSD::isAnyAddr(ArchNetAddress addr)
{ {
using enum AddressFamily;
assert(addr != nullptr); assert(addr != nullptr);
switch (getAddrFamily(addr)) { switch (getAddrFamily(addr)) {
case kINET: { case INet: {
const auto *ipAddr = TYPED_ADDR(struct sockaddr_in, addr); 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))); 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); const auto *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
return ( return (
addr->m_len == (socklen_t)sizeof(struct sockaddr_in6) && addr->m_len == (socklen_t)sizeof(struct sockaddr_in6) &&

View file

@ -71,7 +71,7 @@ public:
void init() override; void init() override;
// IArchNetwork overrides // IArchNetwork overrides
ArchSocket newSocket(EAddressFamily, ESocketType) override; ArchSocket newSocket(AddressFamily, ESocketType) override;
ArchSocket copySocket(ArchSocket s) override; ArchSocket copySocket(ArchSocket s) override;
void closeSocket(ArchSocket s) override; void closeSocket(ArchSocket s) override;
void closeSocketForRead(ArchSocket s) override; void closeSocketForRead(ArchSocket s) override;
@ -88,13 +88,13 @@ public:
bool setNoDelayOnSocket(ArchSocket, bool noDelay) override; bool setNoDelayOnSocket(ArchSocket, bool noDelay) override;
bool setReuseAddrOnSocket(ArchSocket, bool reuse) override; bool setReuseAddrOnSocket(ArchSocket, bool reuse) override;
std::string getHostName() override; std::string getHostName() override;
ArchNetAddress newAnyAddr(EAddressFamily) override; ArchNetAddress newAnyAddr(AddressFamily) override;
ArchNetAddress copyAddr(ArchNetAddress) override; ArchNetAddress copyAddr(ArchNetAddress) override;
std::vector<ArchNetAddress> nameToAddr(const std::string &) override; std::vector<ArchNetAddress> nameToAddr(const std::string &) override;
void closeAddr(ArchNetAddress) override; void closeAddr(ArchNetAddress) override;
std::string addrToName(ArchNetAddress) override; std::string addrToName(ArchNetAddress) override;
std::string addrToString(ArchNetAddress) override; std::string addrToString(ArchNetAddress) override;
EAddressFamily getAddrFamily(ArchNetAddress) override; AddressFamily getAddrFamily(ArchNetAddress) override;
void setAddrPort(ArchNetAddress, int port) override; void setAddrPort(ArchNetAddress, int port) override;
int getAddrPort(ArchNetAddress) override; int getAddrPort(ArchNetAddress) override;
bool isAnyAddr(ArchNetAddress) override; bool isAnyAddr(ArchNetAddress) override;

View file

@ -192,10 +192,10 @@ void ArchNetworkWinsock::initModule(HMODULE module)
s_networkModule = module; s_networkModule = module;
} }
ArchSocket ArchNetworkWinsock::newSocket(EAddressFamily family, ESocketType type) ArchSocket ArchNetworkWinsock::newSocket(AddressFamily family, ESocketType type)
{ {
// create socket // 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) { if (fd == INVALID_SOCKET) {
throwError(getsockerror_winsock()); throwError(getsockerror_winsock());
} }
@ -636,11 +636,11 @@ std::string ArchNetworkWinsock::getHostName()
return name; return name;
} }
ArchNetAddress ArchNetworkWinsock::newAnyAddr(EAddressFamily family) ArchNetAddress ArchNetworkWinsock::newAnyAddr(AddressFamily family)
{ {
ArchNetAddressImpl *addr = nullptr; ArchNetAddressImpl *addr = nullptr;
switch (family) { switch (family) {
case kINET: { case AddressFamily::INet: {
addr = ArchNetAddressImpl::alloc(sizeof(struct sockaddr_in)); addr = ArchNetAddressImpl::alloc(sizeof(struct sockaddr_in));
struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr); struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
ipAddr->sin_family = AF_INET; ipAddr->sin_family = AF_INET;
@ -649,7 +649,7 @@ ArchNetAddress ArchNetworkWinsock::newAnyAddr(EAddressFamily family)
break; break;
} }
case kINET6: { case AddressFamily::INet6: {
addr = ArchNetAddressImpl::alloc(sizeof(struct sockaddr_in6)); addr = ArchNetAddressImpl::alloc(sizeof(struct sockaddr_in6));
struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr); struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
ipAddr->sin6_family = AF_INET6; ipAddr->sin6_family = AF_INET6;
@ -734,12 +734,12 @@ std::string ArchNetworkWinsock::addrToString(ArchNetAddress addr)
assert(addr != nullptr); assert(addr != nullptr);
switch (getAddrFamily(addr)) { switch (getAddrFamily(addr)) {
case kINET: { case AddressFamily::INet: {
struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr); struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
return inet_ntoa_winsock(ipAddr->sin_addr); return inet_ntoa_winsock(ipAddr->sin_addr);
} }
case kINET6: { case AddressFamily::INet6: {
char strAddr[INET6_ADDRSTRLEN]; char strAddr[INET6_ADDRSTRLEN];
struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr); struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
inet_ntop(AF_INET6, &ipAddr->sin6_addr, strAddr, INET6_ADDRSTRLEN); 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); assert(addr != nullptr);
switch (addr->m_addr.ss_family) { switch (addr->m_addr.ss_family) {
case AF_INET: case AF_INET:
return kINET; return AddressFamily::INet;
case AF_INET6: case AF_INET6:
return kINET6; return AddressFamily::INet6;
default: default:
return kUNKNOWN; return AddressFamily::Unknown;
} }
} }
@ -773,13 +773,13 @@ void ArchNetworkWinsock::setAddrPort(ArchNetAddress addr, int port)
assert(addr != nullptr); assert(addr != nullptr);
switch (getAddrFamily(addr)) { switch (getAddrFamily(addr)) {
case kINET: { case AddressFamily::INet: {
struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr); struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
ipAddr->sin_port = htons_winsock(static_cast<u_short>(port)); ipAddr->sin_port = htons_winsock(static_cast<u_short>(port));
break; break;
} }
case kINET6: { case AddressFamily::INet6: {
struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr); struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
ipAddr->sin6_port = htons_winsock(static_cast<u_short>(port)); ipAddr->sin6_port = htons_winsock(static_cast<u_short>(port));
break; break;
@ -796,12 +796,12 @@ int ArchNetworkWinsock::getAddrPort(ArchNetAddress addr)
assert(addr != nullptr); assert(addr != nullptr);
switch (getAddrFamily(addr)) { switch (getAddrFamily(addr)) {
case kINET: { case AddressFamily::INet: {
struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr); struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr);
return ntohs_winsock(ipAddr->sin_port); return ntohs_winsock(ipAddr->sin_port);
} }
case kINET6: { case AddressFamily::INet6: {
struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr); struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
return ntohs_winsock(ipAddr->sin6_port); return ntohs_winsock(ipAddr->sin6_port);
} }
@ -817,12 +817,12 @@ bool ArchNetworkWinsock::isAnyAddr(ArchNetAddress addr)
assert(addr != nullptr); assert(addr != nullptr);
switch (getAddrFamily(addr)) { switch (getAddrFamily(addr)) {
case kINET: { case AddressFamily::INet: {
struct sockaddr_in *ipAddr = TYPED_ADDR(struct sockaddr_in, addr); 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); 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); struct sockaddr_in6 *ipAddr = TYPED_ADDR(struct sockaddr_in6, addr);
return ( return (
addr->m_len == sizeof(struct sockaddr_in) && memcmp(&ipAddr->sin6_addr, &in6addr_any, sizeof(in6addr_any)) == 0 addr->m_len == sizeof(struct sockaddr_in) && memcmp(&ipAddr->sin6_addr, &in6addr_any, sizeof(in6addr_any)) == 0

View file

@ -58,7 +58,7 @@ public:
void init() override; void init() override;
// IArchNetwork overrides // IArchNetwork overrides
ArchSocket newSocket(EAddressFamily, ESocketType) override; ArchSocket newSocket(AddressFamily, ESocketType) override;
ArchSocket copySocket(ArchSocket s) override; ArchSocket copySocket(ArchSocket s) override;
void closeSocket(ArchSocket s) override; void closeSocket(ArchSocket s) override;
void closeSocketForRead(ArchSocket s) override; void closeSocketForRead(ArchSocket s) override;
@ -75,13 +75,13 @@ public:
bool setNoDelayOnSocket(ArchSocket, bool noDelay) override; bool setNoDelayOnSocket(ArchSocket, bool noDelay) override;
bool setReuseAddrOnSocket(ArchSocket, bool reuse) override; bool setReuseAddrOnSocket(ArchSocket, bool reuse) override;
std::string getHostName() override; std::string getHostName() override;
ArchNetAddress newAnyAddr(EAddressFamily) override; ArchNetAddress newAnyAddr(AddressFamily) override;
ArchNetAddress copyAddr(ArchNetAddress) override; ArchNetAddress copyAddr(ArchNetAddress) override;
std::vector<ArchNetAddress> nameToAddr(const std::string &) override; std::vector<ArchNetAddress> nameToAddr(const std::string &) override;
void closeAddr(ArchNetAddress) override; void closeAddr(ArchNetAddress) override;
std::string addrToName(ArchNetAddress) override; std::string addrToName(ArchNetAddress) override;
std::string addrToString(ArchNetAddress) override; std::string addrToString(ArchNetAddress) override;
EAddressFamily getAddrFamily(ArchNetAddress) override; AddressFamily getAddrFamily(ArchNetAddress) override;
void setAddrPort(ArchNetAddress, int port) override; void setAddrPort(ArchNetAddress, int port) override;
int getAddrPort(ArchNetAddress) override; int getAddrPort(ArchNetAddress) override;
bool isAnyAddr(ArchNetAddress) override; bool isAnyAddr(ArchNetAddress) override;

View file

@ -28,12 +28,14 @@ public:
//! Create data socket //! Create data socket
virtual IDataSocket *create( virtual IDataSocket *create(
IArchNetwork::EAddressFamily family = IArchNetwork::kINET, SecurityLevel securityLevel = SecurityLevel::PlainText IArchNetwork::AddressFamily family = IArchNetwork::AddressFamily::INet,
SecurityLevel securityLevel = SecurityLevel::PlainText
) const = 0; ) const = 0;
//! Create listen socket //! Create listen socket
virtual IListenSocket *createListen( virtual IListenSocket *createListen(
IArchNetwork::EAddressFamily family = IArchNetwork::kINET, SecurityLevel securityLevel = SecurityLevel::PlainText IArchNetwork::AddressFamily family = IArchNetwork::AddressFamily::INet,
SecurityLevel securityLevel = SecurityLevel::PlainText
) const = 0; ) const = 0;
//@} //@}

View file

@ -23,7 +23,7 @@
NetworkAddress::NetworkAddress(int port) : m_port(port) NetworkAddress::NetworkAddress(int port) : m_port(port)
{ {
checkPort(); checkPort();
m_address = ARCH->newAnyAddr(IArchNetwork::kINET); m_address = ARCH->newAnyAddr(IArchNetwork::AddressFamily::INet);
ARCH->setAddrPort(m_address, m_port); 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 // if hostname is empty then use wildcard address otherwise look
// up the name. // up the name.
if (m_hostname.empty()) { if (m_hostname.empty()) {
m_address = ARCH->newAnyAddr(IArchNetwork::kINET); m_address = ARCH->newAnyAddr(IArchNetwork::AddressFamily::INet);
resolvedAddressesCount = 1; resolvedAddressesCount = 1;
} else { } else {
// Logic for temporary filtring only ipv4 addresses // Logic for temporary filtring only ipv4 addresses
@ -133,7 +133,7 @@ size_t NetworkAddress::resolve(size_t index)
{ {
auto addresses = ARCH->nameToAddr(m_hostname); auto addresses = ARCH->nameToAddr(m_hostname);
for (auto address : addresses) { for (auto address : addresses) {
if (ARCH->getAddrFamily(address) == IArchNetwork::kINET) { if (ARCH->getAddrFamily(address) == IArchNetwork::AddressFamily::INet) {
ipv4OnlyAddresses.emplace_back(address); ipv4OnlyAddresses.emplace_back(address);
} else { } else {
ARCH->closeAddr(address); ARCH->closeAddr(address);

View file

@ -22,7 +22,7 @@
// //
SecureListenSocket::SecureListenSocket( SecureListenSocket::SecureListenSocket(
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family, IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family,
SecurityLevel securityLevel SecurityLevel securityLevel
) )
: TCPListenSocket(events, socketMultiplexer, family), : TCPListenSocket(events, socketMultiplexer, family),

View file

@ -20,7 +20,7 @@ class SecureListenSocket : public TCPListenSocket
{ {
public: public:
SecureListenSocket( SecureListenSocket(
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family, IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family,
SecurityLevel securityLevel = SecurityLevel::PlainText SecurityLevel securityLevel = SecurityLevel::PlainText
); );

View file

@ -55,7 +55,7 @@ static int verifyIgnoreCertCallback(X509_STORE_CTX *, void *)
} }
SecureSocket::SecureSocket( SecureSocket::SecureSocket(
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family, IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family,
SecurityLevel securityLevel SecurityLevel securityLevel
) )
: TCPSocket(events, socketMultiplexer, family), : TCPSocket(events, socketMultiplexer, family),

View file

@ -30,7 +30,7 @@ class SecureSocket : public TCPSocket
{ {
public: public:
SecureSocket( SecureSocket(
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family, IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family,
SecurityLevel securityLevel = SecurityLevel::Encrypted SecurityLevel securityLevel = SecurityLevel::Encrypted
); );
SecureSocket( SecureSocket(

View file

@ -23,7 +23,7 @@
// //
TCPListenSocket::TCPListenSocket( TCPListenSocket::TCPListenSocket(
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family
) )
: m_events(events), : m_events(events),
m_socketMultiplexer(socketMultiplexer) m_socketMultiplexer(socketMultiplexer)

View file

@ -23,7 +23,7 @@ A listen socket using TCP.
class TCPListenSocket : public IListenSocket class TCPListenSocket : public IListenSocket
{ {
public: public:
TCPListenSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family); TCPListenSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family);
TCPListenSocket(TCPListenSocket const &) = delete; TCPListenSocket(TCPListenSocket const &) = delete;
TCPListenSocket(TCPListenSocket &&) = delete; TCPListenSocket(TCPListenSocket &&) = delete;
~TCPListenSocket() override; ~TCPListenSocket() override;

View file

@ -27,7 +27,7 @@ static const std::size_t MAX_INPUT_BUFFER_SIZE = 1024 * 1024;
// TCPSocket // TCPSocket
// //
TCPSocket::TCPSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::EAddressFamily family) TCPSocket::TCPSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, IArchNetwork::AddressFamily family)
: IDataSocket(events), : IDataSocket(events),
m_events(events), m_events(events),
m_flushed(&m_mutex, true), m_flushed(&m_mutex, true),

View file

@ -28,7 +28,7 @@ class TCPSocket : public IDataSocket
public: public:
TCPSocket( TCPSocket(
IEventQueue *events, SocketMultiplexer *socketMultiplexer, IEventQueue *events, SocketMultiplexer *socketMultiplexer,
IArchNetwork::EAddressFamily family = IArchNetwork::kINET IArchNetwork::AddressFamily family = IArchNetwork::AddressFamily::INet
); );
TCPSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, ArchSocket socket); TCPSocket(IEventQueue *events, SocketMultiplexer *socketMultiplexer, ArchSocket socket);
TCPSocket(TCPSocket const &) = delete; TCPSocket(TCPSocket const &) = delete;

View file

@ -25,7 +25,7 @@ TCPSocketFactory::TCPSocketFactory(IEventQueue *events, SocketMultiplexer *socke
// do nothing // do nothing
} }
IDataSocket *TCPSocketFactory::create(IArchNetwork::EAddressFamily family, SecurityLevel securityLevel) const IDataSocket *TCPSocketFactory::create(IArchNetwork::AddressFamily family, SecurityLevel securityLevel) const
{ {
if (securityLevel != SecurityLevel::PlainText) { if (securityLevel != SecurityLevel::PlainText) {
auto *secureSocket = new SecureSocket(m_events, m_socketMultiplexer, family, securityLevel); 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; IListenSocket *socket = nullptr;
if (securityLevel != SecurityLevel::PlainText) { if (securityLevel != SecurityLevel::PlainText) {

View file

@ -23,10 +23,12 @@ public:
// ISocketFactory overrides // ISocketFactory overrides
IDataSocket *create( IDataSocket *create(
IArchNetwork::EAddressFamily family = IArchNetwork::kINET, SecurityLevel securityLevel = SecurityLevel::PlainText IArchNetwork::AddressFamily family = IArchNetwork::AddressFamily::INet,
SecurityLevel securityLevel = SecurityLevel::PlainText
) const override; ) const override;
IListenSocket *createListen( IListenSocket *createListen(
IArchNetwork::EAddressFamily family = IArchNetwork::kINET, SecurityLevel securityLevel = SecurityLevel::PlainText IArchNetwork::AddressFamily family = IArchNetwork::AddressFamily::INet,
SecurityLevel securityLevel = SecurityLevel::PlainText
) const override; ) const override;
private: private:

View file

@ -186,7 +186,7 @@ TEST(ArchNetworkBSDTests, isAnyAddr_goodAddress_returnsTrue)
auto deps = MockDeps::makeNice(); auto deps = MockDeps::makeNice();
ArchNetworkBSD networkBSD(deps); ArchNetworkBSD networkBSD(deps);
std::unique_ptr<ArchNetAddressImpl> addr; std::unique_ptr<ArchNetAddressImpl> addr;
addr.reset(networkBSD.newAnyAddr(IArchNetwork::kINET6)); addr.reset(networkBSD.newAnyAddr(IArchNetwork::AddressFamily::INet6));
auto result = networkBSD.isAnyAddr(addr.get()); auto result = networkBSD.isAnyAddr(addr.get());
@ -198,7 +198,7 @@ TEST(ArchNetworkBSDTests, isAnyAddr_badAddress_returnsFalse)
auto deps = MockDeps::makeNice(); auto deps = MockDeps::makeNice();
ArchNetworkBSD networkBSD(deps); ArchNetworkBSD networkBSD(deps);
std::unique_ptr<ArchNetAddressImpl> addr; std::unique_ptr<ArchNetAddressImpl> addr;
addr.reset(networkBSD.newAnyAddr(IArchNetwork::kINET6)); addr.reset(networkBSD.newAnyAddr(IArchNetwork::AddressFamily::INet6));
auto scratch = (char *)&addr->m_addr; auto scratch = (char *)&addr->m_addr;
std::string badAddr = "badaddr"; std::string badAddr = "badaddr";
std::ranges::copy(badAddr, scratch + 2); std::ranges::copy(badAddr, scratch + 2);