26#ifndef ROUTING_SRC_PROCESSORS_SESSION_CLASSIC_LAZY_CONNECT_H_
27#define ROUTING_SRC_PROCESSORS_SESSION_CLASSIC_LAZY_CONNECT_H_
29#include <system_error>
116 const std::optional<classic_protocol::message::server::Error> &
err) {
120 std::optional<classic_protocol::message::server::Error>
failed()
const {
164 std::chrono::steady_clock::now()};
166 std::optional<classic_protocol::message::server::Error>
failed_;
a processor base class with helper functions.
Definition: forwarding_processor.h:38
attach a server connection and initialize it.
Definition: classic_lazy_connect.h:49
stdx::expected< Processor::Result, std::error_code > fallback_to_write()
Definition: classic_lazy_connect.cc:896
stdx::expected< Processor::Result, std::error_code > authenticated()
Definition: classic_lazy_connect.cc:499
stdx::expected< Processor::Result, std::error_code > set_vars_done()
Definition: classic_lazy_connect.cc:657
void failed(const std::optional< classic_protocol::message::server::Error > &err)
Definition: classic_lazy_connect.h:115
stdx::expected< Processor::Result, std::error_code > connected()
the handshake part.
Definition: classic_lazy_connect.cc:395
stdx::expected< Processor::Result, std::error_code > set_server_option_done()
Definition: classic_lazy_connect.cc:699
stdx::expected< Processor::Result, std::error_code > process() override
Definition: classic_lazy_connect.cc:234
stdx::expected< Processor::Result, std::error_code > wait_gtid_executed()
Definition: classic_lazy_connect.cc:818
stdx::expected< Processor::Result, std::error_code > fetch_sys_vars_done()
Definition: classic_lazy_connect.cc:759
stdx::expected< Processor::Result, std::error_code > set_trx_characteristics()
Definition: classic_lazy_connect.cc:943
std::function< void(const classic_protocol::message::server::Error &err)> on_error_
Definition: classic_lazy_connect.h:157
stdx::expected< Processor::Result, std::error_code > set_schema_done()
Definition: classic_lazy_connect.cc:794
TraceEvent * trace_event_authenticate_
Definition: classic_lazy_connect.h:172
std::string trx_stmt_
Definition: classic_lazy_connect.h:168
stdx::expected< Processor::Result, std::error_code > from_stash()
Definition: classic_lazy_connect.cc:309
stdx::expected< Processor::Result, std::error_code > wait_gtid_executed_done()
Definition: classic_lazy_connect.cc:864
Stage stage_
Definition: classic_lazy_connect.h:150
stdx::expected< Processor::Result, std::error_code > pool_or_close()
Definition: classic_lazy_connect.cc:887
std::optional< std::string_view > diagnostic_stage_name() const override
stage name of a staged processor.
Definition: classic_lazy_connect.cc:1074
TraceEvent * trace_event_set_schema_
Definition: classic_lazy_connect.h:175
TraceEvent * trace_event_fallback_to_write_
Definition: classic_lazy_connect.h:178
RouterRequireFetcher::Result required_connection_attributes_fetcher_result_
Definition: classic_lazy_connect.h:154
stdx::expected< Processor::Result, std::error_code > set_schema()
Definition: classic_lazy_connect.cc:770
bool already_fallback_
Definition: classic_lazy_connect.h:160
bool retry_connect_
Definition: classic_lazy_connect.h:159
bool in_handshake_
Definition: classic_lazy_connect.h:152
stdx::expected< Processor::Result, std::error_code > fetch_sys_vars()
Definition: classic_lazy_connect.cc:717
std::optional< classic_protocol::message::server::Error > failed_
Definition: classic_lazy_connect.h:166
LazyConnector(MysqlRoutingClassicConnectionBase *conn, bool in_handshake, std::function< void(const classic_protocol::message::server::Error &err)> on_error, TraceEvent *parent_event)
create a lazy-connector.
Definition: classic_lazy_connect.h:63
TraceEvent * trace_event_wait_gtid_executed_
Definition: classic_lazy_connect.h:176
TraceEvent * trace_event_set_trx_characteristics_
Definition: classic_lazy_connect.h:179
std::chrono::steady_clock::time_point started_
Definition: classic_lazy_connect.h:163
stdx::expected< Processor::Result, std::error_code > send_auth_ok()
Definition: classic_lazy_connect.cc:1050
stdx::expected< Processor::Result, std::error_code > fetch_user_attrs_done()
Definition: classic_lazy_connect.cc:1022
TraceEvent * trace_event_set_vars_
Definition: classic_lazy_connect.h:173
TraceEvent * trace_event_fetch_sys_vars_
Definition: classic_lazy_connect.h:174
stdx::expected< Processor::Result, std::error_code > set_trx_characteristics_done()
Definition: classic_lazy_connect.cc:983
stdx::expected< Processor::Result, std::error_code > set_server_option()
Definition: classic_lazy_connect.cc:671
Stage stage() const
Definition: classic_lazy_connect.h:104
Stage
Definition: classic_lazy_connect.h:73
@ SetTrxCharacteristicsDone
stdx::expected< Processor::Result, std::error_code > connect()
Definition: classic_lazy_connect.cc:368
TraceEvent * trace_event_check_read_only_
Definition: classic_lazy_connect.h:177
stdx::expected< Processor::Result, std::error_code > fetch_user_attrs()
Definition: classic_lazy_connect.cc:1003
TraceEvent * parent_event_
Definition: classic_lazy_connect.h:170
TraceEvent * trace_event_connect_
Definition: classic_lazy_connect.h:171
std::optional< classic_protocol::message::server::Error > failed() const
Definition: classic_lazy_connect.h:120
void stage(Stage stage)
Definition: classic_lazy_connect.h:103
stdx::expected< Processor::Result, std::error_code > init()
Definition: classic_lazy_connect.cc:302
stdx::expected< Processor::Result, std::error_code > set_vars()
Definition: classic_lazy_connect.cc:566
Definition: classic_connection_base.h:57
Definition: expected.h:286
borrowable::message::server::Error< false > Error
Definition: classic_protocol_message.h:1411
static Value err()
Create a Value object that represents an error condition.
Definition: json_binary.cc:943
Define std::hash<Gtid>.
Definition: gtid.h:355
Definition: classic_lazy_connect.h:108
std::optional< bool > x509
Definition: classic_lazy_connect.h:110
std::optional< std::string > subject
Definition: classic_lazy_connect.h:112
std::optional< std::string > issuer
Definition: classic_lazy_connect.h:111
std::optional< bool > ssl
Definition: classic_lazy_connect.h:109
Definition: trace_span.h:35