namespace MfGames.Nitride.Pipelines; /// /// Describes the state of the pipelines which is used both for reporting /// purposes but also to allow the pipelines to respond to changes in their /// own state, such as unloading output elements. /// public enum PipelineRunnerState { /// /// Indicates that the runner is setting up and not ready for any use. /// Initializing, /// /// Indicates that the runner has been initialized. /// Initialized, /// /// Indicates that the pipeline is prepare for a new run. This is done /// when the system determines it needs to run. /// Preparing, /// /// Indicates that the pipeline has finished preparing. /// Prepared, /// /// Indicates that the runner is waiting for dependencies to run. /// Waiting, /// /// Indicates that the pipeline has started processing by a call to /// `RunAsync`. /// Started, /// /// Indicates that the pipeline is providing data to any dependencies. /// If the pipeline has no dependencies, then this will never be called. /// Providing, /// /// Indicates that all the dependencies on this pipeline has finished /// running (state `Finished`) and the pipeline can clean up any /// memory elements. /// Provided, /// /// Indicates that the pipeline is done running and the system is /// shutting down. /// Finalizing, /// /// Indicates that the pipeline has been completely cleaned up and /// finished. It will never be used again. /// Finalized, /// /// Indicates that there was an error while running the pipeline. /// Errored, }