ark::pipeline::CallbackExecutionManager

Defined in header “ark/pipeline/callback_execution_manager.hh”.


A callback execution manager is responsible for ensuring that a stage’s callbacks are only executing once-at-a-time (ie, not executing in parallel). It also provides mechanisms for tracking timing information.

Methods

  • CallbackExecutionManager(concurrency::ThreadPoolPtr thread_pool, StageInterfacePtr stage)
    Constructor. Initializes a callback execution manager for the given stage. The name is used for debugging and profiling.

  • ~CallbackExecutionManager()
    Destructor.

  • void schedule_if_needed()
    Schedules the given work, if needed. If the subscriber is already scheduled, this does nothing.

  • void execute()
    Invoked when it is time to execute the subscriber that this callback execution manager is in charge of.