![]() |
MySQL 8.4.7
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 const std::uint32_t | REFS_MASK = 0x7FFFFFFF |
| static const 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 |
|
staticprivate |
|
private |
|
private |
|
staticprivate |