26#ifndef SOCKET_CONNECTION_INCLUDED 
   27#define SOCKET_CONNECTION_INCLUDED 
   50#ifdef HAVE_PSI_STATEMENT_INTERFACE 
  137  struct select_info_t {
 
  138    fd_set m_read_fds, m_client_fds;
 
  140    select_info_t() : m_max_used_connection(0) { FD_ZERO(&m_client_fds); }
 
  143  select_info_t m_select_info;
 
  166                         bool use_separate_thread_for_admin, uint backlog,
 
  167                         uint port_timeout, std::string unix_sockname);
 
Kerberos Client Authentication nullptr
Definition: auth_kerberos_client_plugin.cc:251
 
This abstract base class represents connection channel information about a new connection.
Definition: channel_info.h:47
 
This class represents the Mysqld_socket_listener which prepares the listener sockets to receive conne...
Definition: socket_connection.h:106
 
void close_listener()
Close the listener.
Definition: socket_connection.cc:1443
 
std::string m_unix_sockname
Definition: socket_connection.h:123
 
void setup_connection_events(const socket_vector_t &socket_vector)
Set up connection events for poll or select.
Definition: socket_connection.cc:888
 
uint m_port_timeout
Definition: socket_connection.h:122
 
bool m_use_separate_thread_for_admin
Definition: socket_connection.h:119
 
uint m_backlog
Definition: socket_connection.h:121
 
MYSQL_SOCKET m_admin_interface_listen_socket
Definition: socket_connection.h:127
 
uint m_tcp_port
Definition: socket_connection.h:117
 
std::list< Bind_address_info > m_bind_addresses
Definition: socket_connection.h:111
 
bool m_unlink_sockname
Definition: socket_connection.h:124
 
Channel_info * listen_for_connection_event()
The body of the event loop that listen for connection events from clients.
Definition: socket_connection.cc:1349
 
const Listen_socket * get_listen_socket() const
Get a socket ready to accept incoming connection.
Definition: socket_connection.cc:1307
 
uint m_admin_tcp_port
Definition: socket_connection.h:118
 
bool setup_listener()
Set up a listener - set of sockets to listen for connection events from clients.
Definition: socket_connection.cc:1251
 
poll_info_t m_poll_info
Definition: socket_connection.h:135
 
~Mysqld_socket_listener()
Definition: socket_connection.h:199
 
Bind_address_info m_admin_bind_address
Definition: socket_connection.h:116
 
Mysqld_socket_listener(const std::list< Bind_address_info > &bind_addresses, uint tcp_port, const Bind_address_info &admin_bind_addr, uint admin_tcp_port, bool use_separate_thread_for_admin, uint backlog, uint port_timeout, std::string unix_sockname)
Constructor to setup a listener for listen to connect events from clients.
Definition: socket_connection.cc:839
 
void add_socket_to_listener(MYSQL_SOCKET listen_socket)
Add a socket to a set of sockets being waiting for a new connection request.
Definition: socket_connection.cc:872
 
bool check_and_spawn_admin_connection_handler_thread() const
Spawn admin connection handler thread if separate thread is required to accept admin connections.
Definition: socket_connection.cc:1241
 
socket_vector_t m_socket_vector
Definition: socket_connection.h:126
 
Defines various enable/disable and HAVE_ macros related to the performance schema instrumentation sys...
 
int my_socket
Definition: mysql.h:65
 
static uint tcp_port
Definition: mysqladmin.cc:76
 
stdx::expected< native_handle_type, error_type > socket(int family, int sock_type, int protocol)
Definition: socket.h:63
 
Performance schema instrumentation interface.
 
required string network_namespace
Definition: replication_asynchronous_connection_failover.proto:34
 
std::vector< Listen_socket > socket_vector_t
Definition: socket_connection.h:81
 
ulong get_connection_errors_query_block()
Definition: socket_connection.cc:123
 
const char * ipv6_all_addresses
Definition: socket_connection.cc:296
 
Socket_interface_type
Definition: socket_connection.h:57
 
const char * ipv4_all_addresses
Definition: socket_connection.cc:294
 
Socket_type
Definition: socket_connection.h:55
 
ulong get_connection_errors_accept()
Definition: socket_connection.cc:127
 
PSI_statement_info stmt_info_new_packet
Definition: init_net_server_extension.cc:50
 
const char * MY_BIND_ALL_ADDRESSES
MY_BIND_ALL_ADDRESSES defines a special value for the bind-address option, which means that the serve...
Definition: socket_connection.cc:292
 
ulong get_connection_errors_tcpwrap()
Definition: socket_connection.cc:129
 
Plain structure to collect together a host name/ip address and a corresponding network namespace if s...
Definition: socket_connection.h:88
 
std::string network_namespace
Definition: socket_connection.h:89
 
Bind_address_info(const std::string &addr)
Definition: socket_connection.h:92
 
Bind_address_info()=default
 
Bind_address_info(const std::string &addr, const std::string &nspace)
Definition: socket_connection.h:94
 
std::string address
Definition: socket_connection.h:89
 
Definition: socket_connection.h:59
 
Socket_type m_socket_type
Definition: socket_connection.h:73
 
const std::string * m_network_namespace
Definition: socket_connection.h:74
 
Socket_interface_type m_socket_interface
Definition: socket_connection.h:76
 
Listen_socket(MYSQL_SOCKET socket, Socket_type socket_type, const std::string *network_namespace, Socket_interface_type socket_interface)
Definition: socket_connection.h:65
 
Listen_socket(MYSQL_SOCKET socket, Socket_type socket_type)
Definition: socket_connection.h:60
 
MYSQL_SOCKET m_socket
Definition: socket_connection.h:72
 
An instrumented socket.
Definition: mysql_socket_bits.h:35
 
Definition: socket_connection.h:130
 
std::vector< struct pollfd > m_fds
Definition: socket_connection.h:131
 
std::vector< MYSQL_SOCKET > m_pfs_fds
Definition: socket_connection.h:132
 
Statement instrument information.
Definition: psi_statement_bits.h:133