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
DataFlowDescriptor
describes an entire Zenoh-Flow application and is obtained after a parsing step. - A
FlattenedDataFlowDescriptor
is a self-contained description of a data flow. - A
FlattenedOperatorDescriptor
is a self-contained description of an Operator node. - A
FlattenedSinkDescriptor
is a self-contained description of a Sink node. - A
FlattenedSourceDescriptor
is a self-contained description of a Source node. - An
InputDescriptor
uniquely describes an Input port of a Zenoh-Flow node. - A
LinkDescriptor
describes a link in Zenoh-Flow: a connection from an Output to an Input. - An
OutputDescriptor
uniquely 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.