MySQL 8.4.0
Source Code Documentation
net::basic_socket_impl_base Class Reference

template-less base-class of basic_socket_impl. More...

#include <socket.h>

Inheritance diagram for net::basic_socket_impl_base:
[legend]

Public Types

using native_handle_type = impl::socket::native_handle_type
 
using executor_type = io_context::executor_type
 

Public Member Functions

constexpr basic_socket_impl_base (io_context &ctx)
 
 basic_socket_impl_base (const basic_socket_impl_base &rhs)=delete
 
basic_socket_impl_baseoperator= (const basic_socket_impl_base &rhs)=delete
 
 basic_socket_impl_base (basic_socket_impl_base &&rhs) noexcept
 
basic_socket_impl_baseoperator= (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 ()
 

Protected Attributes

native_handle_type native_handle_ {impl::socket::kInvalidSocket}
 
bool non_blocking_ {false}
 
char native_non_blocking_
 
io_contextio_ctx_
 

Detailed Description

template-less base-class of basic_socket_impl.

all of the parts of basic_socket_impl that are not dependent on Protocol

  • native_handle
  • non-blocking flags

Member Typedef Documentation

◆ executor_type

◆ native_handle_type

Constructor & Destructor Documentation

◆ basic_socket_impl_base() [1/3]

constexpr net::basic_socket_impl_base::basic_socket_impl_base ( io_context ctx)
inlineexplicitconstexpr

◆ basic_socket_impl_base() [2/3]

net::basic_socket_impl_base::basic_socket_impl_base ( const basic_socket_impl_base rhs)
delete

◆ basic_socket_impl_base() [3/3]

net::basic_socket_impl_base::basic_socket_impl_base ( basic_socket_impl_base &&  rhs)
inlinenoexcept

◆ ~basic_socket_impl_base()

net::basic_socket_impl_base::~basic_socket_impl_base ( )
default

Member Function Documentation

◆ cancel()

stdx::expected< void, std::error_code > net::basic_socket_impl_base::cancel ( )
inline

◆ close()

stdx::expected< void, std::error_code > net::basic_socket_impl_base::close ( )
inline

◆ get_executor()

executor_type net::basic_socket_impl_base::get_executor ( )
inlinenoexcept

◆ is_open()

constexpr bool net::basic_socket_impl_base::is_open ( ) const
inlineconstexprnoexcept

◆ native_handle()

constexpr native_handle_type net::basic_socket_impl_base::native_handle ( ) const
inlineconstexprnoexcept

◆ native_non_blocking() [1/2]

bool net::basic_socket_impl_base::native_non_blocking ( ) const
inline

◆ native_non_blocking() [2/2]

stdx::expected< void, std::error_code > net::basic_socket_impl_base::native_non_blocking ( bool  mode)
inline

◆ non_blocking() [1/2]

constexpr bool net::basic_socket_impl_base::non_blocking ( ) const
inlineconstexpr

◆ non_blocking() [2/2]

stdx::expected< void, std::error_code > net::basic_socket_impl_base::non_blocking ( bool  mode)
inline

◆ operator=() [1/2]

basic_socket_impl_base & net::basic_socket_impl_base::operator= ( basic_socket_impl_base &&  rhs)
inlinenoexcept

◆ operator=() [2/2]

basic_socket_impl_base & net::basic_socket_impl_base::operator= ( const basic_socket_impl_base rhs)
delete

◆ release()

stdx::expected< native_handle_type, std::error_code > net::basic_socket_impl_base::release ( )
inline

Member Data Documentation

◆ io_ctx_

io_context* net::basic_socket_impl_base::io_ctx_
protected

◆ native_handle_

native_handle_type net::basic_socket_impl_base::native_handle_ {impl::socket::kInvalidSocket}
protected

◆ native_non_blocking_

char net::basic_socket_impl_base::native_non_blocking_
mutableprotected
Initial value:
{
static_cast<char>(-1)
}

◆ non_blocking_

bool net::basic_socket_impl_base::non_blocking_ {false}
protected

The documentation for this class was generated from the following file: