Expand description
§Orchestra
orchestra
provides a global information flow system in reference to system specifc
process tokens.
The token is arbitrary, but is used to notify all Subsystem
s of what is relevant
and what is not, leading to a so called view of active tokens.
An orchestra
is something that allows spawning/stopping and orchestrating
asynchronous tasks as well as establishing a well-defined and easy to use
protocol that the tasks can use to communicate with each other. It is desired
that this protocol is the only way tasks - called Subsystem
s in the orchestra
scope - communicate with each other, but that is not enforced and is the responsibility
of the developer.
The Orchestra
is instantiated with a pre-defined set of Subsystems
that
share the same behavior from Orchestra
’s point of view.
+-----------------------------+
| Orchesta |
+-----------------------------+
................| Orchestra "holds" these and uses |.............
. them to (re)start things .
. .
. +-------------------+ +---------------------+ .
. | Subsystem1 | | Subsystem2 | .
. +-------------------+ +---------------------+ .
. | | .
..................................................................
| |
start() start()
| |
V V
..................| Orchestra "runs" these |......................
. .
. +--------------------+ +---------------------+ .
. | SubsystemInstance1 | <-- bidir --> | SubsystemInstance2 | .
. +--------------------+ +---------------------+ .
. .
..................................................................
Structs§
- High priority.
- A wrapping type for messages.
- Normal priority.
- Watermark to track the received signals.
- An asynchronous subsystem task..
- A running instance of some
Subsystem
. - Set of readouts of the
Meter
s of a subsystem. - Collection of meters related to a subsystem.
- A future that wraps another future with a
Delay
allowing for time-limited futures.
Enums§
- A message type that a subsystem receives from an orchestra. It wraps signals from an orchestra and messages that are circulating between subsystems.
- An error type that describes faults that may happen
- Priority of messages sending to the individual subsystems. Only for the bounded channel sender.
- A type of messages that are sent from a
Subsystem
to the declared orchestra.
Traits§
- A trait to support the origin annotation such that errors across subsystems can be easier tracked.
- A helper trait to map a subsystem to smth. else.
- Describes the priority of the message.
- A spawner
- Sender end of a channel to interface with a subsystem.
- Extends
Future
to allow time-limited futures.
Functions§
- Create a packet from its parts.
- A functor to specify strategy of the channels selection in the
SubsystemIncomingMessages
Type Aliases§
- Alias for a result with error type
OrchestraError
. - Incoming messages from both the bounded and unbounded channel.