Module assemble_core::lazy_evaluation
source · Expand description
Lazy evaluation allows for a more simple approach to sharing data between tasks.
The main driving trait that allows for this is Provider
. Objects that
implement this trait can try to provide a value of that type. There are three main flavors
of providers.
Properties
Prop<T>
- A property that can be set to a specific value.
Usage
Should be used when single values are needed, and this property is needed to either be used
as an output that’s set by the task, or the task needs an input. When used with the
CreateTask
derive macro.
struct LogTask {
msg: Prop<String>
}
Re-exports
pub use prop::*;
Modules
Structs
A value could not be provided
Traits
Represents that a type can be represented as a provider. All Providers implement this trait.
The provider trait represents an object that can continuously produce a value. Provider values
can be chained together using the
ProviderExt
trait.Provides extensions that are not object safe to the Provider trait.