You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Node descriptors tell Zenoh-Flow how a node can be connected and where its actual implementation can be found. The descriptors detail the following information:
(optional) a name --- this field will be used for display purposes when Zenoh-Flow will provide a registry,
its outputs --- only for a Source and an Operator,
the URI to a library --- where the implementation of the node can be found.
Below is the descriptor of an Operator that we will use to explain each section. The only difference with Source and Sink descriptors is the lack of inputs/outputs: a Source only has outputs while a Sink only has inputs.
name: my-operator# (optional)vars:
BASE_PATH: file:///home/zenoh-flow/my-first-flow/nodesDLL_EXTENSION: so# (optional)configuration:
default_timeout: 10library: "{{ BASE_PATH }}/target/release/libmy_operator.{{ DLL_EXTENSION }}"# Only OPERATOR and SINKinputs:
- in
- tick# Only OPERATOR and SOURCEoutputs:
- out
- tick
(optional) Vars
This section is used to tell Zenoh-Flow how to do string replacements in this descriptor. More details can be found here.
(optional) Configuration
This section allows passing a dictionary of key-value pairs to this node. This can be useful, for instance, to run several times the same node but with slightly different parameters or to modify its behaviour without having to recompile it.
This specifies where to find, on the device where the daemon is running, the implementation of the node being described.
The scheme, file:// in this example, must be added. For now, Zenoh-Flow only supports file:// but we plan on supporting additional schemes with the introduction of the registry in an upcoming release.
Inputs and Outputs
Inputs and Outputs are specified as a list of identifiers.
Identifiers must be unique per "category": Zenoh-Flow will refuse a descriptor where two inputs (resp. outputs), for the same Node, share the same identifier. An input and an Output can however share the same identifier.