MySQL 9.3.0
Source Code Documentation
Connector< ConnectionType > Class Template Reference

#include <connection.h>

Inheritance diagram for Connector< ConnectionType >:
[legend]

Public Member Functions

stdx::expected< ConnectionType, std::error_code > connect (routing_guidelines::Session_info session_info)
 
 ConnectorBase (net::io_context &io_ctx, MySQLRoutingContext &context, DestinationManager *destination_manager)
 
- Public Member Functions inherited from ConnectorBase
 ConnectorBase (net::io_context &io_ctx, MySQLRoutingContext &context, DestinationManager *destination_manager)
 
mysql_harness::DestinationSocketsocket ()
 
mysql_harness::DestinationEndpointendpoint ()
 
net::steady_timertimer ()
 
void connect_timed_out (bool v)
 
bool connect_timed_out () const
 
void destination_id (std::optional< mysql_harness::Destination > id)
 
std::optional< mysql_harness::Destinationdestination_id () const
 
std::string routing_source () const
 
void set_routing_source (std::string name)
 
const routing_guidelines::Server_infoserver_info () const
 
void on_connect_failure (std::function< void(const mysql_harness::Destination &, std::error_code)> func)
 
void on_connect_success (std::function< void(const mysql_harness::Destination &)> func)
 
void on_is_destination_good (std::function< bool(const mysql_harness::Destination &dest)> func)
 
bool is_destination_good (const mysql_harness::Destination &dest) const
 

Additional Inherited Members

- Public Types inherited from ConnectorBase
enum class  Function { kInitDestination , kConnectFinish }
 
- Protected Member Functions inherited from ConnectorBase
stdx::expected< void, std::error_code > resolve ()
 
stdx::expected< void, std::error_code > init_destination (routing_guidelines::Session_info session_info)
 
stdx::expected< void, std::error_code > init_endpoint ()
 
stdx::expected< void, std::error_code > next_endpoint ()
 
stdx::expected< void, std::error_code > next_destination ()
 
stdx::expected< void, std::error_code > connect_init ()
 
stdx::expected< void, std::error_code > try_connect ()
 
stdx::expected< void, std::error_code > connect_finish ()
 
stdx::expected< void, std::error_code > connected ()
 
stdx::expected< void, std::error_code > connect_failed (std::error_code ec)
 
- Protected Attributes inherited from ConnectorBase
net::io_contextio_ctx_
 
MySQLRoutingContextcontext_
 
net::ip::tcp::resolver resolver_ {io_ctx_}
 
mysql_harness::DestinationSocket server_sock_
 
mysql_harness::DestinationEndpoint server_endpoint_
 
routing_guidelines::Session_info session_info_
 
DestinationManagerdestination_manager_
 
std::unique_ptr< Destinationdestination_ {nullptr}
 
std::vector< mysql_harness::DestinationEndpointendpoints_
 
std::vector< mysql_harness::DestinationEndpoint >::iterator endpoints_it_
 
std::error_code last_ec_ {make_error_code(DestinationsErrc::kNotSet)}
 
Function func_ {Function::kInitDestination}
 
net::steady_timer connect_timer_ {io_ctx_}
 
bool connect_timed_out_ {false}
 
std::optional< mysql_harness::Destinationdestination_id_
 
std::function< void(const mysql_harness::Destination &, std::error_code)> on_connect_failure_
 
std::function< void(const mysql_harness::Destination &)> on_connect_success_
 
std::function< bool(const mysql_harness::Destination &)> on_is_destination_good_
 

Member Function Documentation

◆ connect()

template<class ConnectionType >
stdx::expected< ConnectionType, std::error_code > Connector< ConnectionType >::connect ( routing_guidelines::Session_info  session_info)
inline

◆ ConnectorBase()

template<class ConnectionType >
ConnectorBase::ConnectorBase ( net::io_context io_ctx,
MySQLRoutingContext context,
DestinationManager destination_manager 
)
inline

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