MySQL 8.0.39
Source Code Documentation
|
a processor base class with helper functions. More...
#include <forwarding_processor.h>
Protected Member Functions | |
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 () |
Private Attributes | |
classic_protocol::message::server::Error | reconnect_error_ {} |
reconnect error set by lazy_reconnect_start(). More... | |
Additional Inherited Members | |
Public Types inherited from BasicProcessor | |
enum class | Result { Again , RecvFromClient , SendToClient , RecvFromServer , RecvFromBoth , SendToServer , SendableToServer , Suspend , Done , Void } |
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 () |
virtual stdx::expected< Result, std::error_code > | process ()=0 |
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... | |
a processor base class with helper functions.
|
protected |
forward the current packet from the client-side to the server-side.
Pushes a ClientToServerForwarder to the processor-stack.
noflush | if true, it isn't required to wait until the packet is sent to the server. |
|
protected |
forward the current packet from the server-side to the client-side.
use 'noflush' if the next message is from the server side too to allow merging of multiple server-side packets into one "send-to-client".
Useful for resultsets which is split into multiple packets.
Pushes a ServerToClientForwarder to the processor-stack.
noflush | if true, it isn't required to wait until the packet is sent to the client. |
|
protected |
reconnect a mysql classic connection.
pushes a LazyConnector on the processor stack.
when finished, a mysql connection is authenticated.
|
protected |
move the server connection to the pool.
|
inlineprotected |
get the reconnect error.
|
inlineprotected |
set the reconnect error.
may be called from handlers.
|
protected |
send a Error msg based on the reconnect_error().
Result::SendToClient | on success. |
|
protected |
handle error-code of a failed receive() from the server-socket and check the status of the client socket.
|
protected |
reconnect a socket.
pushes a ConnectProcessor on the processor stack.
when finished, a socket is established.
Result::Again | on success. |
|
private |
reconnect error set by lazy_reconnect_start().