nv_dfm_core.session.ManualCallbackRunner#
- class nv_dfm_core.session.ManualCallbackRunner(default_callback=None, place_callbacks=None)[source]#
Runner that queues tokens for manual processing.
Tokens are queued and the user must periodically call: - process_pending() for sync callbacks - process_pending_async() for async callbacks
This enables callbacks to run on a specific thread (e.g., main thread) by having that thread call process_pending().
- Parameters:
default_callback (DfmDataCallback | None)
place_callbacks (dict[str, DfmDataCallback] | None)
- dispatch(tokens)[source]#
Queue tokens for later processing.
- Parameters:
tokens (TokenPackage | list[TokenPackage] | None) – Single token, list of tokens, or None to queue.
- Return type:
None
- has_pending()[source]#
Check if there are pending tokens in the queue.
- Returns:
True if there are tokens waiting to be processed.
- Return type:
bool
- process_pending()[source]#
Process all pending tokens with sync callbacks.
Call this from your desired thread (e.g., main thread). This is a non-blocking call that processes all currently queued tokens.
- Raises:
ValueError – If callbacks are async (use process_pending_async instead).
- Return type:
None