Daemon - eclipse-zenoh-flow/zenoh-flow GitHub Wiki
Table of Contents
To start a Zenoh-Flow Daemon, at least a name must be given. This name is a human-readable chain of characters that is meant to facilitate interactions.
The command below starts a Zenoh-Flow Daemon named alice:
cargo run -p zfctl -- daemon start alice
It is also possible to pass this information through a configuration file that additionally allows specifying the path to extensions: shared libraries that enable executing nodes implemented in another programming langage than Rust (for instance, in Python).
Zenoh-Flow Daemon Configuration File
This file contains the following fields:
- a
name: the name to associate to this daemon. - (optional)
extensions: the path where the daemon can find the extensions files.
name: zenoh-flow-daemon-0
extensions: /etc/zenoh-flow/extensions.d/
The Zenoh-Flow Daemon can then be launched using:
cargo run -p zfctl -- daemon start -c path/to/configuration.yaml
Setting the Zenoh-Flow Daemon UUID
As you may have noticed, launching for instance zfctl daemon list, each Zenoh-Flow Daemon is also attributed a unique identifier. In order to assign a Node to a Zenoh-Flow Daemon, this unique identifier must be specified in the mapping section of a data flow descriptor.
This identifier is equal to the Zenoh Identifier of the underlying Zenoh Session.
Hence to modify this value, a valid Zenoh configuration should be provided to zfctl using the -z option.
The following configuration sets the Zenoh Identifier of the Zenoh Session --- and, thus, of the Zenoh-Flow Daemon --- to 11111111111111111111111111111111.
{
"id": "11111111111111111111111111111111",
}
cargo run -p zfctl -- -z path/to/zenoh_configuration.json daemon start alice
If we launch this command after, you will see this output:
cargo run -p zfctl -- daemon list
+----------------------------------+-------+
| Identifier | Name |
+==========================================+
| 11111111111111111111111111111111 | alice |
+----------------------------------+-------+