OSK.Operations.Workflows
1.0.0
dotnet add package OSK.Operations.Workflows --version 1.0.0
NuGet\Install-Package OSK.Operations.Workflows -Version 1.0.0
<PackageReference Include="OSK.Operations.Workflows" Version="1.0.0" />
<PackageVersion Include="OSK.Operations.Workflows" Version="1.0.0" />
<PackageReference Include="OSK.Operations.Workflows" />
paket add OSK.Operations.Workflows --version 1.0.0
#r "nuget: OSK.Operations.Workflows, 1.0.0"
#:package OSK.Operations.Workflows@1.0.0
#addin nuget:?package=OSK.Operations.Workflows&version=1.0.0
#tool nuget:?package=OSK.Operations.Workflows&version=1.0.0
OSK.Operations.Workflows
This library helps to handle running operations iteratively, over the course of one or many steps. These operations can then be grouped together within a workflow, which is a sequence of steps, to run and build a larger flow of work to perform. This is especially useful in instances where standard async or other operations that need to be ran and managed is required - for example, in game engines across multiple frames, or in other applications where you need to run a series of operations over time.
Usage
Add the required dependencies to your DI container, if you are using one, using AddWorkflows, but most of the constructs required are avialable without DI to help facilitate a broader usage within game engines.
Primary components within the library are:
WorkflowStep: a configuration object that defines how a group of operations should be run together, using in conjunction with anIWorkflowRunnerto run the operations in a workflow.IOperationRunner: a class that can be used to run a group of operations together as a unit of workIWorkflowRunner: a class that can be used to run a workflow consisting of multiple steps- Data can be referenced from earlier steps in the workflow using an output context if required
IIterativeOperation: an interface that defines the contract for iterative operations, that is objects that have tasks to run over one or many stepsIIterativeOperation<T>: a generic interface for iterative operations with a specific result typeITaskOperation: a specific type of iterative operation that is designed to run a single task, and can be used to wrap existing async operations into an iterative operation
With these components, you can build workflows that run operations over time, manage their execution, and handle their results in a structured manner, such saving, loading, or more.
Currently defined operations include:
- Timers
- Async
- Action
- No-op style operations
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- OSK.Hexagonal.MetaData (>= 1.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on OSK.Operations.Workflows:
| Package | Downloads |
|---|---|
|
OSK.Petra.Godot.Operations.Workflows
A collection of common operations and workflows for the Godot game engine |
|
|
OSK.Extensions.Messages.Workflows
Provides a basis for an event messaging system, capable of integraitng with various message buses and other delivery mechanisms, to send, transmit, and receive event messages in an application. |
GitHub repositories
This package is not used by any popular GitHub repositories.