26#ifndef ROUTING_CLASSIC_GREETING_FORWARDER_INCLUDED
27#define ROUTING_CLASSIC_GREETING_FORWARDER_INCLUDED
139 using ForwardingProcessor::ForwardingProcessor;
protocol state of a classic protocol connection.
Definition: classic_connection_base.h:52
a processor base class with helper functions.
Definition: forwarding_processor.h:34
Definition: classic_connection_base.h:221
authenticates a server connection.
Definition: classic_greeting_forwarder.h:174
stdx::expected< Result, std::error_code > tls_forward()
Definition: classic_greeting_forwarder.cc:1673
size_t server_last_recv_buf_size_
Definition: classic_greeting_forwarder.h:227
size_t server_last_send_buf_size_
Definition: classic_greeting_forwarder.h:228
stdx::expected< Result, std::error_code > auth_ok()
server-side: auth is ok.
Definition: classic_greeting_forwarder.cc:2007
stdx::expected< Result, std::error_code > client_greeting()
Definition: classic_greeting_forwarder.cc:1386
size_t client_last_send_buf_size_
Definition: classic_greeting_forwarder.h:226
stdx::expected< Result, std::error_code > tls_connect_init()
Definition: classic_greeting_forwarder.cc:1734
Stage stage_
Definition: classic_greeting_forwarder.h:230
stdx::expected< Result, std::error_code > client_greeting_full()
Definition: classic_greeting_forwarder.cc:1547
stdx::expected< Result, std::error_code > process() override
Definition: classic_greeting_forwarder.cc:1293
stdx::expected< Result, std::error_code > tls_forward_init()
Definition: classic_greeting_forwarder.cc:1715
stdx::expected< Result, std::error_code > tls_connect()
Definition: classic_greeting_forwarder.cc:1758
Stage stage() const
Definition: classic_greeting_forwarder.h:206
void client_greeting_server_adjust_caps(ClassicProtocolState *src_protocol, ClassicProtocolState *dst_protocol)
Definition: classic_greeting_forwarder.cc:1334
ServerFirstAuthenticator(MysqlRoutingClassicConnectionBase *conn, std::function< void(const classic_protocol::message::server::Error &)> on_error)
Definition: classic_greeting_forwarder.h:176
stdx::expected< Result, std::error_code > client_greeting_start_tls()
Definition: classic_greeting_forwarder.cc:1469
Stage
stages of the handshake flow.
Definition: classic_greeting_forwarder.h:185
stdx::expected< Result, std::error_code > auth_error()
router<-server: auth error.
Definition: classic_greeting_forwarder.cc:1978
stdx::expected< Result, std::error_code > initial_response()
Definition: classic_greeting_forwarder.cc:1918
size_t client_last_recv_buf_size_
Definition: classic_greeting_forwarder.h:225
stdx::expected< Result, std::error_code > final_response()
Definition: classic_greeting_forwarder.cc:1931
stdx::expected< Result, std::error_code > client_greeting_after_tls()
Definition: classic_greeting_forwarder.cc:1849
void stage(Stage stage)
Definition: classic_greeting_forwarder.h:205
std::function< void(const classic_protocol::message::server::Error &err)> on_error_
Definition: classic_greeting_forwarder.h:233
classic protocol handshake between router<->server and client<->router.
Definition: classic_greeting_forwarder.h:137
stdx::expected< Result, std::error_code > server_greeted()
received an server::greeting or server::error from the server.
Definition: classic_greeting_forwarder.cc:1261
stdx::expected< Result, std::error_code > process() override
Definition: classic_greeting_forwarder.cc:1190
Stage stage() const
Definition: classic_greeting_forwarder.h:156
stdx::expected< Result, std::error_code > server_greeting()
Definition: classic_greeting_forwarder.cc:1218
Stage stage_
Definition: classic_greeting_forwarder.h:163
stdx::expected< Result, std::error_code > connect()
Definition: classic_greeting_forwarder.cc:1211
void stage(Stage stage)
Definition: classic_greeting_forwarder.h:155
Stage
stages of the handshake flow.
Definition: classic_greeting_forwarder.h:144
classic protocol handshake between client<->router and router<->server.
Definition: classic_greeting_forwarder.h:34
stdx::expected< Result, std::error_code > error()
Definition: classic_greeting_forwarder.cc:343
void stage(Stage stage)
Definition: classic_greeting_forwarder.h:95
stdx::expected< Result, std::error_code > client_greeting_start_tls()
Definition: classic_greeting_forwarder.cc:693
stdx::expected< Result, std::error_code > client_greeting_after_tls()
a TLS client greeting.
Definition: classic_greeting_forwarder.cc:975
bool in_handshake_
Definition: classic_greeting_forwarder.h:117
stdx::expected< Result, std::error_code > process() override
Definition: classic_greeting_forwarder.cc:301
stdx::expected< Result, std::error_code > tls_connect_init()
Definition: classic_greeting_forwarder.cc:849
stdx::expected< Result, std::error_code > client_greeting_full()
send a non-TLS client greeting to the server.
Definition: classic_greeting_forwarder.cc:756
stdx::expected< Result, std::error_code > server_greeting_error()
received an server::error from the server.
Definition: classic_greeting_forwarder.cc:394
std::function< void(const classic_protocol::message::server::Error &err)> on_error_
Definition: classic_greeting_forwarder.h:122
Stage stage() const
Definition: classic_greeting_forwarder.h:96
ServerGreetor(MysqlRoutingClassicConnectionBase *conn, bool in_handshake, std::function< void(const classic_protocol::message::server::Error &)> on_error)
construct a server::greeting processor.
Definition: classic_greeting_forwarder.h:59
stdx::expected< Result, std::error_code > server_greeting_greeting()
received a server::greeting from the server.
Definition: classic_greeting_forwarder.cc:480
stdx::expected< Result, std::error_code > client_greeting()
Definition: classic_greeting_forwarder.cc:596
stdx::expected< Result, std::error_code > initial_response()
Definition: classic_greeting_forwarder.cc:1058
stdx::expected< Result, std::error_code > tls_connect()
Definition: classic_greeting_forwarder.cc:875
Stage
stages of the handshake flow.
Definition: classic_greeting_forwarder.h:73
Stage stage_
Definition: classic_greeting_forwarder.h:119
stdx::expected< Result, std::error_code > auth_ok()
server-side: auth is ok.
Definition: classic_greeting_forwarder.cc:1146
void client_greeting_server_adjust_caps(ClassicProtocolState *src_protocol, ClassicProtocolState *dst_protocol)
Definition: classic_greeting_forwarder.cc:424
stdx::expected< Result, std::error_code > server_greeting()
Definition: classic_greeting_forwarder.cc:367
stdx::expected< Result, std::error_code > auth_error()
router<-server: auth error.
Definition: classic_greeting_forwarder.cc:1117
stdx::expected< Result, std::error_code > final_response()
Definition: classic_greeting_forwarder.cc:1071
Definition: expected.h:944
borrowable::message::server::Error< false > Error
Definition: classic_protocol_message.h:1399
static Value err()
Create a Value object that represents an error condition.
Definition: json_binary.cc:910
Definition: gcs_xcom_synode.h:64