MySQL 8.4.0
Source Code Documentation
Processor Class Reference

a processor base class with helper functions. More...

#include <processor.h>

Inheritance diagram for Processor:
[legend]

Public Member Functions

 BasicProcessor (MysqlRoutingClassicConnectionBase *conn)
 
- Public Member Functions inherited from BasicProcessor
 BasicProcessor (MysqlRoutingClassicConnectionBase *conn)
 
virtual ~BasicProcessor ()=default
 
const MysqlRoutingClassicConnectionBaseconnection () const
 
MysqlRoutingClassicConnectionBaseconnection ()
 
virtual stdx::expected< Result, std::error_code > process ()=0
 

Protected Member Functions

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)
 
Tracertracer ()
 
TraceEventtrace_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...
 
TraceEventtrace_command (const std::string_view &prefix)
 start a command span. More...
 
TraceEventtrace_connect_and_forward_command (TraceEvent *parent_span)
 start a connect-and-forward span. More...
 
TraceEventtrace_connect (TraceEvent *parent_span)
 start a connect span. More...
 
void trace_set_connection_attributes (TraceEvent *ev)
 start a connect span. More...
 
TraceEventtrace_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...
 

Static Protected Member Functions

static void log_fatal_error_code (const char *msg, std::error_code ec)
 log a message with error-code as error. More...
 

Additional Inherited Members

- Public Types inherited from BasicProcessor
enum class  Result {
  Again , RecvFromClient , SendToClient , RecvFromServer ,
  RecvFromBoth , SendToServer , SendableToServer , Suspend ,
  Done , Void
}
 

Detailed Description

a processor base class with helper functions.

Member Function Documentation

◆ BasicProcessor()

BasicProcessor::BasicProcessor ( MysqlRoutingClassicConnectionBase conn)
inline

◆ client_socket_failed()

stdx::expected< Processor::Result, std::error_code > Processor::client_socket_failed ( std::error_code  ec)
protected

◆ discard_current_msg() [1/2]

stdx::expected< void, std::error_code > Processor::discard_current_msg ( Channel src_channel,
ClassicProtocolState src_protocol 
)
protected

discard to current message.

Precondition
ensure_full_frame() must true.

◆ discard_current_msg() [2/2]

template<class Proto >
stdx::expected< void, std::error_code > Processor::discard_current_msg ( TlsSwitchableConnection< Proto > &  conn)
inlineprotected

◆ log_fatal_error_code()

void Processor::log_fatal_error_code ( const char *  msg,
std::error_code  ec 
)
staticprotected

log a message with error-code as error.

◆ recv_client_failed()

stdx::expected< Processor::Result, std::error_code > Processor::recv_client_failed ( std::error_code  ec)
protected

◆ recv_server_failed()

stdx::expected< Processor::Result, std::error_code > Processor::recv_server_failed ( std::error_code  ec)
protected

◆ send_client_failed()

stdx::expected< Processor::Result, std::error_code > Processor::send_client_failed ( std::error_code  ec)
protected

◆ send_server_failed()

stdx::expected< Processor::Result, std::error_code > Processor::send_server_failed ( std::error_code  ec)
protected

◆ server_socket_failed()

stdx::expected< Processor::Result, std::error_code > Processor::server_socket_failed ( std::error_code  ec)
protected

◆ trace()

void Processor::trace ( Tracer::Event  e)
protected

◆ trace_command()

TraceEvent * Processor::trace_command ( const std::string_view &  prefix)
protected

start a command span.

Parameters
prefixname of the command span.

◆ trace_command_end()

void Processor::trace_command_end ( TraceEvent event,
TraceEvent::StatusCode  status_code = TraceEvent::StatusCode::kUnset 
)
protected

end a command span and set a status-code.

◆ trace_connect()

TraceEvent * Processor::trace_connect ( TraceEvent parent_span)
protected

start a connect span.

◆ trace_connect_and_forward_command()

TraceEvent * Processor::trace_connect_and_forward_command ( TraceEvent parent_span)
protected

start a connect-and-forward span.

◆ trace_forward_command()

TraceEvent * Processor::trace_forward_command ( TraceEvent parent_span)
protected

start a forward span.

◆ trace_set_connection_attributes()

void Processor::trace_set_connection_attributes ( TraceEvent ev)
protected

start a connect span.

◆ trace_span()

TraceEvent * Processor::trace_span ( TraceEvent parent_span,
const std::string_view &  prefix 
)
protected

start a span.

Parameters
parent_spanparent span to nest this trace span in.
prefixname of the span.

◆ trace_span_end()

void Processor::trace_span_end ( TraceEvent event,
TraceEvent::StatusCode  status_code = TraceEvent::StatusCode::kUnset 
)
protected

end a span and set a status-code.

◆ tracer()

Tracer & Processor::tracer ( )
protected

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