Family-neutral native socket address. More...
#include <Socket.h>
Public Types | |
| enum class | UnixNamespace { Unnamed , Pathname , Abstract } |
Public Member Functions | |
| SocketAddress (const SocketIPAddress &ipAddress) | |
| Result | fromUnixPath (StringSpan path) |
| Builds a filesystem-named Unix-domain address. | |
| Result | fromUnixAbstractName (Span< const char > name) |
| Builds a Linux abstract-namespace Unix-domain address. | |
| SocketFlags::AddressFamily | getAddressFamily () const |
| uint32_t | sizeOfHandle () const |
| bool | isValid () const |
| Result | getIPAddress (SocketIPAddress &output) const |
| Extracts an IP address when this address contains IPv4 or IPv6. | |
| Result | getUnixName (Span< const char > &output, UnixNamespace &unixNamespace) const |
| Returns a view into the inline Unix-domain name storage. | |
Public Attributes | |
| AlignedStorage< 128 > | handle = {} |
| Handle to native OS representation of the socket address. | |
| uint32_t | nativeSize = 0 |
Family-neutral native socket address.
Stores IPv4, IPv6, or Unix-domain addresses inline without exposing platform socket headers.
| Result SC::SocketAddress::fromUnixAbstractName | ( | Span< const char > | name | ) |
Builds a Linux abstract-namespace Unix-domain address.
| Result SC::SocketAddress::fromUnixPath | ( | StringSpan | path | ) |
Builds a filesystem-named Unix-domain address.
| Result SC::SocketAddress::getIPAddress | ( | SocketIPAddress & | output | ) | const |
Extracts an IP address when this address contains IPv4 or IPv6.
| Result SC::SocketAddress::getUnixName | ( | Span< const char > & | output, |
| UnixNamespace & | unixNamespace ) const |
Returns a view into the inline Unix-domain name storage.
| AlignedStorage<128> SC::SocketAddress::handle = {} |
Handle to native OS representation of the socket address.