ark::pipeline::SimClockExecutor

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


A pipeline executor which operates with a simulated clock. This is the typical executor for all pipelines which expect to be operating in a simulation or faster/slower than real time.

Methods

  • SimClockExecutor(Pipeline && pipeline)
    Constructor. Initializes a simulated executor against the given pipeline.

  • ~SimClockExecutor()
    Destructor, to cleanup private methods.

  • 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 execute() completes 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.