MySQL 8.0.39
Source Code Documentation
CloneForwarder Class Reference

#include <classic_clone_forwarder.h>

Inheritance diagram for CloneForwarder:
[legend]

Public Types

enum class  Stage {
  Command , Connect , Connected , Response ,
  CloneCommand , CloneInit , CloneAttach , CloneReinit ,
  CloneExecute , CloneAck , CloneExit , CloneResponse ,
  CloneComplete , CloneError , CloneData , Ok ,
  Error , 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
 
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 MysqlRoutingClassicConnectionBaseconnection () const
 
MysqlRoutingClassicConnectionBaseconnection ()
 

Private Member Functions

stdx::expected< Result, std::error_code > command ()
 
stdx::expected< Result, std::error_code > connect ()
 
stdx::expected< Result, std::error_code > connected ()
 
stdx::expected< Result, std::error_code > response ()
 
stdx::expected< Result, std::error_code > clone_command ()
 
stdx::expected< Result, std::error_code > clone_init ()
 
stdx::expected< Result, std::error_code > clone_attach ()
 
stdx::expected< Result, std::error_code > clone_reinit ()
 
stdx::expected< Result, std::error_code > clone_execute ()
 
stdx::expected< Result, std::error_code > clone_ack ()
 
stdx::expected< Result, std::error_code > clone_exit ()
 
stdx::expected< Result, std::error_code > clone_response ()
 
stdx::expected< Result, std::error_code > clone_data ()
 
stdx::expected< Result, std::error_code > clone_complete ()
 
stdx::expected< Result, std::error_code > clone_error ()
 
stdx::expected< Result, std::error_code > ok ()
 
stdx::expected< Result, std::error_code > error ()
 

Private Attributes

Stage stage_ {Stage::Command}
 
uint8_t clone_cmd_ {}
 

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)
 
Tracertracer ()
 
- 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...
 

Member Enumeration Documentation

◆ Stage

enum class CloneForwarder::Stage
strong
Enumerator
Command 
Connect 
Connected 
Response 
CloneCommand 
CloneInit 
CloneAttach 
CloneReinit 
CloneExecute 
CloneAck 
CloneExit 
CloneResponse 
CloneComplete 
CloneError 
CloneData 
Ok 
Error 
Done 

Member Function Documentation

◆ clone_ack()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::clone_ack ( )
private

◆ clone_attach()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::clone_attach ( )
private

◆ clone_command()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::clone_command ( )
private

◆ clone_complete()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::clone_complete ( )
private

◆ clone_data()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::clone_data ( )
private

◆ clone_error()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::clone_error ( )
private

◆ clone_execute()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::clone_execute ( )
private

◆ clone_exit()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::clone_exit ( )
private

◆ clone_init()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::clone_init ( )
private

◆ clone_reinit()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::clone_reinit ( )
private

◆ clone_response()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::clone_response ( )
private

◆ command()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::command ( )
private

◆ connect()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::connect ( )
private

◆ connected()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::connected ( )
private

◆ error()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::error ( )
private

◆ ok()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::ok ( )
private

◆ process()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::process ( )
overridevirtual

Implements BasicProcessor.

◆ response()

stdx::expected< Processor::Result, std::error_code > CloneForwarder::response ( )
private

◆ stage() [1/2]

Stage CloneForwarder::stage ( ) const
inline

◆ stage() [2/2]

void CloneForwarder::stage ( Stage  stage)
inline

Member Data Documentation

◆ clone_cmd_

uint8_t CloneForwarder::clone_cmd_ {}
private

◆ stage_

Stage CloneForwarder::stage_ {Stage::Command}
private

The documentation for this class was generated from the following files: