| 
| virtual  | ~SocketServiceBase ()=default | 
|   | 
| virtual stdx::expected< native_handle_type, error_type >  | socket (int family, int sock_type, int protocol) const =0 | 
|   | 
| virtual stdx::expected< std::pair< native_handle_type, native_handle_type >, error_type >  | socketpair (int family, int sock_type, int protocol) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | close (native_handle_type native_handle) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | ioctl (native_handle_type native_handle, unsigned long cmd, void *data) const =0 | 
|   | 
| virtual stdx::expected< bool, error_type >  | native_non_blocking (native_handle_type native_handle) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | native_non_blocking (native_handle_type native_handle, bool on) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | listen (native_handle_type native_handle, int backlog) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | setsockopt (native_handle_type native_handle, int level, int optname, const void *optval, socklen_t optlen) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | getsockopt (native_handle_type native_handle, int level, int optname, void *optval, socklen_t *optlen) const =0 | 
|   | 
| virtual stdx::expected< size_t, error_type >  | recvmsg (native_handle_type native_handle, msghdr_base &msg, message_flags flags) const =0 | 
|   | 
| virtual stdx::expected< size_t, error_type >  | sendmsg (native_handle_type native_handle, msghdr_base &msg, message_flags flags) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | bind (native_handle_type native_handle, const struct sockaddr *addr, size_t addr_len) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | connect (native_handle_type native_handle, const struct sockaddr *addr, size_t addr_len) const =0 | 
|   | 
| virtual stdx::expected< native_handle_type, error_type >  | accept (native_handle_type native_handle, struct sockaddr *addr, socklen_t *addr_len) const =0 | 
|   | 
| virtual stdx::expected< native_handle_type, error_type >  | accept4 (native_handle_type native_handle, struct sockaddr *addr, socklen_t *addr_len, int flags=0) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | getsockname (native_handle_type native_handle, struct sockaddr *addr, size_t *addr_len) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | getpeername (native_handle_type native_handle, struct sockaddr *addr, size_t *addr_len) const =0 | 
|   | 
| virtual stdx::expected< size_t, error_type >  | splice_to_pipe (native_handle_type fd_in, impl::file::file_handle_type fd_out, size_t len, int flags) const =0 | 
|   | 
| virtual stdx::expected< size_t, error_type >  | splice_from_pipe (impl::file::file_handle_type fd_in, native_handle_type fd_out, size_t len, int flags) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | wait (native_handle_type fd, wait_type wt) const =0 | 
|   | 
| virtual stdx::expected< void, error_type >  | shutdown (native_handle_type fd, int how) const =0 | 
|   | 
| virtual stdx::expected< std::unique_ptr< struct addrinfo, void(*)(struct addrinfo *)>, std::error_code >  | getaddrinfo (const char *node, const char *service, const addrinfo *hints) const =0 | 
|   |