![]() |
MySQL 8.4.4
Source Code Documentation
|
classic protocol handshake between client<->router (and router<->server). More...
#include <classic_greeting_receiver.h>
Public Types | |
enum class | Stage { Init , ServerGreeting , ServerFirstGreeting , ClientGreeting , TlsAcceptInit , TlsAccept , ClientGreetingAfterTls , RequestPlaintextPassword , PlaintextPassword , DecryptPassword , Accepted , Authenticated , Error , Ok } |
stages of the handshake flow. More... | |
![]() | |
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 |
![]() | |
BasicProcessor (MysqlRoutingClassicConnectionBase *conn) | |
![]() | |
BasicProcessor (MysqlRoutingClassicConnectionBase *conn) | |
virtual | ~BasicProcessor ()=default |
const MysqlRoutingClassicConnectionBase * | connection () const |
MysqlRoutingClassicConnectionBase * | connection () |
Private Member Functions | |
stdx::expected< Result, std::error_code > | init () |
stdx::expected< Result, std::error_code > | server_greeting () |
client<-router: server::greeting. More... | |
stdx::expected< Result, std::error_code > | server_first_greeting () |
client<-router: server::greeting. More... | |
stdx::expected< Result, std::error_code > | client_greeting () |
handle client greeting. More... | |
stdx::expected< Result, std::error_code > | tls_accept_init () |
stdx::expected< Result, std::error_code > | tls_accept () |
stdx::expected< Result, std::error_code > | client_greeting_after_tls () |
stdx::expected< Result, std::error_code > | request_plaintext_password () |
stdx::expected< Result, std::error_code > | plaintext_password () |
receive the client's plaintext password. More... | |
stdx::expected< Result, std::error_code > | decrypt_password () |
stdx::expected< Result, std::error_code > | accepted () |
stdx::expected< Result, std::error_code > | authenticated () |
stdx::expected< Result, std::error_code > | error () |
Private Attributes | |
Stage | stage_ {Stage::Init} |
classic_protocol::message::server::Error | connect_err_ {} |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
static void | log_fatal_error_code (const char *msg, std::error_code ec) |
log a message with error-code as error. More... | |
classic protocol handshake between client<->router (and router<->server).
|
strong |
|
private |
|
private |
|
private |
handle client greeting.
|
private |
|
private |
|
private |
|
private |
|
private |
receive the client's plaintext password.
after client_send_request_for_plaintext_password()
|
overridevirtual |
Implements BasicProcessor.
|
private |
|
private |
client<-router: server::greeting.
|
private |
client<-router: server::greeting.
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |