Expand description
§Boomerang Builder
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§
Structs§
- Action
Builder - Builder
Action Key - Builder
Fqn - A fully-qualified name, used to identify a specific element in the system.
- Builder
Port Key - Builder
Reaction Key - Builder
Reactor Key - EnvBuilder
- Input
- Input tag
- Logical
- Output
- Output tag
- Physical
- Physical
Action Key PhysicalActionKeyis a type-erased physical Action.- Port
Builder - Port
OrAction Trigger - Reaction
Builder - Reaction
Builder State - Reactor
Builder State - Builder struct used to facilitate construction of a ReactorBuilder by user/generated code.
- Timer
Action Key TimerActionKeyis an wrapper aroundBuilderActionKeyfor timer Actions.- Timer
Spec - TimerSpec is used to specify the period and offset of a timer action.
- Typed
Action Key TypedActionKeyis a typed wrapper aroundBuilderActionKeythat 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.- Typed
Port Key
Enums§
- Action
Type - Builder
Error - Port
OrAction Trigger Key - Port
Type - Trigger
Mode - Describes how an action is used by a reaction
Traits§
- Action
Builder Fn - Base
Port Builder - Find
Elements - PortTag
- Reaction
- The Reaction trait should be automatically derived for each Reaction struct.
- Reaction
Field - Reactor
- Reactor
Field - This builder trait is implemented for fields in the Reactor struct.
- Trigger
- The
Triggertrait should be implemented by the user for each Reaction struct.