MySQL 9.1.0
Source Code Documentation
|
PFS_notification_registry A singly linked list of callback registrations. More...
Public Member Functions | |
PFS_notification_registry () | |
~PFS_notification_registry () | |
int | add (PFS_notification_node *new_node, bool use_ref_count) |
Add a new registration. More... | |
int | disable (int handle) |
Disable a node given its handle. More... | |
PFS_notification_node * | get_first (int event_type) |
Get the first active registration. More... | |
PFS_notification_node * | get_next (PFS_notification_node *current, int event_type) |
Get the next active registration. More... | |
Private Attributes | |
std::atomic< PFS_notification_node * > | m_head |
std::atomic< std::uint32_t > | m_count |
Static Private Attributes | |
static constexpr std::uint32_t | REFS_MASK = 0x7FFFFFFF |
static constexpr std::uint32_t | FREE_MASK = 0x80000000 |
PFS_notification_registry A singly linked list of callback registrations.
Callbacks can be unregistered, although the node is disabled and not removed. Plugins must unregister callbacks before unloading. A reference count ensures that the callback functions remain valid until unregister is complete.
|
inline |
|
inline |
|
inline |
Add a new registration.
new_node | callback registraion node |
use_ref_count | true if callbacks can be unregistered |
|
inline |
Disable a node given its handle.
handle | returned by add() |
|
inline |
Get the first active registration.
event_type | notification event |
|
inline |
Get the next active registration.
current | node returned from get_first() or get_next() |
event_type | notification event |
|
staticconstexprprivate |
|
private |
|
private |
|
staticconstexprprivate |