ark::pipeline::RealTimeExecutor

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


A pipeline executor which operates in real time. This uses the system’s local clock to determine when to fire timers. This is generally used when a pipeline is operating in real time (for example, on a robot).

Methods

  • RealTimeExecutor(Pipeline && pipeline)
    Constructor. Initializes the executor against the given pipeline.

  • ~RealTimeExecutor()
    Private destructor to cleanup state.

  • bool execute(std::chrono::nanoseconds execution_duration)
    Call this to execute the pipeline. This will take care of initializing the pipeline, running it until it is complete, and then shutting everything down.

    Returns true if excution completed successfully, or false otherwise.

  • void interrupt()
    Called to ask the executor to interrupt all of its stages. If all stages are ready to exit, the executor will shutdown. As in shutdown(), you must wait for execute() to return on its own.

  • void shutdown()
    Call this to ask the executor to shutdown. This will set the shutdown flag, but you must wait for execute() to return on its own.

  • ExecutorStatistics statistics()
    Returns statistics related to this executor.