Crate zenoh_flow_descriptors
source ·Expand description
This crate centralises the different descriptors used in Zenoh-Flow.
Descriptors describe the different parts that compose an application: the nodes (Source(s), Operator(s) and Sink(s)), the links (how the nodes are connected) and possibly where they should run.
Descriptors are enforced by Zenoh-Flow, giving precise control to application developer.
All Rust struct exposed by this crate implement the Deserialize and
Serialize traits. The purpose is to encourage users to describe their application in dedicated
files (which are then fed to a Zenoh-Flow runtime to be parsed), which eases separating the integration from the
development.
The entry point in order to describe – in a separate file – a data flow is the DataFlowDescriptor.
§Note
In its current state, Zenoh-Flow does not easily support creating your data flow through code. It is planned in a future release to bring better support for this use-case.
Users interested to do so should look into the Flattened family of structures, starting with the
FlattenedDataFlowDescriptor.
Structs§
- A
DataFlowDescriptordescribes an entire Zenoh-Flow application and is obtained after a parsing step. - A
FlattenedDataFlowDescriptoris a self-contained description of a data flow. - A
FlattenedOperatorDescriptoris a self-contained description of an Operator node. - A
FlattenedSinkDescriptoris a self-contained description of a Sink node. - A
FlattenedSourceDescriptoris a self-contained description of a Source node. - An
InputDescriptoruniquely describes an Input port of a Zenoh-Flow node. - A
LinkDescriptordescribes a link in Zenoh-Flow: a connection from an Output to an Input. - An
OutputDescriptoruniquely describes an Output port of a Zenoh-Flow node.
Enums§
- ⚠️ This is structure is intended for internal usage.
- ⚠️ This is structure is intended for internal usage.