|
using | executor_type = io_context::executor_type |
|
using | protocol_type = Protocol |
|
using | native_handle_type = impl::socket::native_handle_type |
|
using | error_type = impl::socket::error_type |
|
using | endpoint_type = typename protocol_type::endpoint |
|
enum class | shutdown_type { shutdown_receive = SHUT_RD
, shutdown_send = SHUT_WR
, shutdown_both = SHUT_RDWR
} |
|
using | broadcast = socket_option::boolean< SOL_SOCKET, SO_BROADCAST > |
|
using | debug = socket_option::boolean< SOL_SOCKET, SO_DEBUG > |
|
using | do_not_route = socket_option::boolean< SOL_SOCKET, SO_DONTROUTE > |
|
using | error = socket_option::integer< SOL_SOCKET, SO_ERROR > |
|
using | keep_alive = socket_option::boolean< SOL_SOCKET, SO_KEEPALIVE > |
|
using | out_of_band_inline = socket_option::boolean< SOL_SOCKET, SO_OOBINLINE > |
|
using | receive_buffer_size = socket_option::integer< SOL_SOCKET, SO_RCVBUF > |
|
using | receive_low_watermark = socket_option::integer< SOL_SOCKET, SO_RCVLOWAT > |
|
using | reuse_address = socket_option::boolean< SOL_SOCKET, SO_REUSEADDR > |
|
using | send_buffer_size = socket_option::integer< SOL_SOCKET, SO_SNDBUF > |
|
using | send_low_watermark = socket_option::integer< SOL_SOCKET, SO_SNDLOWAT > |
|
using | message_flags = impl::socket::message_flags |
|
using | wait_type = impl::socket::wait_type |
|
|
executor_type | get_executor () noexcept |
|
stdx::expected< void, error_type > | assign (const protocol_type &protocol, const native_handle_type &native_handle) |
|
stdx::expected< void, error_type > | open (const protocol_type &protocol=protocol_type(), int flags=0) |
|
stdx::expected< void, error_type > | connect (const endpoint_type &endpoint) |
|
template<class CompletionToken > |
auto | async_connect (const endpoint_type &endpoint, CompletionToken &&token) |
|
stdx::expected< void, error_type > | bind (const endpoint_type &endpoint) |
|
native_handle_type | native_handle () const noexcept |
|
template<typename SettableSocketOption > |
stdx::expected< void, error_type > | set_option (const SettableSocketOption &option) |
|
template<typename GettableSocketOption > |
stdx::expected< void, error_type > | get_option (GettableSocketOption &option) const |
|
stdx::expected< void, error_type > | close () |
|
stdx::expected< void, error_type > | cancel () |
|
stdx::expected< native_handle_type, error_type > | release () |
|
constexpr bool | is_open () const |
|
stdx::expected< endpoint_type, error_type > | local_endpoint () const |
|
stdx::expected< endpoint_type, error_type > | remote_endpoint () const |
|
stdx::expected< size_t, error_type > | available () const |
|
bool | non_blocking () const |
|
stdx::expected< void, std::error_code > | non_blocking (bool mode) |
|
bool | native_non_blocking () const |
|
stdx::expected< void, std::error_code > | native_non_blocking (bool mode) |
|
stdx::expected< void, std::error_code > | wait (socket_base::wait_type wt) |
|
stdx::expected< void, error_type > | shutdown (socket_base::shutdown_type st) const |
|
template<typename CompletionToken > |
async_result< std::decay_t< CompletionToken >, void(std::error_code)>::return_type | async_wait (wait_type w, CompletionToken &&token) |
|
|
static constexpr message_flags | message_peek = impl::socket::message_peek |
|
static constexpr message_flags | message_out_of_band |
|
static constexpr message_flags | message_do_not_route |
|
static constexpr wait_type | wait_read = wait_type::wait_read |
|
static constexpr wait_type | wait_write = wait_type::wait_write |
|
static constexpr wait_type | wait_error = wait_type::wait_error |
|
static constexpr shutdown_type | shutdown_receive |
|
static constexpr shutdown_type | shutdown_send = shutdown_type::shutdown_send |
|
static constexpr shutdown_type | shutdown_both = shutdown_type::shutdown_both |
|
static const int | max_listen_connections {SOMAXCONN} |
|
constexpr | basic_socket_impl (io_context &ctx) noexcept |
|
| basic_socket_impl (const basic_socket_impl &)=delete |
|
basic_socket_impl & | operator= (const basic_socket_impl &)=delete |
|
| basic_socket_impl (basic_socket_impl &&rhs)=default |
|
basic_socket_impl & | operator= (basic_socket_impl &&rhs) noexcept |
|
| ~basic_socket_impl () |
|
stdx::expected< void, error_type > | open (const protocol_type &protocol=protocol_type(), int flags=0) |
|
stdx::expected< void, error_type > | assign (const protocol_type &protocol, const native_handle_type &native_handle) |
|
stdx::expected< void, error_type > | bind (const endpoint_type &endpoint) |
|
stdx::expected< socket_type, error_type > | accept (io_context &io_ctx, struct sockaddr *endpoint_data, socklen_t *endpoint_size, int flags=0) |
|
stdx::expected< socket_type, error_type > | accept (io_context &io_ctx, int flags=0) |
|
stdx::expected< socket_type, error_type > | accept (io_context &io_ctx, endpoint_type &endpoint, int flags=0) |
|
stdx::expected< void, error_type > | listen (int backlog=socket_base::max_listen_connections) |
|
template<typename SettableSocketOption > |
stdx::expected< void, error_type > | set_option (const SettableSocketOption &option) |
|
template<typename GettableSocketOption > |
stdx::expected< void, error_type > | get_option (GettableSocketOption &option) const |
|
stdx::expected< endpoint_type, error_type > | local_endpoint () const |
|
stdx::expected< endpoint_type, error_type > | remote_endpoint () const |
|
template<class IoControlCommand > |
stdx::expected< void, error_type > | io_control (IoControlCommand &cmd) const |
|
stdx::expected< size_t, error_type > | available () const |
|
stdx::expected< bool, error_type > | at_mark () const |
|
stdx::expected< void, error_type > | shutdown (socket_base::shutdown_type st) const |
|
stdx::expected< void, std::error_code > | wait (socket_base::wait_type wt) |
|
constexpr | basic_socket_impl_base (io_context &ctx) |
|
| basic_socket_impl_base (const basic_socket_impl_base &rhs)=delete |
|
basic_socket_impl_base & | operator= (const basic_socket_impl_base &rhs)=delete |
|
| basic_socket_impl_base (basic_socket_impl_base &&rhs) noexcept |
|
basic_socket_impl_base & | operator= (basic_socket_impl_base &&rhs) noexcept |
|
| ~basic_socket_impl_base ()=default |
|
constexpr native_handle_type | native_handle () const noexcept |
|
constexpr bool | is_open () const noexcept |
|
constexpr bool | non_blocking () const |
|
stdx::expected< void, std::error_code > | non_blocking (bool mode) |
|
bool | native_non_blocking () const |
|
stdx::expected< void, std::error_code > | native_non_blocking (bool mode) |
|
executor_type | get_executor () noexcept |
|
stdx::expected< void, std::error_code > | close () |
|
stdx::expected< void, std::error_code > | cancel () |
|
stdx::expected< native_handle_type, std::error_code > | release () |
|
native_handle_type | native_handle_ {impl::socket::kInvalidSocket} |
|
bool | non_blocking_ {false} |
|
char | native_non_blocking_ |
|
io_context * | io_ctx_ |
|