Crate boomerang_builder

Source
Expand description

§Boomerang Builder

crates.io MIT/Apache 2.0 Downloads CI docs codecov

The Reactor assembly API for Boomerang. Builder is the API driven by the code that boomerang_derive generates.

The most important data structure for Builder is the EnvBuilder, which also serves as the API entry-point. Once all of the Reactors and Reactions have added their graph state into the EnvBuilder, EnvBuilder::into_runtime_parts is called to generate the data for the Runtime.

Most users will not need to interact with Builder, but for some specialized cases it is useful to manually implement the reactor::Reactor and reaction::Reaction traits manually. It may also ocasionally useful to manually adjust the EnvBuilder graph after all the Reactors have been built.

§Feature flags

  • graphviz — Support generating graphviz diagrams from reactor models

Modules§

prelude

Structs§

ActionBuilder
BuilderActionKey
BuilderFqn
A fully-qualified name, used to identify a specific element in the system.
BuilderPortKey
BuilderReactionKey
BuilderReactorKey
EnvBuilder
Input
Input tag
Logical
Output
Output tag
Physical
PhysicalActionKey
PhysicalActionKey is a type-erased physical Action.
PortBuilder
PortOrActionTrigger
ReactionBuilder
ReactionBuilderState
ReactorBuilderState
Builder struct used to facilitate construction of a ReactorBuilder by user/generated code.
TimerActionKey
TimerActionKey is an wrapper around BuilderActionKey for timer Actions.
TimerSpec
TimerSpec is used to specify the period and offset of a timer action.
TypedActionKey
TypedActionKey is a typed wrapper around BuilderActionKey that is used to associate a type with an action. This is used to ensure that the type of the action matches the type of the port that it is connected to.
TypedPortKey

Enums§

ActionType
BuilderError
PortOrActionTriggerKey
PortType
TriggerMode
Describes how an action is used by a reaction

Traits§

ActionBuilderFn
BasePortBuilder
FindElements
PortTag
Reaction
The Reaction trait should be automatically derived for each Reaction struct.
ReactionField
Reactor
ReactorField
This builder trait is implemented for fields in the Reactor struct.
Trigger
The Trigger trait should be implemented by the user for each Reaction struct.