|
| | Impl (const mysqlrouter::UserCredentials &auth_user_credentials) |
| |
| | ~Impl () |
| |
| xcl::XError | connect (NodeSession &session, NodeId &node_id) |
| |
| void | listener_thread_func () |
| |
| bool | read_from_session (const NodeId &node_id, NodeSession &session) |
| |
| xcl::XError | enable_notices (xcl::XSession &session, const NodeId &node_id, const std::string &cluster_name) noexcept |
| | Replication events are delivered to the client only when client explicitly request them. More...
|
| |
| void | set_mysqlx_wait_timeout (xcl::XSession &session, const NodeId &node_id) noexcept |
| |
| void | check_mysqlx_wait_timeout () |
| |
| xcl::XError | ping (xcl::XSession &session) noexcept |
| |
| void | remove_node_session (const NodeId &node) noexcept |
| |
| void | reconfigure (const metadata_cache::ClusterTopology &cluster_topology, const NotificationClb ¬ification_clb) |
| |
| xcl::Handler_result | notice_handler (const xcl::XProtocol *, const bool, const Mysqlx::Notice::Frame::Type type, const char *, const uint32_t) |
| |
◆ Impl()
◆ ~Impl()
| GRNotificationListener::Impl::~Impl |
( |
| ) |
|
◆ check_mysqlx_wait_timeout()
| void GRNotificationListener::Impl::check_mysqlx_wait_timeout |
( |
| ) |
|
◆ connect()
| xcl::XError GRNotificationListener::Impl::connect |
( |
NodeSession & |
session, |
|
|
NodeId & |
node_id |
|
) |
| |
◆ enable_notices()
| xcl::XError GRNotificationListener::Impl::enable_notices |
( |
xcl::XSession & |
session, |
|
|
const NodeId & |
node_id, |
|
|
const std::string & |
cluster_name |
|
) |
| |
|
noexcept |
Replication events are delivered to the client only when client explicitly request them.
This function uses enable_notice to request notifications for all 4 event types:
- quorum lost
- view
- role_changed
- state_changed
◆ listener_thread_func()
| void GRNotificationListener::Impl::listener_thread_func |
( |
| ) |
|
◆ notice_handler()
| xcl::Handler_result GRNotificationListener::Impl::notice_handler |
( |
const xcl::XProtocol * |
, |
|
|
const bool |
, |
|
|
const Mysqlx::Notice::Frame::Type |
type, |
|
|
const char * |
payload, |
|
|
const uint32_t |
payload_size |
|
) |
| |
◆ ping()
| xcl::XError GRNotificationListener::Impl::ping |
( |
xcl::XSession & |
session | ) |
|
|
noexcept |
◆ read_from_session()
| bool GRNotificationListener::Impl::read_from_session |
( |
const NodeId & |
node_id, |
|
|
NodeSession & |
session |
|
) |
| |
◆ reconfigure()
◆ remove_node_session()
| void GRNotificationListener::Impl::remove_node_session |
( |
const NodeId & |
node | ) |
|
|
noexcept |
◆ set_mysqlx_wait_timeout()
| void GRNotificationListener::Impl::set_mysqlx_wait_timeout |
( |
xcl::XSession & |
session, |
|
|
const NodeId & |
node_id |
|
) |
| |
|
noexcept |
◆ configuration_data_mtx_
| std::mutex GRNotificationListener::Impl::configuration_data_mtx_ |
◆ last_ping_timepoint
| std::chrono::steady_clock::time_point GRNotificationListener::Impl::last_ping_timepoint |
Initial value:=
std::chrono::steady_clock::now()
◆ listener_thread
| std::unique_ptr<std::thread> GRNotificationListener::Impl::listener_thread |
◆ mysqlx_wait_timeout_set_
| std::atomic<bool> GRNotificationListener::Impl::mysqlx_wait_timeout_set_ {false} |
◆ notification_callback
◆ sessions_
| std::map<NodeId, NodeSession> GRNotificationListener::Impl::sessions_ |
◆ sessions_changed_
| bool GRNotificationListener::Impl::sessions_changed_ {false} |
◆ terminate
| std::atomic<bool> GRNotificationListener::Impl::terminate {false} |
◆ user_credentials
The documentation for this struct was generated from the following file: