2 releases

0.6.0-alpha.1 Mar 29, 2024
0.6.0-alpha Mar 25, 2024

#3 in #zenoh-flow

42 downloads per month
Used in 5 crates (4 directly)

EPL-2.0 OR Apache-2.0

150KB
3K SLoC

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].

Dependencies

~10MB
~221K SLoC