37#pragma clang diagnostic ignored "-Wc++98-compat"
53#if defined(OS_TRACE_POSIX_IO_SOCKET)
60#if defined(OS_TRACE_POSIX_IO_SOCKET)
76 if (new_socket ==
nullptr)
156 return impl ().
do_recvfrom (buffer, length, flags, address, address_len);
193 return impl ().
do_sendto (message, length, flags, dest_addr, dest_len);
228#if defined(OS_TRACE_POSIX_IO_SOCKET)
235#if defined(OS_TRACE_POSIX_IO_SOCKET)
io * alloc_file_descriptor(void)
virtual int do_getsockopt(int level, int option_name, void *option_value, socklen_t *option_len)=0
virtual int do_listen(int backlog)=0
virtual ~socket_impl() override
virtual int do_setsockopt(int level, int option_name, const void *option_value, socklen_t option_len)=0
virtual ssize_t do_recv(void *buffer, size_t length, int flags)=0
virtual int do_getpeername(struct sockaddr *address, socklen_t *address_len)=0
virtual ssize_t do_send(const void *buffer, size_t length, int flags)=0
virtual ssize_t do_sendto(const void *message, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len)=0
virtual ssize_t do_recvmsg(struct msghdr *message, int flags)=0
virtual int do_bind(const struct sockaddr *address, socklen_t address_len)=0
virtual class socket * do_accept(struct sockaddr *address, socklen_t *address_len)=0
virtual ssize_t do_sendmsg(const struct msghdr *message, int flags)=0
virtual ssize_t do_recvfrom(void *buffer, size_t length, int flags, struct sockaddr *address, socklen_t *address_len)=0
virtual int do_sockatmark(void)=0
virtual int do_connect(const struct sockaddr *address, socklen_t address_len)=0
virtual int do_shutdown(int how)=0
virtual int do_getsockname(struct sockaddr *address, socklen_t *address_len)=0
virtual int setsockopt(int level, int option_name, const void *option_value, socklen_t option_len)
virtual int sockatmark(void)
virtual int getsockname(struct sockaddr *address, socklen_t *address_len)
virtual int listen(int backlog)
virtual ssize_t recvmsg(struct msghdr *message, int flags)
virtual ssize_t sendmsg(const struct msghdr *message, int flags)
virtual int getpeername(struct sockaddr *address, socklen_t *address_len)
virtual ssize_t recv(void *buffer, size_t length, int flags)
virtual ssize_t send(const void *buffer, size_t length, int flags)
virtual ssize_t recvfrom(void *buffer, size_t length, int flags, struct sockaddr *address, socklen_t *address_len)
virtual int shutdown(int how)
virtual int connect(const struct sockaddr *address, socklen_t address_len)
virtual ~socket() override
virtual int bind(const struct sockaddr *address, socklen_t address_len)
virtual int getsockopt(int level, int option_name, void *option_value, socklen_t *option_len)
virtual class socket * accept(struct sockaddr *address, socklen_t *address_len)
socket_impl & impl(void) const
virtual ssize_t sendto(const void *message, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len)
int printf(const char *format,...)
Write a formatted string to the trace device.