MySQL 8.0.39
Source Code Documentation
|
#include <classic_quit_forwarder.h>
Public Types | |
enum class | Stage { Command , ServerTlsShutdownFirst , ServerShutdownSend , ServerTlsShutdownResponse , ClientTlsShutdownFirst , ClientShutdownSend , ClientTlsShutdownResponse , Done } |
Public Types inherited from BasicProcessor | |
enum class | Result { Again , RecvFromClient , SendToClient , RecvFromServer , RecvFromBoth , SendToServer , SendableToServer , Suspend , Done , Void } |
Public Member Functions | |
stdx::expected< Result, std::error_code > | process () override |
forward the quit message flow. More... | |
void | stage (Stage stage) |
Stage | stage () const |
Public Member Functions inherited from Processor | |
BasicProcessor (MysqlRoutingClassicConnectionBase *conn) | |
Public Member Functions inherited from BasicProcessor | |
BasicProcessor (MysqlRoutingClassicConnectionBase *conn) | |
virtual | ~BasicProcessor ()=default |
const MysqlRoutingClassicConnectionBase * | connection () const |
MysqlRoutingClassicConnectionBase * | connection () |
Private Member Functions | |
stdx::expected< Result, std::error_code > | command () |
stdx::expected< Result, std::error_code > | server_tls_shutdown_first () |
stdx::expected< Result, std::error_code > | server_shutdown_send () |
stdx::expected< Result, std::error_code > | server_tls_shutdown_response () |
stdx::expected< Result, std::error_code > | client_tls_shutdown_first () |
stdx::expected< Result, std::error_code > | client_shutdown_send () |
stdx::expected< Result, std::error_code > | client_tls_shutdown_response () |
Private Attributes | |
Stage | stage_ {Stage::Command} |
Additional Inherited Members | |
Protected Member Functions inherited from ForwardingProcessor | |
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< 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 () |
reconnect a socket. More... | |
stdx::expected< Processor::Result, std::error_code > | mysql_reconnect_start () |
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... | |
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... | |
Protected Member Functions inherited from Processor | |
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... | |
void | trace (Tracer::Event e) |
Tracer & | tracer () |
Static Protected Member Functions inherited from Processor | |
static void | log_fatal_error_code (const char *msg, std::error_code ec) |
log a message with error-code as error. More... | |
|
strong |
|
private |
|
private |
|
private |
|
private |
|
overridevirtual |
forward the quit message flow.
Expected overall flow:
It is no error, if there is no server-connection.
Implements BasicProcessor.
|
private |
|
private |
|
private |
|
inline |
|
inline |
|
private |