2022-06-05 18:44:51 +00:00
|
|
|
namespace Nitride.Pipelines;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 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.
|
|
|
|
/// </summary>
|
|
|
|
public enum PipelineRunnerState
|
2021-09-07 05:15:45 +00:00
|
|
|
{
|
|
|
|
/// <summary>
|
2022-06-05 18:44:51 +00:00
|
|
|
/// Indicates that the runner is setting up and not ready for any use.
|
2021-09-07 05:15:45 +00:00
|
|
|
/// </summary>
|
2022-06-05 18:44:51 +00:00
|
|
|
Initializing,
|
2021-09-07 05:15:45 +00:00
|
|
|
|
2022-06-05 18:44:51 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Indicates that the runner has been initialized.
|
|
|
|
/// </summary>
|
|
|
|
Initialized,
|
2021-09-07 05:15:45 +00:00
|
|
|
|
2022-06-05 18:44:51 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Indicates that the pipeline is prepare for a new run. This is done
|
|
|
|
/// when the system determines it needs to run.
|
|
|
|
/// </summary>
|
|
|
|
Preparing,
|
2021-09-07 05:15:45 +00:00
|
|
|
|
2022-06-05 18:44:51 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Indicates that the pipeline has finished preparing.
|
|
|
|
/// </summary>
|
|
|
|
Prepared,
|
2021-09-07 05:15:45 +00:00
|
|
|
|
2022-06-05 18:44:51 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Indicates that the runner is waiting for dependencies to run.
|
|
|
|
/// </summary>
|
|
|
|
Waiting,
|
2021-09-07 05:15:45 +00:00
|
|
|
|
2022-06-05 18:44:51 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Indicates that the pipeline has started processing by a call to
|
|
|
|
/// `RunAsync`.
|
|
|
|
/// </summary>
|
|
|
|
Started,
|
2021-09-07 05:15:45 +00:00
|
|
|
|
2022-06-05 18:44:51 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Indicates that the pipeline is providing data to any dependencies.
|
|
|
|
/// If the pipeline has no dependencies, then this will never be called.
|
|
|
|
/// </summary>
|
|
|
|
Providing,
|
2021-09-07 05:15:45 +00:00
|
|
|
|
2022-06-05 18:44:51 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Indicates that all the dependencies on this pipeline has finished
|
|
|
|
/// running (state `Finished`) and the pipeline can clean up any
|
|
|
|
/// memory elements.
|
|
|
|
/// </summary>
|
|
|
|
Provided,
|
2021-09-07 05:15:45 +00:00
|
|
|
|
2022-06-05 18:44:51 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Indicates that the pipeline is done running and the system is
|
|
|
|
/// shutting down.
|
|
|
|
/// </summary>
|
|
|
|
Finalizing,
|
2021-09-07 05:15:45 +00:00
|
|
|
|
2022-06-05 18:44:51 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Indicates that the pipeline has been completely cleaned up and
|
|
|
|
/// finished. It will never be used again.
|
|
|
|
/// </summary>
|
|
|
|
Finalized,
|
2021-09-07 05:15:45 +00:00
|
|
|
|
2022-06-05 18:44:51 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Indicates that there was an error while running the pipeline.
|
|
|
|
/// </summary>
|
|
|
|
Errored,
|
2021-09-07 05:15:45 +00:00
|
|
|
}
|