#include <violite.h>
|
MYSQL_SOCKET | mysql_socket |
|
bool | localhost = {false} |
|
enum_vio_type | type = {NO_VIO_TYPE} |
|
int | read_timeout = {-1} |
|
int | write_timeout = {-1} |
|
int | retry_count = {1} |
|
bool | inactive = {false} |
|
struct sockaddr_storage | local |
|
struct sockaddr_storage | remote |
|
size_t | addrLen = {0} |
|
char * | read_buffer = {nullptr} |
|
char * | read_pos = {nullptr} |
|
char * | read_end = {nullptr} |
|
std::optional< my_thread_t > | thread_id = 0 |
| Thread PID which is to be sent SIGALRM to terminate ppoll wait when shutting down vio. More...
|
|
sigset_t | signal_mask |
|
std::atomic_flag | poll_shutdown_flag = ATOMIC_FLAG_INIT |
|
char | network_namespace [256] |
| Socket network namespace. More...
|
|
void(* | viodelete )(MYSQL_VIO) = {nullptr} |
|
int(* | vioerrno )(MYSQL_VIO) = {nullptr} |
|
size_t(* | read )(MYSQL_VIO, uchar *, size_t) = {nullptr} |
|
size_t(* | write )(MYSQL_VIO, const uchar *, size_t) = {nullptr} |
|
int(* | timeout )(MYSQL_VIO, uint, bool) = {nullptr} |
|
int(* | viokeepalive )(MYSQL_VIO, bool) = {nullptr} |
|
int(* | fastsend )(MYSQL_VIO) = {nullptr} |
|
bool(* | peer_addr )(MYSQL_VIO, char *, uint16 *, size_t) = {nullptr} |
|
void(* | in_addr )(MYSQL_VIO, struct sockaddr_storage *) = {nullptr} |
|
bool(* | should_retry )(MYSQL_VIO) = {nullptr} |
|
bool(* | was_timeout )(MYSQL_VIO) = {nullptr} |
|
int(* | vioshutdown )(MYSQL_VIO) = {nullptr} |
|
bool(* | is_connected )(MYSQL_VIO) = {nullptr} |
|
bool(* | has_data )(MYSQL_VIO) = {nullptr} |
|
int(* | io_wait )(MYSQL_VIO, enum enum_vio_io_event, int) = {nullptr} |
|
bool(* | connect )(MYSQL_VIO, struct sockaddr *, socklen_t, int) = {nullptr} |
|
void * | ssl_arg = {nullptr} |
|
struct PSI_socket_locker * | m_psi_read_locker = {nullptr} |
|
PSI_socket_locker_state | m_psi_read_state |
|
struct PSI_socket_locker * | m_psi_write_locker = {nullptr} |
|
PSI_socket_locker_state | m_psi_write_state |
|
bool(* | is_blocking )(Vio *vio) = {nullptr} |
|
int(* | set_blocking )(Vio *vio, bool val) = {nullptr} |
|
int(* | set_blocking_flag )(Vio *vio, bool val) = {nullptr} |
|
bool | is_blocking_flag = {true} |
|
◆ Vio() [1/2]
◆ ~Vio()
◆ Vio() [2/2]
◆ operator=() [1/2]
Vio & Vio::operator= |
( |
const Vio & |
| ) |
|
|
delete |
◆ operator=() [2/2]
Vio & Vio::operator= |
( |
Vio && |
vio | ) |
|
◆ internal_vio_create
Vio * internal_vio_create |
( |
uint |
flags | ) |
|
|
friend |
◆ internal_vio_delete
void internal_vio_delete |
( |
Vio * |
vio | ) |
|
|
friend |
◆ vio_reset
Reinitialize an existing Vio object.
- Parameters
-
vio | A VIO object. |
type | A socket-based transport type. |
sd | The socket. |
ssl | An optional SSL structure. |
flags | Flags passed to new_vio. |
- Returns
- Return value is zero on success.
◆ addrLen
size_t Vio::addrLen = {0} |
◆ connect
◆ fastsend
◆ has_data
◆ in_addr
◆ inactive
bool Vio::inactive = {false} |
◆ io_wait
◆ is_blocking
◆ is_blocking_flag
bool Vio::is_blocking_flag = {true} |
◆ is_connected
◆ local
struct sockaddr_storage Vio::local |
◆ localhost
bool Vio::localhost = {false} |
◆ m_psi_read_locker
◆ m_psi_read_state
◆ m_psi_write_locker
◆ m_psi_write_state
◆ mysql_socket
◆ network_namespace
char Vio::network_namespace[256] |
Socket network namespace.
◆ peer_addr
◆ poll_shutdown_flag
std::atomic_flag Vio::poll_shutdown_flag = ATOMIC_FLAG_INIT |
◆ read
◆ read_buffer
◆ read_end
◆ read_pos
◆ read_timeout
int Vio::read_timeout = {-1} |
◆ remote
struct sockaddr_storage Vio::remote |
◆ retry_count
int Vio::retry_count = {1} |
◆ set_blocking
int(* Vio::set_blocking) (Vio *vio, bool val) = {nullptr} |
◆ set_blocking_flag
int(* Vio::set_blocking_flag) (Vio *vio, bool val) = {nullptr} |
◆ should_retry
◆ signal_mask
sigset_t Vio::signal_mask |
◆ ssl_arg
◆ thread_id
Thread PID which is to be sent SIGALRM to terminate ppoll wait when shutting down vio.
It is made an std::optional so that server code has the ability to set this to an illegal value and thereby ensure that it is set before shutting down vio. In the server the THD and thereby the Vio can switch between OS threads, so it does not make sense to assign the thread id when creating the THD/Vio.
It is initialized to 0 here, meaning don't attempt to send a signal, to keep non-server code unaffected.
◆ timeout
◆ type
◆ viodelete
◆ vioerrno
◆ viokeepalive
◆ vioshutdown
◆ was_timeout
◆ write
◆ write_timeout
int Vio::write_timeout = {-1} |
The documentation for this struct was generated from the following files: