27 ::unlink( addr.sun_path);
36 socklen_t addr_len =
sizeof(addr);
38 if( getsockname(
m_socket, (sockaddr*) &addr, &addr_len) < 0)
47 socklen_t addr_len =
sizeof(addr);
49 if( getpeername(
m_socket, (sockaddr*) &addr, &addr_len) < 0)
57 const int len = path.length();
59 if(
len >=
sizeof(sockaddr_un::sun_path)-1)
62 addr.sun_family = AF_LOCAL;
63 std::memcpy( addr.sun_path, path.data(),
len);
64 addr.sun_path[
len] = 0;
69 return std::string( addr.sun_path,
len -
sizeof(sa_family_t) - 1);
Signals a problem with the execution of a socket call.
SimpleSocket(int sockfd)
enables return of an accepted socket
void connect(std::string_view foreignPath)
static std::string extractPath(const sockaddr_un &addr, socklen_t len)
extracts a path string from the socket address structure
static void fillAddress(std::string_view path, sockaddr_un &addr)
std::string getForeignPath() const
UnixSocket(int type, int protocol)
allows a subclass to create new socket
void bind(std::string_view localPath)
std::string getLocalPath() const