|
stdx::expected< Processor::Result, std::error_code > | from_stash () |
|
stdx::expected< Processor::Result, std::error_code > | connect () |
|
stdx::expected< Processor::Result, std::error_code > | connected () |
| the handshake part. More...
|
|
stdx::expected< Processor::Result, std::error_code > | authenticated () |
|
stdx::expected< Processor::Result, std::error_code > | fetch_user_attrs () |
|
stdx::expected< Processor::Result, std::error_code > | fetch_user_attrs_done () |
|
stdx::expected< Processor::Result, std::error_code > | send_auth_ok () |
|
stdx::expected< Processor::Result, std::error_code > | set_vars () |
|
stdx::expected< Processor::Result, std::error_code > | set_vars_done () |
|
stdx::expected< Processor::Result, std::error_code > | set_server_option () |
|
stdx::expected< Processor::Result, std::error_code > | set_server_option_done () |
|
stdx::expected< Processor::Result, std::error_code > | set_schema () |
|
stdx::expected< Processor::Result, std::error_code > | set_schema_done () |
|
stdx::expected< Processor::Result, std::error_code > | fetch_sys_vars () |
|
stdx::expected< Processor::Result, std::error_code > | fetch_sys_vars_done () |
|
stdx::expected< Processor::Result, std::error_code > | wait_gtid_executed () |
|
stdx::expected< Processor::Result, std::error_code > | wait_gtid_executed_done () |
|
stdx::expected< Processor::Result, std::error_code > | set_trx_characteristics () |
|
stdx::expected< Processor::Result, std::error_code > | set_trx_characteristics_done () |
|
stdx::expected< Processor::Result, std::error_code > | pool_or_close () |
|
stdx::expected< Processor::Result, std::error_code > | fallback_to_write () |
|
|
static constexpr const std::chrono::milliseconds | kConnectRetryInterval |
| interval between connect-retries. More...
|
|
stdx::expected< Result, std::error_code > | forward_server_to_client (bool noflush=false) |
| forward the current packet from the server-side to the client-side. More...
|
|
stdx::expected< Result, std::error_code > | forward_client_to_server (bool noflush=false) |
| forward the current packet from the client-side to the server-side. More...
|
|
stdx::expected< Processor::Result, std::error_code > | skip_or_inject_end_of_columns (bool no_flush=false) |
| adjust the end-of-columns packet. More...
|
|
stdx::expected< bool, std::error_code > | pool_server_connection () |
| move the server connection to the pool. More...
|
|
stdx::expected< Processor::Result, std::error_code > | socket_reconnect_start (TraceEvent *parent_event) |
| reconnect a socket. More...
|
|
stdx::expected< Processor::Result, std::error_code > | mysql_reconnect_start (TraceEvent *parent_event) |
| reconnect a mysql classic connection. More...
|
|
stdx::expected< Result, std::error_code > | recv_server_failed_and_check_client_socket (std::error_code ec) |
| handle error-code of a failed receive() from the server-socket and check the status of the client socket. More...
|
|
stdx::expected< Processor::Result, std::error_code > | reconnect_send_error_msg (Channel &src_channel, ClassicProtocolState &src_protocol) |
| send a Error msg based on the reconnect_error(). More...
|
|
template<class Proto > |
stdx::expected< Processor::Result, std::error_code > | reconnect_send_error_msg (TlsSwitchableConnection< Proto > &conn) |
|
void | reconnect_error (classic_protocol::message::server::Error err) |
| set the reconnect error. More...
|
|
classic_protocol::message::server::Error | reconnect_error () const |
| get the reconnect error. More...
|
|
stdx::expected< Result, std::error_code > | send_server_failed (std::error_code ec) |
|
stdx::expected< Result, std::error_code > | recv_server_failed (std::error_code ec) |
|
stdx::expected< Result, std::error_code > | send_client_failed (std::error_code ec) |
|
stdx::expected< Result, std::error_code > | recv_client_failed (std::error_code ec) |
|
stdx::expected< Result, std::error_code > | server_socket_failed (std::error_code ec) |
|
stdx::expected< Result, std::error_code > | client_socket_failed (std::error_code ec) |
|
stdx::expected< void, std::error_code > | discard_current_msg (Channel &src_channel, ClassicProtocolState &src_protocol) |
| discard to current message. More...
|
|
template<class Proto > |
stdx::expected< void, std::error_code > | discard_current_msg (TlsSwitchableConnection< Proto > &conn) |
|
void | trace (Tracer::Event e) |
|
Tracer & | tracer () |
|
TraceEvent * | trace_span (TraceEvent *parent_span, const std::string_view &prefix) |
| start a span. More...
|
|
void | trace_span_end (TraceEvent *event, TraceEvent::StatusCode status_code=TraceEvent::StatusCode::kUnset) |
| end a span and set a status-code. More...
|
|
TraceEvent * | trace_command (const std::string_view &prefix) |
| start a command span. More...
|
|
TraceEvent * | trace_connect_and_forward_command (TraceEvent *parent_span) |
| start a connect-and-forward span. More...
|
|
TraceEvent * | trace_connect (TraceEvent *parent_span) |
| start a connect span. More...
|
|
void | trace_set_connection_attributes (TraceEvent *ev) |
| start a connect span. More...
|
|
TraceEvent * | trace_forward_command (TraceEvent *parent_span) |
| start a forward span. More...
|
|
void | trace_command_end (TraceEvent *event, TraceEvent::StatusCode status_code=TraceEvent::StatusCode::kUnset) |
| end a command span and set a status-code. More...
|
|
template<class T > |
static bool | message_can_be_forwarded_as_is (ClassicProtocolState &src_protocol, ClassicProtocolState &dst_protocol, const T &msg) |
| check of the capabilities of the source and the destination are the same for this message. More...
|
|
static bool | connect_error_is_transient (const classic_protocol::message::server::Error &err) |
| check if the error is a transient error. More...
|
|
static void | log_fatal_error_code (const char *msg, std::error_code ec) |
| log a message with error-code as error. More...
|
|
attach a server connection and initialize it.
- if a server-connection is attached to the client connection, leave.
- otherwise,
- if a connection can be taken from the pool, take it.
- otherwise, connect to the server and authenticate.
- set tracking session-vars
- set the client's schema, if it differs from the server-connection's.
Precondition:
- the client's cleartext password must be known.