![]() |
MySQL 8.0.43
Source Code Documentation
|
#include <dest_round_robin.h>
Public Member Functions | |
| DestRoundRobin (net::io_context &io_ctx, Protocol::Type protocol=Protocol::get_default()) | |
| Default constructor. More... | |
| ~DestRoundRobin () override=default | |
| Destructor. More... | |
| Destinations | destinations () override |
| get destinations to connect() to. More... | |
| routing::RoutingStrategy | get_strategy () override |
| Return our routing strategy. More... | |
Public Member Functions inherited from RouteDestination | |
| RouteDestination (net::io_context &io_ctx, Protocol::Type protocol=Protocol::get_default()) | |
| Default constructor. More... | |
| virtual | ~RouteDestination ()=default |
| Destructor. More... | |
| RouteDestination (const RouteDestination &other)=delete | |
| RouteDestination (RouteDestination &&other)=delete | |
| RouteDestination & | operator= (const RouteDestination &other)=delete |
| RouteDestination & | operator= (RouteDestination &&other)=delete |
| virtual void | add (const mysql_harness::TCPAddress dest) |
| Adds a destination. More... | |
| virtual void | add (const std::string &address, uint16_t port) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| virtual void | remove (const std::string &address, uint16_t port) |
| Removes a destination. More... | |
| virtual mysql_harness::TCPAddress | get (const std::string &address, uint16_t port) |
| Gets destination based on address and port. More... | |
| virtual void | clear () |
| Removes all destinations. More... | |
| size_t | size () noexcept |
| Gets the number of destinations. More... | |
| virtual bool | empty () const noexcept |
| Returns whether there are destinations. More... | |
| virtual void | start (const mysql_harness::PluginFuncEnv *env) |
| Start the destination threads (if any) More... | |
| AddrVector::iterator | begin () |
| AddrVector::const_iterator | begin () const |
| AddrVector::iterator | end () |
| AddrVector::const_iterator | end () const |
| virtual AddrVector | get_destinations () const |
| virtual std::optional< Destinations > | refresh_destinations (const Destinations &dests) |
| refresh destinations. More... | |
| virtual void | handle_sockets_acceptors () |
| Trigger listening socket acceptors state handler based on the destination type. More... | |
Public Member Functions inherited from DestinationNodesStateNotifier | |
| AllowedNodesChangeCallbacksListIterator | register_allowed_nodes_change_callback (const AllowedNodesChangedCallback &clb) |
| Registers the callback for notification on the change in the state if the destination nodes. More... | |
| void | unregister_allowed_nodes_change_callback (const AllowedNodesChangeCallbacksListIterator &it) |
| Unregisters the callback registered with register_allowed_nodes_change_callback(). More... | |
| void | register_start_router_socket_acceptor (const StartSocketAcceptorCallback &clb) |
| Registers the callback for notification that the routing socket acceptor should accept new connections. More... | |
| void | unregister_start_router_socket_acceptor () |
| Unregisters the callback registered with register_start_router_socket_acceptor(). More... | |
| void | register_stop_router_socket_acceptor (const StopSocketAcceptorCallback &clb) |
| Registers the callback for notification that the routing socket acceptor should stop accepting new connections. More... | |
| void | unregister_stop_router_socket_acceptor () |
| Unregisters the callback registered with register_stop_router_socket_acceptor(). More... | |
| void | register_md_refresh_callback (const MetadataRefreshCallback &callback) |
| Registers a callback that is going to be used on metadata refresh. More... | |
| void | unregister_md_refresh_callback () |
| Unregisters the callback registered with register_md_refresh_callback(). More... | |
| void | register_query_quarantined_destinations (const QueryQuarantinedDestinationsCallback &clb) |
| Registers a callback that could be used for checking if the provided destination candidate is currently quarantined. More... | |
| void | unregister_query_quarantined_destinations () |
| Unregisters the callback registered with register_query_quarantined_destinations(). More... | |
Protected Attributes | |
| size_t | start_pos_ {} |
Protected Attributes inherited from RouteDestination | |
| AddrVector | destinations_ |
| List of destinations. More... | |
| std::mutex | mutex_update_ |
| Mutex for updating destinations and iterator. More... | |
| net::io_context & | io_ctx_ |
| Protocol::Type | protocol_ |
| Protocol for the destination. More... | |
Protected Attributes inherited from DestinationNodesStateNotifier | |
| AllowedNodesChangeCallbacksList | allowed_nodes_change_callbacks_ |
| MetadataRefreshCallback | md_refresh_callback_ |
| StartSocketAcceptorCallback | start_router_socket_acceptor_callback_ |
| StopSocketAcceptorCallback | stop_router_socket_acceptor_callback_ |
| QueryQuarantinedDestinationsCallback | query_quarantined_destinations_callback_ |
| std::mutex | allowed_nodes_change_callbacks_mtx_ |
| std::mutex | md_refresh_callback_mtx_ |
| std::mutex | socket_acceptor_handle_callbacks_mtx |
| std::mutex | query_quarantined_destinations_callback_mtx_ |
Additional Inherited Members | |
Public Types inherited from RouteDestination | |
| using | AddrVector = std::vector< mysql_harness::TCPAddress > |
|
inline |
Default constructor.
| io_ctx | context for io operations |
| protocol | Protocol for the destination, defaults to value returned by Protocol::get_default() |
|
overridedefault |
Destructor.
|
overridevirtual |
get destinations to connect() to.
destinations are in order of preference.
Implements RouteDestination.
|
inlineoverridevirtual |
Return our routing strategy.
Implements RouteDestination.
|
protected |