47#ifndef __sockpp_unix_addr_h
48#define __sockpp_unix_addr_h
71 static constexpr size_t SZ =
sizeof(sockaddr_un);
78 static constexpr size_t MAX_PATH_NAME = 108;
123 bool is_set()
const {
return addr_.sun_path[0] !=
'\0'; }
128 std::string
path()
const {
return std::string(addr_.sun_path); }
137 socklen_t
size()
const override {
return socklen_t(SZ); }
148 return reinterpret_cast<const sockaddr*
>(&addr_);
155 return reinterpret_cast<sockaddr*
>(&addr_);
173 return std::string(
"unix:") + std::string(addr_.sun_path);
Definition sock_address.h:65
virtual sockaddr * sockaddr_ptr()=0
Definition unix_address.h:66
const sockaddr * sockaddr_ptr() const override
Definition unix_address.h:147
const sockaddr_un * sockaddr_un_ptr() const
Definition unix_address.h:161
sockaddr_un * sockaddr_un_ptr()
Definition unix_address.h:166
std::string to_string() const
Definition unix_address.h:172
unix_address(const sock_address &addr)
Definition unix_address.h:101
unix_address(const sockaddr_un &addr)
Definition unix_address.h:111
unix_address(const std::string &path)
unix_address()
Definition unix_address.h:84
sockaddr * sockaddr_ptr() override
Definition unix_address.h:154
socklen_t size() const override
Definition unix_address.h:137
unix_address(const unix_address &addr)
Definition unix_address.h:116
static constexpr sa_family_t ADDRESS_FAMILY
Definition unix_address.h:75
std::string path() const
Definition unix_address.h:128
bool is_set() const
Definition unix_address.h:123