![]()  | 
  
    MySQL 9.5.0
    
   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 | ClientSideConnection = TlsSwitchableClientConnection< XProtocolState > | 
| using | ServerSideConnection = TlsSwitchableConnection< XProtocolState > | 
| using | clock_type = std::chrono::steady_clock | 
Private Member Functions | |
| MysqlRoutingXConnection (MySQLRoutingContext &context, DestinationManager *destination_manager, 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} | 
| connector_type | connector_ | 
| ClientSideConnection | client_conn_ | 
| ServerSideConnection | server_conn_ | 
| WaitableMonitor< bool > | is_completed_ {false} | 
Additional Inherited Members | |
  Protected Member Functions inherited from MySQLRoutingConnectionBase | |
| void | log_connection_summary () | 
  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 | 
      
  | 
  private | 
| using MysqlRoutingXConnection::connector_type = Connector<std::unique_ptr<ConnectionBase> > | 
      
  | 
  private | 
      
  | 
  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 | ( | ) | 
      
  | 
  inline | 
      
  | 
  inline | 
| 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 | 
      
  | 
  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 | ( | ) | 
      
  | 
  inlineoverridevirtual | 
Implements MySQLRoutingConnectionBase.
| void MysqlRoutingXConnection::connect | ( | ) | 
      
  | 
  inlineprivate | 
      
  | 
  inlineprivate | 
      
  | 
  inlinestatic | 
      
  | 
  inline | 
      
  | 
  inlineoverridevirtual | 
Implements MySQLRoutingConnectionBase.
      
  | 
  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 | 
Implements MySQLRoutingConnectionBase.
      
  | 
  inlineoverridevirtual | 
Implements MySQLRoutingConnectionBase.
      
  | 
  inlineoverridevirtual | 
Implements MySQLRoutingConnectionBase.
      
  | 
  inlineoverridevirtual | 
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 | ) | 
      
  | 
  inline | 
      
  | 
  inline | 
| void MysqlRoutingXConnection::server_init_tls | ( | ) | 
      
  | 
  inline | 
      
  | 
  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 | ( | ) | 
      
  | 
  inlineoverridevirtual | 
Implements MySQLRoutingConnectionBase.
      
  | 
  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 | ( | ) | 
      
  | 
  inlineoverridevirtual | 
Implements MySQLRoutingConnectionBase.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private |