A collection of delayed submissions of generic callbacks. More...
#include <delayed_submission.h>
Public Member Functions | |
| GenericDelayedSubmissionCollection (std::string name) | |
| Constructor of a collection of delayed submissions of generic callbacks. More... | |
Public Member Functions inherited from ucxx::BaseDelayedSubmissionCollection< DelayedSubmissionCallbackType > | |
| BaseDelayedSubmissionCollection (std::string name, const bool enabled) | |
| Constructor for a thread-safe delayed submission collection. More... | |
| BaseDelayedSubmissionCollection (const BaseDelayedSubmissionCollection &)=delete | |
| BaseDelayedSubmissionCollection (BaseDelayedSubmissionCollection &&o)=delete | |
| BaseDelayedSubmissionCollection & | operator= (BaseDelayedSubmissionCollection const &)=delete |
| BaseDelayedSubmissionCollection & | operator= (BaseDelayedSubmissionCollection &&o)=delete |
| virtual ItemIdType | schedule (DelayedSubmissionCallbackType item) |
| Register a callable or complex-type for delayed submission. More... | |
| void | process () |
| Process all pending callbacks. More... | |
| void | cancel (ItemIdType id) |
| Cancel a pending callback. More... | |
Protected Member Functions | |
| void | scheduleLog (ItemIdType id, DelayedSubmissionCallbackType item) override |
Log message during schedule(). More... | |
| void | processItem (ItemIdType id, DelayedSubmissionCallbackType callback) override |
Process a single item during process(). More... | |
Additional Inherited Members | |
Protected Attributes inherited from ucxx::BaseDelayedSubmissionCollection< DelayedSubmissionCallbackType > | |
| std::string | _name |
| The human-readable name of the collection, used for logging. | |
| bool | _enabled |
| Whether the resource required to process the collection is enabled. | |
| ItemIdType | _itemId |
| The item ID counter, used to allow cancelation. | |
| std::optional< ItemIdType > | _processing |
| The ID of the item being processed, if any. | |
| std::deque< std::pair< ItemIdType, DelayedSubmissionCallbackType > > | _collection |
| The collection. | |
| std::set< ItemIdType > | _canceled |
| IDs of canceled items. | |
| std::mutex | _mutex |
Mutex to provide access to _collection. | |
A collection of delayed submissions of generic callbacks.
A collection of delayed submissions used specifically for execution of generic callbacks at pre-defined stages of the progress loop.
|
explicit |
Constructor of a collection of delayed submissions of generic callbacks.
Construct a collection of delayed submissions used specifically for execution of generic callbacks at pre-defined stages of the progress loop.
| [in] | name | the human-readable name of the type of delayed submission for debugging purposes. |
|
overrideprotectedvirtual |
Process a single item during process().
Method called by process() to process a single item of the collection.
| [in] | id | the ID of the scheduled item, as returned by schedule(). |
| [in] | item | the callback that was passed as argument to schedule() when the first registered. |
Implements ucxx::BaseDelayedSubmissionCollection< DelayedSubmissionCallbackType >.
|
overrideprotectedvirtual |
Log message during schedule().
Log a specialized message while schedule() is being executed.
| [in] | id | the ID of the scheduled item, as returned by schedule(). |
| [in] | item | the callback that was passed as argument to schedule(). |
Implements ucxx::BaseDelayedSubmissionCollection< DelayedSubmissionCallbackType >.