Module lignin::callback_registry [−][src]
Expand description
Callback registry plumbing, for renderers and app runners that support them and need to run indefinitely.
When not using this module directly, apps, if they enable the "callbacks"
feature, run out of unique callback IDs after more than four billion total CallbackRegistration::new
calls across all threads in a single run of the program.
As such, you probably don’t need to access this module, but if you do then it’s available.
Macros
if_callbacks | Canonically located at |
if_not_callbacks | Canonically located at |
Structs
CallbackRef |
|
CallbackRegistration | A callback registration handle that should be held onto by the matching receiver |
Constants
ENABLED | Indicates whether the |
Traits
CallbackSignature | Marks function pointers for which callbacks are implemented. |
ToRefThreadBoundFallback | Provides a fallback alternative implementation to |
Functions
registry_exhaustion | Indicates how exhausted the global callback registry is on a linear scale, with |
reset_callback_registry⚠ | Tries to rewind the total callback registration counter to zero. |
when_unlocked_locally | Causes a continuation to be called when the callback registry is not locked (anymore) by the current thread. |
yet_more_unsafe_force_clear_callback_registry⚠ | Clears the callback registry entirely and resets the total callback registration counter to zero. |