MySQL 8.0.40
Source Code Documentation
|
#include <x_connection.h>
Static Public Member Functions | |
template<typename... Args> | |
static std::shared_ptr< MysqlRoutingXConnection > | create (Args &&... args) |
static stdx::expected< size_t, std::error_code > | encode_error_packet (std::vector< uint8_t > &error_frame, uint16_t error_code, const std::string &msg, const std::string &sql_state="HY000", Mysqlx::Error::Severity severity=Mysqlx::Error::ERROR) |
Private Types | |
using | clock_type = std::chrono::steady_clock |
Private Member Functions | |
MysqlRoutingXConnection (MySQLRoutingContext &context, RouteDestination *route_destination, std::unique_ptr< ConnectionBase > client_connection, std::unique_ptr< RoutingConnectionBase > client_routing_connection, std::function< void(MySQLRoutingConnectionBase *)> remove_callback) | |
connector_type & | connector () |
const connector_type & | connector () const |
Private Attributes | |
int | active_work_ {0} |
clock_type::time_point | started_ {clock_type::now()} |
clock_type::time_point | last_trace_ {clock_type::now()} |
bool | greeting_from_router_ {true} |
RouteDestination * | route_destination_ |
Destinations | destinations_ |
connector_type | connector_ |
std::unique_ptr< ProtocolSplicerBase > | socket_splicer_ |
Additional Inherited Members | |
Protected Attributes inherited from MySQLRoutingConnectionBase | |
MySQLRoutingContext & | context_ |
wrapper for common data used by all routing threads More... | |
std::function< void(MySQLRoutingConnectionBase *)> | remove_callback_ |
callback that is called when thread of execution completes More... | |
Monitor< Stats > | stats_ {{}} |
Monitor< bool > | disconnect_ {{}} |
|
private |
using MysqlRoutingXConnection::connector_type = Connector<std::unique_ptr<ConnectionBase> > |
|
strong |
|
strong |
|
inlineprivate |
void MysqlRoutingXConnection::async_recv_client | ( | Function | next | ) |
void MysqlRoutingXConnection::async_recv_server | ( | Function | next | ) |
void MysqlRoutingXConnection::async_run | ( | ) |
void MysqlRoutingXConnection::async_send_client | ( | Function | next | ) |
void MysqlRoutingXConnection::async_send_client_buffer | ( | net::const_buffer | send_buf, |
Function | next | ||
) |
void MysqlRoutingXConnection::async_send_server | ( | Function | next | ) |
void MysqlRoutingXConnection::async_send_server_buffer | ( | net::const_buffer | send_buf, |
Function | next | ||
) |
|
inline |
void MysqlRoutingXConnection::client_cap_get | ( | ) |
client wants to get the capabilities of the server.
send back the router's caps.
void MysqlRoutingXConnection::client_cap_set | ( | ) |
client wants to set the capabilities.
send back the router's caps.
void MysqlRoutingXConnection::client_con_close | ( | ) |
void MysqlRoutingXConnection::client_crud_create_view | ( | ) |
void MysqlRoutingXConnection::client_crud_delete | ( | ) |
void MysqlRoutingXConnection::client_crud_drop_view | ( | ) |
void MysqlRoutingXConnection::client_crud_find | ( | ) |
void MysqlRoutingXConnection::client_crud_insert | ( | ) |
void MysqlRoutingXConnection::client_crud_modify_view | ( | ) |
void MysqlRoutingXConnection::client_crud_update | ( | ) |
void MysqlRoutingXConnection::client_cursor_close | ( | ) |
void MysqlRoutingXConnection::client_cursor_fetch | ( | ) |
void MysqlRoutingXConnection::client_cursor_open | ( | ) |
void MysqlRoutingXConnection::client_expect_close | ( | ) |
void MysqlRoutingXConnection::client_expect_open | ( | ) |
void MysqlRoutingXConnection::client_prepare_deallocate | ( | ) |
void MysqlRoutingXConnection::client_prepare_execute | ( | ) |
void MysqlRoutingXConnection::client_prepare_prepare | ( | ) |
|
inline |
void MysqlRoutingXConnection::client_recv_auth_continue | ( | ) |
void MysqlRoutingXConnection::client_recv_cmd | ( | ) |
void MysqlRoutingXConnection::client_send_server_greeting_from_router | ( | ) |
void MysqlRoutingXConnection::client_sess_auth_start | ( | ) |
void MysqlRoutingXConnection::client_session_close | ( | ) |
void MysqlRoutingXConnection::client_session_reset | ( | ) |
void MysqlRoutingXConnection::client_socket_failed | ( | std::error_code | ec | ) |
void MysqlRoutingXConnection::client_stmt_execute | ( | ) |
void MysqlRoutingXConnection::client_tls_shutdown | ( | ) |
void MysqlRoutingXConnection::connect | ( | ) |
|
inlineprivate |
|
inlineprivate |
|
inlinestatic |
|
inline |
|
overridevirtual |
Implements MySQLRoutingConnectionBase.
void MysqlRoutingXConnection::done | ( | ) |
|
static |
void MysqlRoutingXConnection::finish | ( | ) |
stdx::expected< MysqlRoutingXConnection::ForwardResult, std::error_code > MysqlRoutingXConnection::forward_frame_from_client_to_server | ( | ) |
stdx::expected< MysqlRoutingXConnection::ForwardResult, std::error_code > MysqlRoutingXConnection::forward_frame_from_server_to_client | ( | ) |
stdx::expected< void, std::error_code > MysqlRoutingXConnection::forward_tls | ( | Channel * | src_channel, |
Channel * | dst_channel | ||
) |
void MysqlRoutingXConnection::forward_tls_client_to_server | ( | ) |
void MysqlRoutingXConnection::forward_tls_init | ( | ) |
void MysqlRoutingXConnection::forward_tls_server_to_client | ( | ) |
|
inlineoverridevirtual |
Returns address of client which connected to router.
Implements MySQLRoutingConnectionBase.
|
inlineoverridevirtual |
Implements MySQLRoutingConnectionBase.
|
inlineoverridevirtual |
Returns address of server to which connection is established.
Implements MySQLRoutingConnectionBase.
|
inline |
void MysqlRoutingXConnection::passthrough_tls_init | ( | ) |
void MysqlRoutingXConnection::recv_client_failed | ( | std::error_code | ec | ) |
void MysqlRoutingXConnection::recv_server_failed | ( | std::error_code | ec | ) |
void MysqlRoutingXConnection::send_client_failed | ( | std::error_code | ec | ) |
void MysqlRoutingXConnection::send_server_failed | ( | std::error_code | ec | ) |
void MysqlRoutingXConnection::server_init_tls | ( | ) |
|
inline |
void MysqlRoutingXConnection::server_recv_auth_response | ( | ) |
void MysqlRoutingXConnection::server_recv_auth_response_continue | ( | ) |
void MysqlRoutingXConnection::server_recv_auth_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_auth_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_cap_get_response | ( | ) |
void MysqlRoutingXConnection::server_recv_cap_get_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_cap_get_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_cap_set_response | ( | ) |
void MysqlRoutingXConnection::server_recv_cap_set_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_cap_set_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_check_caps_response | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_create_view_response | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_create_view_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_create_view_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_delete_response | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_delete_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_delete_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_drop_view_response | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_drop_view_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_drop_view_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_find_response | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_find_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_find_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_insert_response | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_insert_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_insert_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_modify_view_response | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_modify_view_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_modify_view_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_update_response | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_update_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_crud_update_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_cursor_close_response | ( | ) |
void MysqlRoutingXConnection::server_recv_cursor_close_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_cursor_close_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_cursor_fetch_response | ( | ) |
void MysqlRoutingXConnection::server_recv_cursor_fetch_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_cursor_fetch_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_cursor_open_response | ( | ) |
void MysqlRoutingXConnection::server_recv_cursor_open_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_cursor_open_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_expect_close_response | ( | ) |
void MysqlRoutingXConnection::server_recv_expect_close_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_expect_close_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_expect_open_response | ( | ) |
void MysqlRoutingXConnection::server_recv_expect_open_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_expect_open_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_prepare_deallocate_response | ( | ) |
void MysqlRoutingXConnection::server_recv_prepare_deallocate_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_prepare_deallocate_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_prepare_execute_response | ( | ) |
void MysqlRoutingXConnection::server_recv_prepare_execute_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_prepare_execute_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_prepare_prepare_response | ( | ) |
void MysqlRoutingXConnection::server_recv_prepare_prepare_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_prepare_prepare_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_server_greeting_from_server | ( | ) |
void MysqlRoutingXConnection::server_recv_session_close_response | ( | ) |
void MysqlRoutingXConnection::server_recv_session_close_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_session_close_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_session_reset_response | ( | ) |
void MysqlRoutingXConnection::server_recv_session_reset_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_session_reset_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_stmt_execute_response | ( | ) |
void MysqlRoutingXConnection::server_recv_stmt_execute_response_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_stmt_execute_response_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_switch_tls_response | ( | ) |
void MysqlRoutingXConnection::server_recv_switch_tls_response_passthrough | ( | ) |
void MysqlRoutingXConnection::server_recv_switch_tls_response_passthrough_forward | ( | ) |
void MysqlRoutingXConnection::server_recv_switch_tls_response_passthrough_forward_last | ( | ) |
void MysqlRoutingXConnection::server_recv_switch_tls_response_passthrough_forward_ok | ( | ) |
void MysqlRoutingXConnection::server_send_check_caps | ( | ) |
void MysqlRoutingXConnection::server_send_switch_to_tls | ( | ) |
void MysqlRoutingXConnection::server_socket_failed | ( | std::error_code | ec | ) |
void MysqlRoutingXConnection::server_tls_shutdown | ( | ) |
|
inline |
|
inline |
|
inline |
void MysqlRoutingXConnection::tls_accept | ( | ) |
accept a TLS handshake.
void MysqlRoutingXConnection::tls_accept_finalize | ( | ) |
void MysqlRoutingXConnection::tls_accept_init | ( | ) |
void MysqlRoutingXConnection::tls_connect | ( | ) |
connect server_channel to a TLS server.
void MysqlRoutingXConnection::tls_connect_init | ( | ) |
void MysqlRoutingXConnection::wait_client_close | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |