Added UNKNOWN client address type.
Build and Test Module / build-and-test (push) Successful in 6s Details

This commit is contained in:
Andrew Lalis 2025-03-05 20:00:38 -05:00
parent 5fbe682749
commit 774da2281e
1 changed files with 12 additions and 1 deletions

View File

@ -33,7 +33,8 @@ struct UnixSocketAddress {
enum ClientAddressType { enum ClientAddressType {
IPv4, IPv4,
IPv6, IPv6,
UNIX UNIX,
UNKNOWN
} }
/** /**
@ -51,6 +52,7 @@ struct ClientAddress {
* Returns: The string representation of this address. * Returns: The string representation of this address.
*/ */
string toString() const { string toString() const {
if (type == ClientAddressType.UNKNOWN) return "Unknown Address";
if (type == ClientAddressType.UNIX) return unixSocketAddress.path; if (type == ClientAddressType.UNIX) return unixSocketAddress.path;
version (Posix) { import core.sys.posix.arpa.inet : inet_ntop, AF_INET, AF_INET6; } version (Posix) { import core.sys.posix.arpa.inet : inet_ntop, AF_INET, AF_INET6; }
version (Windows) { import core.sys.windows.winsock2 : inet_ntop, AF_INET, AF_INET6; } version (Windows) { import core.sys.windows.winsock2 : inet_ntop, AF_INET, AF_INET6; }
@ -86,6 +88,15 @@ struct ClientAddress {
static ClientAddress ofUnixSocket(UnixSocketAddress addr) { static ClientAddress ofUnixSocket(UnixSocketAddress addr) {
return ClientAddress(ClientAddressType.UNIX, IPv4InternetAddress.init, IPv6InternetAddress.init, addr); return ClientAddress(ClientAddressType.UNIX, IPv4InternetAddress.init, IPv6InternetAddress.init, addr);
} }
static ClientAddress unknown() {
return ClientAddress(
ClientAddressType.UNKNOWN,
IPv4InternetAddress.init,
IPv6InternetAddress.init,
UnixSocketAddress.init
);
}
} }
unittest { unittest {