25 socketFd = ::socket(domain, SOCK_STREAM, 0);
31 int flags = fcntl(
socketFd, F_GETFL, 0);
37 if (fcntl(
socketFd, F_SETFL, flags | O_NONBLOCK) < 0)
57 struct sockaddr_un *sa_un =
new struct sockaddr_un;
59 (void)memset(sa_un, 0,
sizeof(
struct sockaddr_un));
60 sa_un->sun_family = AF_UNIX;
69 strncpy(sa_un->sun_path + offset, unixPath.c_str(),
sizeof(sa_un->sun_path) - offset - 1);
72 result.
mData.reset(
reinterpret_cast<struct sockaddr *
>(sa_un));
73 result.
mSize = offsetof(
struct sockaddr_un, sun_path) + unixPath.size() + offset;
std::unique_ptr< struct sockaddr > mData
static SocketAddress afUnix(const std::string &hostName)
bool createSocket(int domain)
SocketFileDescriptor socketFd
ssize_t sendSocket(const void *src, size_t size)
ssize_t recvSocket(void *dst, size_t size)