Package: zenoh
Version: 1.0.0~alpha.5-1
Architecture: amd64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 40
Depends: zenohd (=1.0.0~alpha.5-1), zenoh-plugin-rest (=1.0.0~alpha.5-1), zenoh-plugin-storage-manager (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh_1.0.0~alpha.5-1_amd64.deb
Size: 17304
MD5sum: b43f8ee1ddcf3b231c86e08fa26b7e7f
SHA1: f9b1e601ed036faf2c00ab7e1f7e6a3d442a0f0d
SHA256: d7ab2299b062aa3bc5bea4dacf70eb1485e09e760adbd4c091ed7d61b3d9fcbe
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 <img
 src="https://raw.githubusercontent.com/eclipse-zenoh/zenoh/master/zenoh-dragon.png"
 height="150">
 .
 [![CI](https://github.com/eclipse-zenoh/zenoh/workflows/CI/badge.svg)](https://github.com/eclipse-zenoh/zenoh/actions?query=workflow%3A%22CI%22)
 [![Documentation
 Status](https://readthedocs.org/projects/zenoh-rust/badge/?version=latest)](https://zenoh-rust.readthedocs.io/en/latest/?badge=latest)
 [![Discussion](https://img.shields.io/badge/discussion-on%20github-blue)](https://github.com/eclipse-zenoh/roadmap/discussions)
 [![Discord](https://img.shields.io/badge/chat-on%20discord-blue)](https://discord.gg/2GJ958VuHs)
 [![License](https://img.shields.io/badge/License-EPL%202.0-blue)](https://choosealicense.com/licenses/epl-2.0/)
 [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
 .
 # Eclipse Zenoh
 .
 The Eclipse Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 .
 Zenoh (pronounce _/zeno/_) unifies data in motion, data at rest and
 computations. It carefully blends traditional pub/sub with geo-distributed
 storages, queries and computations, while retaining a level of time and space
 efficiency that is well beyond any of the mainstream stacks.
 .
 Check the website [zenoh.io](http://zenoh.io) and the
 [roadmap](https://github.com/eclipse-zenoh/roadmap) for more detailed
 information.
 .
 -------------------------------
 .
 ## Getting Started
 .
 Zenoh is extremely easy to learn, the best place to master the fundamentals is
 our [getting started guide](https://zenoh.io/docs/getting-started/first-app/).
 .
 -------------------------------
 .
 ## How to install it
 .
 To install the latest release of the Zenoh router (`zenohd`) and its default
 plugins (REST API plugin and Storages Manager plugin) you can do as follows:
 .
 ### Manual installation (all platforms)
 .
 All release packages can be downloaded from
 [https://download.eclipse.org/zenoh/zenoh/latest/](https://download.eclipse.org/zenoh/zenoh/latest/).
 .
 Each subdirectory has the name of the Rust target. See the platforms each
 target corresponds to on
 [https://doc.rust-lang.org/stable/rustc/platform-support.html](https://doc.rust-lang.org/stable/rustc/platform-support.html).
 .
 Choose your platform and download the `.zip` file.
 Unzip it where you want, and run the extracted `zenohd` binary.
 .
 ### Linux Debian
 .
 Add Eclipse Zenoh private repository to the sources list, and install the
 `zenoh` package:
 .
 ```bash
 echo "deb [trusted=yes] https://download.eclipse.org/zenoh/debian-repo/ /" |
 sudo tee -a /etc/apt/sources.list.d/zenoh.list > /dev/null
 sudo apt update
 sudo apt install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 ### MacOS
 .
 Tap our brew package repository and install the `zenoh` formula:
 .
 ```bash
 brew tap eclipse-zenoh/homebrew-zenoh
 brew install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 -------------------------------
 .
 ## Rust API
 .
 * [Docs.rs for Zenoh](https://docs.rs/zenoh/latest/zenoh/)
 .
 -------------------------------
 .
 ## How to build it
 .
 > [!WARNING]
 > Zenoh and its ecosystem are under active development. When you build from
 git, make sure you also build from git any other Zenoh repository you plan to
 use (e.g. binding, plugin, backend, etc.). It may happen that some changes in
 git are not compatible with the most recent packaged Zenoh release (e.g. deb,
 docker, pip). We put particular effort in maintaining compatibility between the
 various git repositories in the Zenoh project.
 .
 Install [Cargo and
 Rust](https://doc.rust-lang.org/cargo/getting-started/installation.html). Zenoh
 can be successfully compiled with Rust stable (>= 1.75.0), so no special
 configuration is required from your side. If you already have the Rust
 toolchain installed, make sure it is up-to-date with:
 .
 ```bash
 rustup update
 ```
 .
 To build Zenoh, just type the following command after having followed the
 previous instructions:
 .
 ```bash
 cargo build --release --all-targets
 ```
 .
 Zenoh's router is built as `target/release/zenohd`. All the examples are built
 into the `target/release/examples` directory. They can all work in
 peer-to-peer, or interconnected via the zenoh router.
 .
 -------------------------------
 .
 ## Quick tests of your build
 .
 ### Peer-to-peer tests
 .
 * **pub/sub**
   * run: `./target/release/examples/z_sub`
   * in another shell run: `./target/release/examples/z_put`
   * the subscriber should receive the publication.
 .
 * **get/queryable**
   * run: `./target/release/examples/z_queryable`
   * in another shell run: `./target/release/examples/z_get`
   * the queryable should display the log in its listener, and the get should
 receive the queryable result.
 .
 ### Routed tests
 .
 > [!NOTE]
 > **Windows users**: to properly execute the commands below in PowerShell you
 need to escape `"` characters as `\"`.
 .
 * **put/store/get**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell run: `./target/release/examples/z_put`
   * then run `./target/release/examples/z_get`
   * the get should receive the stored publication.
 .
 * **REST API using `curl` tool**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, do a publication via the REST API:
     `curl -X PUT -d '"Hello World!"' http://localhost:8000/demo/example/test`
   * get it back via the REST API:
     `curl http://localhost:8000/demo/example/test`
 .
 * **router admin space via the REST API**
   * run the Zenoh router with permission to perform config changes via the
 admin space, and with a memory storage:
     `./target/release/zenohd --adminspace-permissions=rw
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, get info of the zenoh router via the zenoh admin space:
     `curl http://localhost:8000/@/local/router`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/local/router/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
   * add another memory storage on `/demo/mystore/**`:
     `curl -X PUT -H 'content-type:application/json' -d
 '{"key_expr":"demo/mystore/**","volume":"memory"}'
 http://localhost:8000/@/local/router/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
 .
 ### Configuration options
 .
 A Zenoh configuration file can be provided via CLI to all Zenoh examples and
 the Zenoh router.
 .
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file and
 the available options.
 .
 See other examples of Zenoh usage in [examples/](examples)
 .
 > [!NOTE]
 > **Zenoh Runtime Configuration**: Starting from version 0.11.0-rc, Zenoh
 allows for configuring the number of worker threads and other advanced options
 of the runtime. For guidance on utilizing it, please refer to the
 [doc](https://docs.rs/zenoh-runtime/latest/zenoh_runtime/enum.ZRuntime.html).
 .
 -------------------------------
 .
 ## Zenoh router command line arguments
 .
 `zenohd` accepts the following arguments:
 .
 * `--adminspace-permissions <[r|w|rw|none]>`: Configure the read and/or write
 permissions on the admin space. Default is read only.
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file. All
 properties of this configuration are optional, so you may not need such a large
 configuration for your use-case.
 * `--cfg <KEY>:<VALUE>`: allows you to change specific parts of the
 configuration right after it has been constructed. VALUE must be a valid JSON5
 value, and key must be a path through the configuration file, where each
 element is separated by a `/`. When inserting in parts of the config that are
 arrays, you may use indexes, or may use `+` to indicate that you want to append
 your value to the array. `--cfg` passed values will always override any
 previously existing value for their key in the configuration.
 * `-l, --listen <ENDPOINT>...`: An endpoint on which this router will listen
 for incoming sessions.
   Repeat this option to open several listeners. By default, `tcp/[::]:7447` is
 used. The following endpoints are currently supported:
   * TCP: `tcp/<host_name_or_IPv4_or_IPv6>:<port>`
   * UDP: `udp/<host_name_or_IPv4_or_IPv6>:<port>`
   * [TCP+TLS](https://zenoh.io/docs/manual/tls/): `tls/<host_name>:<port>`
   * [QUIC](https://zenoh.io/docs/manual/quic/): `quic/<host_name>:<port>`
 * `-e, --connect <ENDPOINT>...`: An endpoint this router will try to connect
 to. Repeat this option to connect to several peers or routers.
 * `--no-multicast-scouting`: By default zenohd replies to multicast scouting
 messages for being discovered by peers and clients.
   This option disables this feature.
 * `-i, --id <hex_string>`: The identifier (as an hexadecimal string - e.g.:
 A0B23...) that zenohd must use.
    **WARNING**: this identifier must be unique in the system! If not set, a
 random unsigned 128bit integer will be used.
 * `--no-timestamp`: By default zenohd adds a HLC-generated Timestamp to each
 routed Data if there isn't already one.
   This option disables this feature.
 * `-P, --plugin [<PLUGIN_NAME> | <PLUGIN_NAME>:<LIBRARY_PATH>]...`: A
 [plugin](https://zenoh.io/docs/manual/plugins/) that must be loaded. Accepted
 values:
   * a plugin name; zenohd will search for a library named
 `libzenoh_plugin_<name>.so` on Unix, `libzenoh_plugin_<PLUGIN_NAME>.dylib` on
 MacOS or `zenoh_plugin_<PLUGIN_NAME>.dll` on Windows.
   * `"<PLUGIN_NAME>:<LIBRARY_PATH>"`; the plugin will be loaded from library
 file at `<LIBRARY_PATH>`.
 .
   Repeat this option to load several plugins.
 * `--plugin-search-dir <DIRECTORY>...`: A directory where to search for
 [plugins](https://zenoh.io/docs/manual/plugins/) libraries to load.
   Repeat this option to specify several search directories'. By default, the
 plugins libraries will be searched in:
   `'/usr/local/lib:/usr/lib:~/.zenoh/lib:.'`
 * `--rest-http-port <rest-http-port>`: Configures the [REST
 plugin](https://zenoh.io/docs/manual/plugin-http/)'s HTTP port. Accepted
 values:
   * a port number
   * a string with format `<local_ip>:<port_number>` (to bind the HTTP server to
 a specific interface)
   * `"None"` to deactivate the REST plugin
 .
   If not specified, the REST plugin will be active on any interface (`[::]`)
 and port `8000`.
 .
 -------------------------------
 .
 ## Plugins
 .
 > [!WARNING]
 > As Rust doesn't have a stable ABI, the plugins should be
 built with the exact same Rust version than `zenohd`, and using for `zenoh`
 dependency the same version (or commit number) than 'zenohd'.
 Otherwise, incompatibilities in memory mapping of shared types between `zenohd`
 and the library can lead to a `"SIGSEV"` crash.
 .
 By default the Zenoh router is delivered or built with 2 plugins. These may be
 configured through a configuration file, or through individual changes to the
 configuration via the `--cfg` CLI option or via zenoh puts on individual parts
 of the configuration.
 .
 > [!WARNING]
 > Since `v0.6`, `zenohd` no longer loads every available plugin at startup.
 Instead, only configured plugins are loaded (after processing `--cfg` and
 `--plugin` options). Once `zenohd` is running, plugins can be hot-loaded and,
 if they support it, reconfigured at runtime by editing their configuration
 through the adminspace.
 .
 Note that the REST plugin is added to the configuration by the default value of
 the `--rest-http-port` CLI argument.
 .
 **[REST plugin](https://zenoh.io/docs/manual/plugin-http/)** (exposing a REST
 API):
 This plugin converts GET and PUT REST requests into Zenoh gets and puts
 respectively.
 .
 **[Storages plugin](https://zenoh.io/docs/manual/plugin-storage-manager/)**
 (managing [backends and
 storages](https://zenoh.io/docs/manual/plugin-storage-manager/#backends-and-volumes))
 This plugin allows you to easily define storages. These will store key-value
 pairs they subscribed to, and send the most recent ones when queried. Check out
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) for info on how to configure them.
 .
 -------------------------------
 .
 ## Troubleshooting
 .
 In case of troubles, please first check on [this
 page](https://zenoh.io/docs/getting-started/troubleshooting/) if the trouble
 and cause are already known.
 Otherwise, you can ask a question on the [zenoh Discord
 server](https://discord.gg/vSDSpqnbkm), or [create an
 issue](https://github.com/eclipse-zenoh/zenoh/issues).
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenoh
Version: 1.0.0~alpha.5-1
Architecture: arm64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 40
Depends: zenohd (=1.0.0~alpha.5-1), zenoh-plugin-rest (=1.0.0~alpha.5-1), zenoh-plugin-storage-manager (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh_1.0.0~alpha.5-1_arm64.deb
Size: 17300
MD5sum: 2dfd0029ed1aaff7a377fcdda57c1987
SHA1: ff43c3f9e366ee7617f857e0bf83ab31dcf76830
SHA256: 30854404c9e6be2fa77644d381b0954beb97a248643fe1809305daa823c9d650
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 <img
 src="https://raw.githubusercontent.com/eclipse-zenoh/zenoh/master/zenoh-dragon.png"
 height="150">
 .
 [![CI](https://github.com/eclipse-zenoh/zenoh/workflows/CI/badge.svg)](https://github.com/eclipse-zenoh/zenoh/actions?query=workflow%3A%22CI%22)
 [![Documentation
 Status](https://readthedocs.org/projects/zenoh-rust/badge/?version=latest)](https://zenoh-rust.readthedocs.io/en/latest/?badge=latest)
 [![Discussion](https://img.shields.io/badge/discussion-on%20github-blue)](https://github.com/eclipse-zenoh/roadmap/discussions)
 [![Discord](https://img.shields.io/badge/chat-on%20discord-blue)](https://discord.gg/2GJ958VuHs)
 [![License](https://img.shields.io/badge/License-EPL%202.0-blue)](https://choosealicense.com/licenses/epl-2.0/)
 [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
 .
 # Eclipse Zenoh
 .
 The Eclipse Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 .
 Zenoh (pronounce _/zeno/_) unifies data in motion, data at rest and
 computations. It carefully blends traditional pub/sub with geo-distributed
 storages, queries and computations, while retaining a level of time and space
 efficiency that is well beyond any of the mainstream stacks.
 .
 Check the website [zenoh.io](http://zenoh.io) and the
 [roadmap](https://github.com/eclipse-zenoh/roadmap) for more detailed
 information.
 .
 -------------------------------
 .
 ## Getting Started
 .
 Zenoh is extremely easy to learn, the best place to master the fundamentals is
 our [getting started guide](https://zenoh.io/docs/getting-started/first-app/).
 .
 -------------------------------
 .
 ## How to install it
 .
 To install the latest release of the Zenoh router (`zenohd`) and its default
 plugins (REST API plugin and Storages Manager plugin) you can do as follows:
 .
 ### Manual installation (all platforms)
 .
 All release packages can be downloaded from
 [https://download.eclipse.org/zenoh/zenoh/latest/](https://download.eclipse.org/zenoh/zenoh/latest/).
 .
 Each subdirectory has the name of the Rust target. See the platforms each
 target corresponds to on
 [https://doc.rust-lang.org/stable/rustc/platform-support.html](https://doc.rust-lang.org/stable/rustc/platform-support.html).
 .
 Choose your platform and download the `.zip` file.
 Unzip it where you want, and run the extracted `zenohd` binary.
 .
 ### Linux Debian
 .
 Add Eclipse Zenoh private repository to the sources list, and install the
 `zenoh` package:
 .
 ```bash
 echo "deb [trusted=yes] https://download.eclipse.org/zenoh/debian-repo/ /" |
 sudo tee -a /etc/apt/sources.list.d/zenoh.list > /dev/null
 sudo apt update
 sudo apt install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 ### MacOS
 .
 Tap our brew package repository and install the `zenoh` formula:
 .
 ```bash
 brew tap eclipse-zenoh/homebrew-zenoh
 brew install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 -------------------------------
 .
 ## Rust API
 .
 * [Docs.rs for Zenoh](https://docs.rs/zenoh/latest/zenoh/)
 .
 -------------------------------
 .
 ## How to build it
 .
 > [!WARNING]
 > Zenoh and its ecosystem are under active development. When you build from
 git, make sure you also build from git any other Zenoh repository you plan to
 use (e.g. binding, plugin, backend, etc.). It may happen that some changes in
 git are not compatible with the most recent packaged Zenoh release (e.g. deb,
 docker, pip). We put particular effort in maintaining compatibility between the
 various git repositories in the Zenoh project.
 .
 Install [Cargo and
 Rust](https://doc.rust-lang.org/cargo/getting-started/installation.html). Zenoh
 can be successfully compiled with Rust stable (>= 1.75.0), so no special
 configuration is required from your side. If you already have the Rust
 toolchain installed, make sure it is up-to-date with:
 .
 ```bash
 rustup update
 ```
 .
 To build Zenoh, just type the following command after having followed the
 previous instructions:
 .
 ```bash
 cargo build --release --all-targets
 ```
 .
 Zenoh's router is built as `target/release/zenohd`. All the examples are built
 into the `target/release/examples` directory. They can all work in
 peer-to-peer, or interconnected via the zenoh router.
 .
 -------------------------------
 .
 ## Quick tests of your build
 .
 ### Peer-to-peer tests
 .
 * **pub/sub**
   * run: `./target/release/examples/z_sub`
   * in another shell run: `./target/release/examples/z_put`
   * the subscriber should receive the publication.
 .
 * **get/queryable**
   * run: `./target/release/examples/z_queryable`
   * in another shell run: `./target/release/examples/z_get`
   * the queryable should display the log in its listener, and the get should
 receive the queryable result.
 .
 ### Routed tests
 .
 > [!NOTE]
 > **Windows users**: to properly execute the commands below in PowerShell you
 need to escape `"` characters as `\"`.
 .
 * **put/store/get**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell run: `./target/release/examples/z_put`
   * then run `./target/release/examples/z_get`
   * the get should receive the stored publication.
 .
 * **REST API using `curl` tool**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, do a publication via the REST API:
     `curl -X PUT -d '"Hello World!"' http://localhost:8000/demo/example/test`
   * get it back via the REST API:
     `curl http://localhost:8000/demo/example/test`
 .
 * **router admin space via the REST API**
   * run the Zenoh router with permission to perform config changes via the
 admin space, and with a memory storage:
     `./target/release/zenohd --adminspace-permissions=rw
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, get info of the zenoh router via the zenoh admin space:
     `curl http://localhost:8000/@/local/router`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/local/router/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
   * add another memory storage on `/demo/mystore/**`:
     `curl -X PUT -H 'content-type:application/json' -d
 '{"key_expr":"demo/mystore/**","volume":"memory"}'
 http://localhost:8000/@/local/router/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
 .
 ### Configuration options
 .
 A Zenoh configuration file can be provided via CLI to all Zenoh examples and
 the Zenoh router.
 .
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file and
 the available options.
 .
 See other examples of Zenoh usage in [examples/](examples)
 .
 > [!NOTE]
 > **Zenoh Runtime Configuration**: Starting from version 0.11.0-rc, Zenoh
 allows for configuring the number of worker threads and other advanced options
 of the runtime. For guidance on utilizing it, please refer to the
 [doc](https://docs.rs/zenoh-runtime/latest/zenoh_runtime/enum.ZRuntime.html).
 .
 -------------------------------
 .
 ## Zenoh router command line arguments
 .
 `zenohd` accepts the following arguments:
 .
 * `--adminspace-permissions <[r|w|rw|none]>`: Configure the read and/or write
 permissions on the admin space. Default is read only.
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file. All
 properties of this configuration are optional, so you may not need such a large
 configuration for your use-case.
 * `--cfg <KEY>:<VALUE>`: allows you to change specific parts of the
 configuration right after it has been constructed. VALUE must be a valid JSON5
 value, and key must be a path through the configuration file, where each
 element is separated by a `/`. When inserting in parts of the config that are
 arrays, you may use indexes, or may use `+` to indicate that you want to append
 your value to the array. `--cfg` passed values will always override any
 previously existing value for their key in the configuration.
 * `-l, --listen <ENDPOINT>...`: An endpoint on which this router will listen
 for incoming sessions.
   Repeat this option to open several listeners. By default, `tcp/[::]:7447` is
 used. The following endpoints are currently supported:
   * TCP: `tcp/<host_name_or_IPv4_or_IPv6>:<port>`
   * UDP: `udp/<host_name_or_IPv4_or_IPv6>:<port>`
   * [TCP+TLS](https://zenoh.io/docs/manual/tls/): `tls/<host_name>:<port>`
   * [QUIC](https://zenoh.io/docs/manual/quic/): `quic/<host_name>:<port>`
 * `-e, --connect <ENDPOINT>...`: An endpoint this router will try to connect
 to. Repeat this option to connect to several peers or routers.
 * `--no-multicast-scouting`: By default zenohd replies to multicast scouting
 messages for being discovered by peers and clients.
   This option disables this feature.
 * `-i, --id <hex_string>`: The identifier (as an hexadecimal string - e.g.:
 A0B23...) that zenohd must use.
    **WARNING**: this identifier must be unique in the system! If not set, a
 random unsigned 128bit integer will be used.
 * `--no-timestamp`: By default zenohd adds a HLC-generated Timestamp to each
 routed Data if there isn't already one.
   This option disables this feature.
 * `-P, --plugin [<PLUGIN_NAME> | <PLUGIN_NAME>:<LIBRARY_PATH>]...`: A
 [plugin](https://zenoh.io/docs/manual/plugins/) that must be loaded. Accepted
 values:
   * a plugin name; zenohd will search for a library named
 `libzenoh_plugin_<name>.so` on Unix, `libzenoh_plugin_<PLUGIN_NAME>.dylib` on
 MacOS or `zenoh_plugin_<PLUGIN_NAME>.dll` on Windows.
   * `"<PLUGIN_NAME>:<LIBRARY_PATH>"`; the plugin will be loaded from library
 file at `<LIBRARY_PATH>`.
 .
   Repeat this option to load several plugins.
 * `--plugin-search-dir <DIRECTORY>...`: A directory where to search for
 [plugins](https://zenoh.io/docs/manual/plugins/) libraries to load.
   Repeat this option to specify several search directories'. By default, the
 plugins libraries will be searched in:
   `'/usr/local/lib:/usr/lib:~/.zenoh/lib:.'`
 * `--rest-http-port <rest-http-port>`: Configures the [REST
 plugin](https://zenoh.io/docs/manual/plugin-http/)'s HTTP port. Accepted
 values:
   * a port number
   * a string with format `<local_ip>:<port_number>` (to bind the HTTP server to
 a specific interface)
   * `"None"` to deactivate the REST plugin
 .
   If not specified, the REST plugin will be active on any interface (`[::]`)
 and port `8000`.
 .
 -------------------------------
 .
 ## Plugins
 .
 > [!WARNING]
 > As Rust doesn't have a stable ABI, the plugins should be
 built with the exact same Rust version than `zenohd`, and using for `zenoh`
 dependency the same version (or commit number) than 'zenohd'.
 Otherwise, incompatibilities in memory mapping of shared types between `zenohd`
 and the library can lead to a `"SIGSEV"` crash.
 .
 By default the Zenoh router is delivered or built with 2 plugins. These may be
 configured through a configuration file, or through individual changes to the
 configuration via the `--cfg` CLI option or via zenoh puts on individual parts
 of the configuration.
 .
 > [!WARNING]
 > Since `v0.6`, `zenohd` no longer loads every available plugin at startup.
 Instead, only configured plugins are loaded (after processing `--cfg` and
 `--plugin` options). Once `zenohd` is running, plugins can be hot-loaded and,
 if they support it, reconfigured at runtime by editing their configuration
 through the adminspace.
 .
 Note that the REST plugin is added to the configuration by the default value of
 the `--rest-http-port` CLI argument.
 .
 **[REST plugin](https://zenoh.io/docs/manual/plugin-http/)** (exposing a REST
 API):
 This plugin converts GET and PUT REST requests into Zenoh gets and puts
 respectively.
 .
 **[Storages plugin](https://zenoh.io/docs/manual/plugin-storage-manager/)**
 (managing [backends and
 storages](https://zenoh.io/docs/manual/plugin-storage-manager/#backends-and-volumes))
 This plugin allows you to easily define storages. These will store key-value
 pairs they subscribed to, and send the most recent ones when queried. Check out
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) for info on how to configure them.
 .
 -------------------------------
 .
 ## Troubleshooting
 .
 In case of troubles, please first check on [this
 page](https://zenoh.io/docs/getting-started/troubleshooting/) if the trouble
 and cause are already known.
 Otherwise, you can ask a question on the [zenoh Discord
 server](https://discord.gg/vSDSpqnbkm), or [create an
 issue](https://github.com/eclipse-zenoh/zenoh/issues).
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenoh
Version: 1.0.0~alpha.5-1
Architecture: armhf
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 40
Depends: zenoh-plugin-storage-manager (=1.0.0~alpha.5-1), zenohd (=1.0.0~alpha.5-1), zenoh-plugin-rest (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh_1.0.0~alpha.5-1_armhf.deb
Size: 17300
MD5sum: d2a6788eb5ee5307b8fb7e842a07af8b
SHA1: 014bed9d4bdb50a03ff2ba3ab73763ba2a41e02e
SHA256: e793104541c45454aee61e6acb9596c44c326f776b5578e36de34955dd55cf5b
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 <img
 src="https://raw.githubusercontent.com/eclipse-zenoh/zenoh/master/zenoh-dragon.png"
 height="150">
 .
 [![CI](https://github.com/eclipse-zenoh/zenoh/workflows/CI/badge.svg)](https://github.com/eclipse-zenoh/zenoh/actions?query=workflow%3A%22CI%22)
 [![Documentation
 Status](https://readthedocs.org/projects/zenoh-rust/badge/?version=latest)](https://zenoh-rust.readthedocs.io/en/latest/?badge=latest)
 [![Discussion](https://img.shields.io/badge/discussion-on%20github-blue)](https://github.com/eclipse-zenoh/roadmap/discussions)
 [![Discord](https://img.shields.io/badge/chat-on%20discord-blue)](https://discord.gg/2GJ958VuHs)
 [![License](https://img.shields.io/badge/License-EPL%202.0-blue)](https://choosealicense.com/licenses/epl-2.0/)
 [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
 .
 # Eclipse Zenoh
 .
 The Eclipse Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 .
 Zenoh (pronounce _/zeno/_) unifies data in motion, data at rest and
 computations. It carefully blends traditional pub/sub with geo-distributed
 storages, queries and computations, while retaining a level of time and space
 efficiency that is well beyond any of the mainstream stacks.
 .
 Check the website [zenoh.io](http://zenoh.io) and the
 [roadmap](https://github.com/eclipse-zenoh/roadmap) for more detailed
 information.
 .
 -------------------------------
 .
 ## Getting Started
 .
 Zenoh is extremely easy to learn, the best place to master the fundamentals is
 our [getting started guide](https://zenoh.io/docs/getting-started/first-app/).
 .
 -------------------------------
 .
 ## How to install it
 .
 To install the latest release of the Zenoh router (`zenohd`) and its default
 plugins (REST API plugin and Storages Manager plugin) you can do as follows:
 .
 ### Manual installation (all platforms)
 .
 All release packages can be downloaded from
 [https://download.eclipse.org/zenoh/zenoh/latest/](https://download.eclipse.org/zenoh/zenoh/latest/).
 .
 Each subdirectory has the name of the Rust target. See the platforms each
 target corresponds to on
 [https://doc.rust-lang.org/stable/rustc/platform-support.html](https://doc.rust-lang.org/stable/rustc/platform-support.html).
 .
 Choose your platform and download the `.zip` file.
 Unzip it where you want, and run the extracted `zenohd` binary.
 .
 ### Linux Debian
 .
 Add Eclipse Zenoh private repository to the sources list, and install the
 `zenoh` package:
 .
 ```bash
 echo "deb [trusted=yes] https://download.eclipse.org/zenoh/debian-repo/ /" |
 sudo tee -a /etc/apt/sources.list.d/zenoh.list > /dev/null
 sudo apt update
 sudo apt install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 ### MacOS
 .
 Tap our brew package repository and install the `zenoh` formula:
 .
 ```bash
 brew tap eclipse-zenoh/homebrew-zenoh
 brew install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 -------------------------------
 .
 ## Rust API
 .
 * [Docs.rs for Zenoh](https://docs.rs/zenoh/latest/zenoh/)
 .
 -------------------------------
 .
 ## How to build it
 .
 > [!WARNING]
 > Zenoh and its ecosystem are under active development. When you build from
 git, make sure you also build from git any other Zenoh repository you plan to
 use (e.g. binding, plugin, backend, etc.). It may happen that some changes in
 git are not compatible with the most recent packaged Zenoh release (e.g. deb,
 docker, pip). We put particular effort in maintaining compatibility between the
 various git repositories in the Zenoh project.
 .
 Install [Cargo and
 Rust](https://doc.rust-lang.org/cargo/getting-started/installation.html). Zenoh
 can be successfully compiled with Rust stable (>= 1.75.0), so no special
 configuration is required from your side. If you already have the Rust
 toolchain installed, make sure it is up-to-date with:
 .
 ```bash
 rustup update
 ```
 .
 To build Zenoh, just type the following command after having followed the
 previous instructions:
 .
 ```bash
 cargo build --release --all-targets
 ```
 .
 Zenoh's router is built as `target/release/zenohd`. All the examples are built
 into the `target/release/examples` directory. They can all work in
 peer-to-peer, or interconnected via the zenoh router.
 .
 -------------------------------
 .
 ## Quick tests of your build
 .
 ### Peer-to-peer tests
 .
 * **pub/sub**
   * run: `./target/release/examples/z_sub`
   * in another shell run: `./target/release/examples/z_put`
   * the subscriber should receive the publication.
 .
 * **get/queryable**
   * run: `./target/release/examples/z_queryable`
   * in another shell run: `./target/release/examples/z_get`
   * the queryable should display the log in its listener, and the get should
 receive the queryable result.
 .
 ### Routed tests
 .
 > [!NOTE]
 > **Windows users**: to properly execute the commands below in PowerShell you
 need to escape `"` characters as `\"`.
 .
 * **put/store/get**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell run: `./target/release/examples/z_put`
   * then run `./target/release/examples/z_get`
   * the get should receive the stored publication.
 .
 * **REST API using `curl` tool**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, do a publication via the REST API:
     `curl -X PUT -d '"Hello World!"' http://localhost:8000/demo/example/test`
   * get it back via the REST API:
     `curl http://localhost:8000/demo/example/test`
 .
 * **router admin space via the REST API**
   * run the Zenoh router with permission to perform config changes via the
 admin space, and with a memory storage:
     `./target/release/zenohd --adminspace-permissions=rw
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, get info of the zenoh router via the zenoh admin space:
     `curl http://localhost:8000/@/local/router`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/local/router/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
   * add another memory storage on `/demo/mystore/**`:
     `curl -X PUT -H 'content-type:application/json' -d
 '{"key_expr":"demo/mystore/**","volume":"memory"}'
 http://localhost:8000/@/local/router/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
 .
 ### Configuration options
 .
 A Zenoh configuration file can be provided via CLI to all Zenoh examples and
 the Zenoh router.
 .
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file and
 the available options.
 .
 See other examples of Zenoh usage in [examples/](examples)
 .
 > [!NOTE]
 > **Zenoh Runtime Configuration**: Starting from version 0.11.0-rc, Zenoh
 allows for configuring the number of worker threads and other advanced options
 of the runtime. For guidance on utilizing it, please refer to the
 [doc](https://docs.rs/zenoh-runtime/latest/zenoh_runtime/enum.ZRuntime.html).
 .
 -------------------------------
 .
 ## Zenoh router command line arguments
 .
 `zenohd` accepts the following arguments:
 .
 * `--adminspace-permissions <[r|w|rw|none]>`: Configure the read and/or write
 permissions on the admin space. Default is read only.
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file. All
 properties of this configuration are optional, so you may not need such a large
 configuration for your use-case.
 * `--cfg <KEY>:<VALUE>`: allows you to change specific parts of the
 configuration right after it has been constructed. VALUE must be a valid JSON5
 value, and key must be a path through the configuration file, where each
 element is separated by a `/`. When inserting in parts of the config that are
 arrays, you may use indexes, or may use `+` to indicate that you want to append
 your value to the array. `--cfg` passed values will always override any
 previously existing value for their key in the configuration.
 * `-l, --listen <ENDPOINT>...`: An endpoint on which this router will listen
 for incoming sessions.
   Repeat this option to open several listeners. By default, `tcp/[::]:7447` is
 used. The following endpoints are currently supported:
   * TCP: `tcp/<host_name_or_IPv4_or_IPv6>:<port>`
   * UDP: `udp/<host_name_or_IPv4_or_IPv6>:<port>`
   * [TCP+TLS](https://zenoh.io/docs/manual/tls/): `tls/<host_name>:<port>`
   * [QUIC](https://zenoh.io/docs/manual/quic/): `quic/<host_name>:<port>`
 * `-e, --connect <ENDPOINT>...`: An endpoint this router will try to connect
 to. Repeat this option to connect to several peers or routers.
 * `--no-multicast-scouting`: By default zenohd replies to multicast scouting
 messages for being discovered by peers and clients.
   This option disables this feature.
 * `-i, --id <hex_string>`: The identifier (as an hexadecimal string - e.g.:
 A0B23...) that zenohd must use.
    **WARNING**: this identifier must be unique in the system! If not set, a
 random unsigned 128bit integer will be used.
 * `--no-timestamp`: By default zenohd adds a HLC-generated Timestamp to each
 routed Data if there isn't already one.
   This option disables this feature.
 * `-P, --plugin [<PLUGIN_NAME> | <PLUGIN_NAME>:<LIBRARY_PATH>]...`: A
 [plugin](https://zenoh.io/docs/manual/plugins/) that must be loaded. Accepted
 values:
   * a plugin name; zenohd will search for a library named
 `libzenoh_plugin_<name>.so` on Unix, `libzenoh_plugin_<PLUGIN_NAME>.dylib` on
 MacOS or `zenoh_plugin_<PLUGIN_NAME>.dll` on Windows.
   * `"<PLUGIN_NAME>:<LIBRARY_PATH>"`; the plugin will be loaded from library
 file at `<LIBRARY_PATH>`.
 .
   Repeat this option to load several plugins.
 * `--plugin-search-dir <DIRECTORY>...`: A directory where to search for
 [plugins](https://zenoh.io/docs/manual/plugins/) libraries to load.
   Repeat this option to specify several search directories'. By default, the
 plugins libraries will be searched in:
   `'/usr/local/lib:/usr/lib:~/.zenoh/lib:.'`
 * `--rest-http-port <rest-http-port>`: Configures the [REST
 plugin](https://zenoh.io/docs/manual/plugin-http/)'s HTTP port. Accepted
 values:
   * a port number
   * a string with format `<local_ip>:<port_number>` (to bind the HTTP server to
 a specific interface)
   * `"None"` to deactivate the REST plugin
 .
   If not specified, the REST plugin will be active on any interface (`[::]`)
 and port `8000`.
 .
 -------------------------------
 .
 ## Plugins
 .
 > [!WARNING]
 > As Rust doesn't have a stable ABI, the plugins should be
 built with the exact same Rust version than `zenohd`, and using for `zenoh`
 dependency the same version (or commit number) than 'zenohd'.
 Otherwise, incompatibilities in memory mapping of shared types between `zenohd`
 and the library can lead to a `"SIGSEV"` crash.
 .
 By default the Zenoh router is delivered or built with 2 plugins. These may be
 configured through a configuration file, or through individual changes to the
 configuration via the `--cfg` CLI option or via zenoh puts on individual parts
 of the configuration.
 .
 > [!WARNING]
 > Since `v0.6`, `zenohd` no longer loads every available plugin at startup.
 Instead, only configured plugins are loaded (after processing `--cfg` and
 `--plugin` options). Once `zenohd` is running, plugins can be hot-loaded and,
 if they support it, reconfigured at runtime by editing their configuration
 through the adminspace.
 .
 Note that the REST plugin is added to the configuration by the default value of
 the `--rest-http-port` CLI argument.
 .
 **[REST plugin](https://zenoh.io/docs/manual/plugin-http/)** (exposing a REST
 API):
 This plugin converts GET and PUT REST requests into Zenoh gets and puts
 respectively.
 .
 **[Storages plugin](https://zenoh.io/docs/manual/plugin-storage-manager/)**
 (managing [backends and
 storages](https://zenoh.io/docs/manual/plugin-storage-manager/#backends-and-volumes))
 This plugin allows you to easily define storages. These will store key-value
 pairs they subscribed to, and send the most recent ones when queried. Check out
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) for info on how to configure them.
 .
 -------------------------------
 .
 ## Troubleshooting
 .
 In case of troubles, please first check on [this
 page](https://zenoh.io/docs/getting-started/troubleshooting/) if the trouble
 and cause are already known.
 Otherwise, you can ask a question on the [zenoh Discord
 server](https://discord.gg/vSDSpqnbkm), or [create an
 issue](https://github.com/eclipse-zenoh/zenoh/issues).
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenoh
Version: 1.0.0~alpha.5-1
Architecture: armel
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 40
Depends: zenoh-plugin-storage-manager (=1.0.0~alpha.5-1), zenohd (=1.0.0~alpha.5-1), zenoh-plugin-rest (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh_1.0.0~alpha.5-1_armel.deb
Size: 17304
MD5sum: 6f6644b4567c9ffffde713ea7dd133ee
SHA1: fc968ca2a0ed255d0d9116fe0bdb6d6af2edf505
SHA256: 736c7830927893a27a259c389c98cf2375fb6cb4599f55586a261994666684ff
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 <img
 src="https://raw.githubusercontent.com/eclipse-zenoh/zenoh/master/zenoh-dragon.png"
 height="150">
 .
 [![CI](https://github.com/eclipse-zenoh/zenoh/workflows/CI/badge.svg)](https://github.com/eclipse-zenoh/zenoh/actions?query=workflow%3A%22CI%22)
 [![Documentation
 Status](https://readthedocs.org/projects/zenoh-rust/badge/?version=latest)](https://zenoh-rust.readthedocs.io/en/latest/?badge=latest)
 [![Discussion](https://img.shields.io/badge/discussion-on%20github-blue)](https://github.com/eclipse-zenoh/roadmap/discussions)
 [![Discord](https://img.shields.io/badge/chat-on%20discord-blue)](https://discord.gg/2GJ958VuHs)
 [![License](https://img.shields.io/badge/License-EPL%202.0-blue)](https://choosealicense.com/licenses/epl-2.0/)
 [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
 .
 # Eclipse Zenoh
 .
 The Eclipse Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 .
 Zenoh (pronounce _/zeno/_) unifies data in motion, data at rest and
 computations. It carefully blends traditional pub/sub with geo-distributed
 storages, queries and computations, while retaining a level of time and space
 efficiency that is well beyond any of the mainstream stacks.
 .
 Check the website [zenoh.io](http://zenoh.io) and the
 [roadmap](https://github.com/eclipse-zenoh/roadmap) for more detailed
 information.
 .
 -------------------------------
 .
 ## Getting Started
 .
 Zenoh is extremely easy to learn, the best place to master the fundamentals is
 our [getting started guide](https://zenoh.io/docs/getting-started/first-app/).
 .
 -------------------------------
 .
 ## How to install it
 .
 To install the latest release of the Zenoh router (`zenohd`) and its default
 plugins (REST API plugin and Storages Manager plugin) you can do as follows:
 .
 ### Manual installation (all platforms)
 .
 All release packages can be downloaded from
 [https://download.eclipse.org/zenoh/zenoh/latest/](https://download.eclipse.org/zenoh/zenoh/latest/).
 .
 Each subdirectory has the name of the Rust target. See the platforms each
 target corresponds to on
 [https://doc.rust-lang.org/stable/rustc/platform-support.html](https://doc.rust-lang.org/stable/rustc/platform-support.html).
 .
 Choose your platform and download the `.zip` file.
 Unzip it where you want, and run the extracted `zenohd` binary.
 .
 ### Linux Debian
 .
 Add Eclipse Zenoh private repository to the sources list, and install the
 `zenoh` package:
 .
 ```bash
 echo "deb [trusted=yes] https://download.eclipse.org/zenoh/debian-repo/ /" |
 sudo tee -a /etc/apt/sources.list.d/zenoh.list > /dev/null
 sudo apt update
 sudo apt install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 ### MacOS
 .
 Tap our brew package repository and install the `zenoh` formula:
 .
 ```bash
 brew tap eclipse-zenoh/homebrew-zenoh
 brew install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 -------------------------------
 .
 ## Rust API
 .
 * [Docs.rs for Zenoh](https://docs.rs/zenoh/latest/zenoh/)
 .
 -------------------------------
 .
 ## How to build it
 .
 > [!WARNING]
 > Zenoh and its ecosystem are under active development. When you build from
 git, make sure you also build from git any other Zenoh repository you plan to
 use (e.g. binding, plugin, backend, etc.). It may happen that some changes in
 git are not compatible with the most recent packaged Zenoh release (e.g. deb,
 docker, pip). We put particular effort in maintaining compatibility between the
 various git repositories in the Zenoh project.
 .
 Install [Cargo and
 Rust](https://doc.rust-lang.org/cargo/getting-started/installation.html). Zenoh
 can be successfully compiled with Rust stable (>= 1.75.0), so no special
 configuration is required from your side. If you already have the Rust
 toolchain installed, make sure it is up-to-date with:
 .
 ```bash
 rustup update
 ```
 .
 To build Zenoh, just type the following command after having followed the
 previous instructions:
 .
 ```bash
 cargo build --release --all-targets
 ```
 .
 Zenoh's router is built as `target/release/zenohd`. All the examples are built
 into the `target/release/examples` directory. They can all work in
 peer-to-peer, or interconnected via the zenoh router.
 .
 -------------------------------
 .
 ## Quick tests of your build
 .
 ### Peer-to-peer tests
 .
 * **pub/sub**
   * run: `./target/release/examples/z_sub`
   * in another shell run: `./target/release/examples/z_put`
   * the subscriber should receive the publication.
 .
 * **get/queryable**
   * run: `./target/release/examples/z_queryable`
   * in another shell run: `./target/release/examples/z_get`
   * the queryable should display the log in its listener, and the get should
 receive the queryable result.
 .
 ### Routed tests
 .
 > [!NOTE]
 > **Windows users**: to properly execute the commands below in PowerShell you
 need to escape `"` characters as `\"`.
 .
 * **put/store/get**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell run: `./target/release/examples/z_put`
   * then run `./target/release/examples/z_get`
   * the get should receive the stored publication.
 .
 * **REST API using `curl` tool**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, do a publication via the REST API:
     `curl -X PUT -d '"Hello World!"' http://localhost:8000/demo/example/test`
   * get it back via the REST API:
     `curl http://localhost:8000/demo/example/test`
 .
 * **router admin space via the REST API**
   * run the Zenoh router with permission to perform config changes via the
 admin space, and with a memory storage:
     `./target/release/zenohd --adminspace-permissions=rw
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, get info of the zenoh router via the zenoh admin space:
     `curl http://localhost:8000/@/local/router`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/local/router/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
   * add another memory storage on `/demo/mystore/**`:
     `curl -X PUT -H 'content-type:application/json' -d
 '{"key_expr":"demo/mystore/**","volume":"memory"}'
 http://localhost:8000/@/local/router/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
 .
 ### Configuration options
 .
 A Zenoh configuration file can be provided via CLI to all Zenoh examples and
 the Zenoh router.
 .
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file and
 the available options.
 .
 See other examples of Zenoh usage in [examples/](examples)
 .
 > [!NOTE]
 > **Zenoh Runtime Configuration**: Starting from version 0.11.0-rc, Zenoh
 allows for configuring the number of worker threads and other advanced options
 of the runtime. For guidance on utilizing it, please refer to the
 [doc](https://docs.rs/zenoh-runtime/latest/zenoh_runtime/enum.ZRuntime.html).
 .
 -------------------------------
 .
 ## Zenoh router command line arguments
 .
 `zenohd` accepts the following arguments:
 .
 * `--adminspace-permissions <[r|w|rw|none]>`: Configure the read and/or write
 permissions on the admin space. Default is read only.
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file. All
 properties of this configuration are optional, so you may not need such a large
 configuration for your use-case.
 * `--cfg <KEY>:<VALUE>`: allows you to change specific parts of the
 configuration right after it has been constructed. VALUE must be a valid JSON5
 value, and key must be a path through the configuration file, where each
 element is separated by a `/`. When inserting in parts of the config that are
 arrays, you may use indexes, or may use `+` to indicate that you want to append
 your value to the array. `--cfg` passed values will always override any
 previously existing value for their key in the configuration.
 * `-l, --listen <ENDPOINT>...`: An endpoint on which this router will listen
 for incoming sessions.
   Repeat this option to open several listeners. By default, `tcp/[::]:7447` is
 used. The following endpoints are currently supported:
   * TCP: `tcp/<host_name_or_IPv4_or_IPv6>:<port>`
   * UDP: `udp/<host_name_or_IPv4_or_IPv6>:<port>`
   * [TCP+TLS](https://zenoh.io/docs/manual/tls/): `tls/<host_name>:<port>`
   * [QUIC](https://zenoh.io/docs/manual/quic/): `quic/<host_name>:<port>`
 * `-e, --connect <ENDPOINT>...`: An endpoint this router will try to connect
 to. Repeat this option to connect to several peers or routers.
 * `--no-multicast-scouting`: By default zenohd replies to multicast scouting
 messages for being discovered by peers and clients.
   This option disables this feature.
 * `-i, --id <hex_string>`: The identifier (as an hexadecimal string - e.g.:
 A0B23...) that zenohd must use.
    **WARNING**: this identifier must be unique in the system! If not set, a
 random unsigned 128bit integer will be used.
 * `--no-timestamp`: By default zenohd adds a HLC-generated Timestamp to each
 routed Data if there isn't already one.
   This option disables this feature.
 * `-P, --plugin [<PLUGIN_NAME> | <PLUGIN_NAME>:<LIBRARY_PATH>]...`: A
 [plugin](https://zenoh.io/docs/manual/plugins/) that must be loaded. Accepted
 values:
   * a plugin name; zenohd will search for a library named
 `libzenoh_plugin_<name>.so` on Unix, `libzenoh_plugin_<PLUGIN_NAME>.dylib` on
 MacOS or `zenoh_plugin_<PLUGIN_NAME>.dll` on Windows.
   * `"<PLUGIN_NAME>:<LIBRARY_PATH>"`; the plugin will be loaded from library
 file at `<LIBRARY_PATH>`.
 .
   Repeat this option to load several plugins.
 * `--plugin-search-dir <DIRECTORY>...`: A directory where to search for
 [plugins](https://zenoh.io/docs/manual/plugins/) libraries to load.
   Repeat this option to specify several search directories'. By default, the
 plugins libraries will be searched in:
   `'/usr/local/lib:/usr/lib:~/.zenoh/lib:.'`
 * `--rest-http-port <rest-http-port>`: Configures the [REST
 plugin](https://zenoh.io/docs/manual/plugin-http/)'s HTTP port. Accepted
 values:
   * a port number
   * a string with format `<local_ip>:<port_number>` (to bind the HTTP server to
 a specific interface)
   * `"None"` to deactivate the REST plugin
 .
   If not specified, the REST plugin will be active on any interface (`[::]`)
 and port `8000`.
 .
 -------------------------------
 .
 ## Plugins
 .
 > [!WARNING]
 > As Rust doesn't have a stable ABI, the plugins should be
 built with the exact same Rust version than `zenohd`, and using for `zenoh`
 dependency the same version (or commit number) than 'zenohd'.
 Otherwise, incompatibilities in memory mapping of shared types between `zenohd`
 and the library can lead to a `"SIGSEV"` crash.
 .
 By default the Zenoh router is delivered or built with 2 plugins. These may be
 configured through a configuration file, or through individual changes to the
 configuration via the `--cfg` CLI option or via zenoh puts on individual parts
 of the configuration.
 .
 > [!WARNING]
 > Since `v0.6`, `zenohd` no longer loads every available plugin at startup.
 Instead, only configured plugins are loaded (after processing `--cfg` and
 `--plugin` options). Once `zenohd` is running, plugins can be hot-loaded and,
 if they support it, reconfigured at runtime by editing their configuration
 through the adminspace.
 .
 Note that the REST plugin is added to the configuration by the default value of
 the `--rest-http-port` CLI argument.
 .
 **[REST plugin](https://zenoh.io/docs/manual/plugin-http/)** (exposing a REST
 API):
 This plugin converts GET and PUT REST requests into Zenoh gets and puts
 respectively.
 .
 **[Storages plugin](https://zenoh.io/docs/manual/plugin-storage-manager/)**
 (managing [backends and
 storages](https://zenoh.io/docs/manual/plugin-storage-manager/#backends-and-volumes))
 This plugin allows you to easily define storages. These will store key-value
 pairs they subscribed to, and send the most recent ones when queried. Check out
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) for info on how to configure them.
 .
 -------------------------------
 .
 ## Troubleshooting
 .
 In case of troubles, please first check on [this
 page](https://zenoh.io/docs/getting-started/troubleshooting/) if the trouble
 and cause are already known.
 Otherwise, you can ask a question on the [zenoh Discord
 server](https://discord.gg/vSDSpqnbkm), or [create an
 issue](https://github.com/eclipse-zenoh/zenoh/issues).
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenoh-plugin-rest
Version: 1.0.0~alpha.5-1
Architecture: amd64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 11597
Depends: zenohd (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh-plugin-rest_1.0.0~alpha.5-1_amd64.deb
Size: 2208584
MD5sum: d769213958c7ae845d007dba1c9bbe50
SHA1: 55fd0167bf982223cecfb392686109f07022e2ac
SHA256: 79445104c88ae7b86e79ee0c6765f988b2e679ba44293370875852212553be48
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: The zenoh REST plugin
 # ⚠️ WARNING ⚠️
 .
 This crate is intended for Zenoh's internal use.
 .
 - [Click here for Zenoh's main
 repository](https://github.com/eclipse-zenoh/zenoh)
 - [Click here for Zenoh's documentation](https://zenoh.io)
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenoh-plugin-rest
Version: 1.0.0~alpha.5-1
Architecture: armel
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 8582
Depends: zenohd (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh-plugin-rest_1.0.0~alpha.5-1_armel.deb
Size: 1876764
MD5sum: 47dae01c89c5230ad39ee711bd6d745f
SHA1: 3b05e015552da09d530786203eb51f72d7e717e2
SHA256: 22ed8c7bc61d0b75650c8c5034bd6c5bcf2d79e8cae41bb31fce60103805d5b0
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: The zenoh REST plugin
 # ⚠️ WARNING ⚠️
 .
 This crate is intended for Zenoh's internal use.
 .
 - [Click here for Zenoh's main
 repository](https://github.com/eclipse-zenoh/zenoh)
 - [Click here for Zenoh's documentation](https://zenoh.io)
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenoh-plugin-rest
Version: 1.0.0~alpha.5-1
Architecture: armhf
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 8461
Depends: zenohd (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh-plugin-rest_1.0.0~alpha.5-1_armhf.deb
Size: 1863972
MD5sum: 8f03a94171d9d9edce1338b0220e2a16
SHA1: dfa07127cf1ed8b724698706ca648bee7313ae3a
SHA256: b406a3d398e17db556fdebe40dbf4f7f12dc073d034f09c1ae9d3f6251b02316
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: The zenoh REST plugin
 # ⚠️ WARNING ⚠️
 .
 This crate is intended for Zenoh's internal use.
 .
 - [Click here for Zenoh's main
 repository](https://github.com/eclipse-zenoh/zenoh)
 - [Click here for Zenoh's documentation](https://zenoh.io)
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenoh-plugin-rest
Version: 1.0.0~alpha.5-1
Architecture: arm64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 10400
Depends: zenohd (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh-plugin-rest_1.0.0~alpha.5-1_arm64.deb
Size: 2003732
MD5sum: 268cb9fd8de1ee07e45fb31dc6b16763
SHA1: ad7d8c6cae1c172cfd00b8e1cfc11089871e1584
SHA256: 2cd914005b3b1deec2fab981d311e097f824942ff2ab358e9f78c1a0d8097fc9
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: The zenoh REST plugin
 # ⚠️ WARNING ⚠️
 .
 This crate is intended for Zenoh's internal use.
 .
 - [Click here for Zenoh's main
 repository](https://github.com/eclipse-zenoh/zenoh)
 - [Click here for Zenoh's documentation](https://zenoh.io)
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenoh-plugin-storage-manager
Version: 1.0.0~alpha.5-1
Architecture: arm64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 10722
Depends: zenohd (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh-plugin-storage-manager_1.0.0~alpha.5-1_arm64.deb
Size: 2065616
MD5sum: 25ed65c3459df6f24ed82ff0d2076745
SHA1: e889f6749922e907f8c3275ff6e07714580b3c85
SHA256: d14eecd19cb8b3cb23efdd19bbb634b27f9cee57c0fed8d11ccaf46e59efd00e
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: The zenoh storages plugin.
 # ⚠️ WARNING ⚠️
 .
 This crate is intended for Zenoh's internal use.
 .
 - [Click here for Zenoh's main
 repository](https://github.com/eclipse-zenoh/zenoh)
 - [Click here for Zenoh's documentation](https://zenoh.io)
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenoh-plugin-storage-manager
Version: 1.0.0~alpha.5-1
Architecture: armhf
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 8836
Depends: zenohd (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh-plugin-storage-manager_1.0.0~alpha.5-1_armhf.deb
Size: 1950920
MD5sum: d3458c8f04fab7056612c3d680950639
SHA1: e59420eedd32aee6065cc2c107cabc22cc613f5c
SHA256: b07216c26efd14a7f71414e22582fca59acce7d38864e8b8f08ad9c4df2df2f8
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: The zenoh storages plugin.
 # ⚠️ WARNING ⚠️
 .
 This crate is intended for Zenoh's internal use.
 .
 - [Click here for Zenoh's main
 repository](https://github.com/eclipse-zenoh/zenoh)
 - [Click here for Zenoh's documentation](https://zenoh.io)
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenoh-plugin-storage-manager
Version: 1.0.0~alpha.5-1
Architecture: amd64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 11960
Depends: zenohd (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh-plugin-storage-manager_1.0.0~alpha.5-1_amd64.deb
Size: 2280388
MD5sum: 9dd0d370db0128df75b8a26bd88bde60
SHA1: e84326dd1615f16c1a3af78a7c5a48ffd35d29d2
SHA256: 3e820dd57e1a882904d773667e02e9f700f8c940284e6ea9db2ca74713a64c46
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: The zenoh storages plugin.
 # ⚠️ WARNING ⚠️
 .
 This crate is intended for Zenoh's internal use.
 .
 - [Click here for Zenoh's main
 repository](https://github.com/eclipse-zenoh/zenoh)
 - [Click here for Zenoh's documentation](https://zenoh.io)
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenoh-plugin-storage-manager
Version: 1.0.0~alpha.5-1
Architecture: armel
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 8965
Depends: zenohd (=1.0.0~alpha.5-1)
Filename: 1.0.0-alpha.5/zenoh-plugin-storage-manager_1.0.0~alpha.5-1_armel.deb
Size: 1962292
MD5sum: e35dcbca04c26a3f1315465cc8a7f7b8
SHA1: 45c7482986909df5a78b5a3bcf4b1fe91ee4747d
SHA256: 439ae3d62af6ad5fe81c196b390211c42d92aac4f09abaf7b1079d16f5f48497
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: The zenoh storages plugin.
 # ⚠️ WARNING ⚠️
 .
 This crate is intended for Zenoh's internal use.
 .
 - [Click here for Zenoh's main
 repository](https://github.com/eclipse-zenoh/zenoh)
 - [Click here for Zenoh's documentation](https://zenoh.io)
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenohd
Version: 1.0.0~alpha.5-1
Architecture: amd64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 18522
Depends: libc6 (>= 2.29)
Filename: 1.0.0-alpha.5/zenohd_1.0.0~alpha.5-1_amd64.deb
Size: 4508940
MD5sum: 32b0c6ccd22f0ec473276f59f41f7ba0
SHA1: ea9a17818f6142dfd535e513d9a07deb39777e64
SHA256: a3b2ed8ae53bfc3be87f040beee0e2b7e4975c495edbac89c1d7796cbd5fad9e
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 <img
 src="https://raw.githubusercontent.com/eclipse-zenoh/zenoh/master/zenoh-dragon.png"
 height="150">
 .
 [![CI](https://github.com/eclipse-zenoh/zenoh/workflows/CI/badge.svg)](https://github.com/eclipse-zenoh/zenoh/actions?query=workflow%3A%22CI%22)
 [![Documentation
 Status](https://readthedocs.org/projects/zenoh-rust/badge/?version=latest)](https://zenoh-rust.readthedocs.io/en/latest/?badge=latest)
 [![Discussion](https://img.shields.io/badge/discussion-on%20github-blue)](https://github.com/eclipse-zenoh/roadmap/discussions)
 [![Discord](https://img.shields.io/badge/chat-on%20discord-blue)](https://discord.gg/2GJ958VuHs)
 [![License](https://img.shields.io/badge/License-EPL%202.0-blue)](https://choosealicense.com/licenses/epl-2.0/)
 [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
 .
 # Eclipse Zenoh
 .
 The Eclipse Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 .
 Zenoh (pronounce _/zeno/_) unifies data in motion, data at rest and
 computations. It carefully blends traditional pub/sub with geo-distributed
 storages, queries and computations, while retaining a level of time and space
 efficiency that is well beyond any of the mainstream stacks.
 .
 Check the website [zenoh.io](http://zenoh.io) and the
 [roadmap](https://github.com/eclipse-zenoh/roadmap) for more detailed
 information.
 .
 -------------------------------
 .
 ## Getting Started
 .
 Zenoh is extremely easy to learn, the best place to master the fundamentals is
 our [getting started guide](https://zenoh.io/docs/getting-started/first-app/).
 .
 -------------------------------
 .
 ## How to install it
 .
 To install the latest release of the Zenoh router (`zenohd`) and its default
 plugins (REST API plugin and Storages Manager plugin) you can do as follows:
 .
 ### Manual installation (all platforms)
 .
 All release packages can be downloaded from
 [https://download.eclipse.org/zenoh/zenoh/latest/](https://download.eclipse.org/zenoh/zenoh/latest/).
 .
 Each subdirectory has the name of the Rust target. See the platforms each
 target corresponds to on
 [https://doc.rust-lang.org/stable/rustc/platform-support.html](https://doc.rust-lang.org/stable/rustc/platform-support.html).
 .
 Choose your platform and download the `.zip` file.
 Unzip it where you want, and run the extracted `zenohd` binary.
 .
 ### Linux Debian
 .
 Add Eclipse Zenoh private repository to the sources list, and install the
 `zenoh` package:
 .
 ```bash
 echo "deb [trusted=yes] https://download.eclipse.org/zenoh/debian-repo/ /" |
 sudo tee -a /etc/apt/sources.list.d/zenoh.list > /dev/null
 sudo apt update
 sudo apt install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 ### MacOS
 .
 Tap our brew package repository and install the `zenoh` formula:
 .
 ```bash
 brew tap eclipse-zenoh/homebrew-zenoh
 brew install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 -------------------------------
 .
 ## Rust API
 .
 * [Docs.rs for Zenoh](https://docs.rs/zenoh/latest/zenoh/)
 .
 -------------------------------
 .
 ## How to build it
 .
 > [!WARNING]
 > Zenoh and its ecosystem are under active development. When you build from
 git, make sure you also build from git any other Zenoh repository you plan to
 use (e.g. binding, plugin, backend, etc.). It may happen that some changes in
 git are not compatible with the most recent packaged Zenoh release (e.g. deb,
 docker, pip). We put particular effort in maintaining compatibility between the
 various git repositories in the Zenoh project.
 .
 Install [Cargo and
 Rust](https://doc.rust-lang.org/cargo/getting-started/installation.html). Zenoh
 can be successfully compiled with Rust stable (>= 1.75.0), so no special
 configuration is required from your side. If you already have the Rust
 toolchain installed, make sure it is up-to-date with:
 .
 ```bash
 rustup update
 ```
 .
 To build Zenoh, just type the following command after having followed the
 previous instructions:
 .
 ```bash
 cargo build --release --all-targets
 ```
 .
 Zenoh's router is built as `target/release/zenohd`. All the examples are built
 into the `target/release/examples` directory. They can all work in
 peer-to-peer, or interconnected via the zenoh router.
 .
 -------------------------------
 .
 ## Quick tests of your build
 .
 ### Peer-to-peer tests
 .
 * **pub/sub**
   * run: `./target/release/examples/z_sub`
   * in another shell run: `./target/release/examples/z_put`
   * the subscriber should receive the publication.
 .
 * **get/queryable**
   * run: `./target/release/examples/z_queryable`
   * in another shell run: `./target/release/examples/z_get`
   * the queryable should display the log in its listener, and the get should
 receive the queryable result.
 .
 ### Routed tests
 .
 > [!NOTE]
 > **Windows users**: to properly execute the commands below in PowerShell you
 need to escape `"` characters as `\"`.
 .
 * **put/store/get**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell run: `./target/release/examples/z_put`
   * then run `./target/release/examples/z_get`
   * the get should receive the stored publication.
 .
 * **REST API using `curl` tool**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, do a publication via the REST API:
     `curl -X PUT -d '"Hello World!"' http://localhost:8000/demo/example/test`
   * get it back via the REST API:
     `curl http://localhost:8000/demo/example/test`
 .
 * **router admin space via the REST API**
   * run the Zenoh router with permission to perform config changes via the
 admin space, and with a memory storage:
     `./target/release/zenohd --adminspace-permissions=rw
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, get info of the zenoh router via the zenoh admin space:
     `curl http://localhost:8000/@/local/router`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/local/router/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
   * add another memory storage on `/demo/mystore/**`:
     `curl -X PUT -H 'content-type:application/json' -d
 '{"key_expr":"demo/mystore/**","volume":"memory"}'
 http://localhost:8000/@/local/router/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
 .
 ### Configuration options
 .
 A Zenoh configuration file can be provided via CLI to all Zenoh examples and
 the Zenoh router.
 .
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file and
 the available options.
 .
 See other examples of Zenoh usage in [examples/](examples)
 .
 > [!NOTE]
 > **Zenoh Runtime Configuration**: Starting from version 0.11.0-rc, Zenoh
 allows for configuring the number of worker threads and other advanced options
 of the runtime. For guidance on utilizing it, please refer to the
 [doc](https://docs.rs/zenoh-runtime/latest/zenoh_runtime/enum.ZRuntime.html).
 .
 -------------------------------
 .
 ## Zenoh router command line arguments
 .
 `zenohd` accepts the following arguments:
 .
 * `--adminspace-permissions <[r|w|rw|none]>`: Configure the read and/or write
 permissions on the admin space. Default is read only.
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file. All
 properties of this configuration are optional, so you may not need such a large
 configuration for your use-case.
 * `--cfg <KEY>:<VALUE>`: allows you to change specific parts of the
 configuration right after it has been constructed. VALUE must be a valid JSON5
 value, and key must be a path through the configuration file, where each
 element is separated by a `/`. When inserting in parts of the config that are
 arrays, you may use indexes, or may use `+` to indicate that you want to append
 your value to the array. `--cfg` passed values will always override any
 previously existing value for their key in the configuration.
 * `-l, --listen <ENDPOINT>...`: An endpoint on which this router will listen
 for incoming sessions.
   Repeat this option to open several listeners. By default, `tcp/[::]:7447` is
 used. The following endpoints are currently supported:
   * TCP: `tcp/<host_name_or_IPv4_or_IPv6>:<port>`
   * UDP: `udp/<host_name_or_IPv4_or_IPv6>:<port>`
   * [TCP+TLS](https://zenoh.io/docs/manual/tls/): `tls/<host_name>:<port>`
   * [QUIC](https://zenoh.io/docs/manual/quic/): `quic/<host_name>:<port>`
 * `-e, --connect <ENDPOINT>...`: An endpoint this router will try to connect
 to. Repeat this option to connect to several peers or routers.
 * `--no-multicast-scouting`: By default zenohd replies to multicast scouting
 messages for being discovered by peers and clients.
   This option disables this feature.
 * `-i, --id <hex_string>`: The identifier (as an hexadecimal string - e.g.:
 A0B23...) that zenohd must use.
    **WARNING**: this identifier must be unique in the system! If not set, a
 random unsigned 128bit integer will be used.
 * `--no-timestamp`: By default zenohd adds a HLC-generated Timestamp to each
 routed Data if there isn't already one.
   This option disables this feature.
 * `-P, --plugin [<PLUGIN_NAME> | <PLUGIN_NAME>:<LIBRARY_PATH>]...`: A
 [plugin](https://zenoh.io/docs/manual/plugins/) that must be loaded. Accepted
 values:
   * a plugin name; zenohd will search for a library named
 `libzenoh_plugin_<name>.so` on Unix, `libzenoh_plugin_<PLUGIN_NAME>.dylib` on
 MacOS or `zenoh_plugin_<PLUGIN_NAME>.dll` on Windows.
   * `"<PLUGIN_NAME>:<LIBRARY_PATH>"`; the plugin will be loaded from library
 file at `<LIBRARY_PATH>`.
 .
   Repeat this option to load several plugins.
 * `--plugin-search-dir <DIRECTORY>...`: A directory where to search for
 [plugins](https://zenoh.io/docs/manual/plugins/) libraries to load.
   Repeat this option to specify several search directories'. By default, the
 plugins libraries will be searched in:
   `'/usr/local/lib:/usr/lib:~/.zenoh/lib:.'`
 * `--rest-http-port <rest-http-port>`: Configures the [REST
 plugin](https://zenoh.io/docs/manual/plugin-http/)'s HTTP port. Accepted
 values:
   * a port number
   * a string with format `<local_ip>:<port_number>` (to bind the HTTP server to
 a specific interface)
   * `"None"` to deactivate the REST plugin
 .
   If not specified, the REST plugin will be active on any interface (`[::]`)
 and port `8000`.
 .
 -------------------------------
 .
 ## Plugins
 .
 > [!WARNING]
 > As Rust doesn't have a stable ABI, the plugins should be
 built with the exact same Rust version than `zenohd`, and using for `zenoh`
 dependency the same version (or commit number) than 'zenohd'.
 Otherwise, incompatibilities in memory mapping of shared types between `zenohd`
 and the library can lead to a `"SIGSEV"` crash.
 .
 By default the Zenoh router is delivered or built with 2 plugins. These may be
 configured through a configuration file, or through individual changes to the
 configuration via the `--cfg` CLI option or via zenoh puts on individual parts
 of the configuration.
 .
 > [!WARNING]
 > Since `v0.6`, `zenohd` no longer loads every available plugin at startup.
 Instead, only configured plugins are loaded (after processing `--cfg` and
 `--plugin` options). Once `zenohd` is running, plugins can be hot-loaded and,
 if they support it, reconfigured at runtime by editing their configuration
 through the adminspace.
 .
 Note that the REST plugin is added to the configuration by the default value of
 the `--rest-http-port` CLI argument.
 .
 **[REST plugin](https://zenoh.io/docs/manual/plugin-http/)** (exposing a REST
 API):
 This plugin converts GET and PUT REST requests into Zenoh gets and puts
 respectively.
 .
 **[Storages plugin](https://zenoh.io/docs/manual/plugin-storage-manager/)**
 (managing [backends and
 storages](https://zenoh.io/docs/manual/plugin-storage-manager/#backends-and-volumes))
 This plugin allows you to easily define storages. These will store key-value
 pairs they subscribed to, and send the most recent ones when queried. Check out
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) for info on how to configure them.
 .
 -------------------------------
 .
 ## Troubleshooting
 .
 In case of troubles, please first check on [this
 page](https://zenoh.io/docs/getting-started/troubleshooting/) if the trouble
 and cause are already known.
 Otherwise, you can ask a question on the [zenoh Discord
 server](https://discord.gg/vSDSpqnbkm), or [create an
 issue](https://github.com/eclipse-zenoh/zenoh/issues).
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenohd
Version: 1.0.0~alpha.5-1
Architecture: armhf
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 17660
Filename: 1.0.0-alpha.5/zenohd_1.0.0~alpha.5-1_armhf.deb
Size: 4432912
MD5sum: b5b8b5694ba2f87eab981d853c56108d
SHA1: 1e7e3f03897b24e7a4a47cf614fae4b4f0dc98ea
SHA256: 844d4f952b01fa1df2682c9a22c5c53d19393ef509e7aa167cbad11e4ecfb997
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 <img
 src="https://raw.githubusercontent.com/eclipse-zenoh/zenoh/master/zenoh-dragon.png"
 height="150">
 .
 [![CI](https://github.com/eclipse-zenoh/zenoh/workflows/CI/badge.svg)](https://github.com/eclipse-zenoh/zenoh/actions?query=workflow%3A%22CI%22)
 [![Documentation
 Status](https://readthedocs.org/projects/zenoh-rust/badge/?version=latest)](https://zenoh-rust.readthedocs.io/en/latest/?badge=latest)
 [![Discussion](https://img.shields.io/badge/discussion-on%20github-blue)](https://github.com/eclipse-zenoh/roadmap/discussions)
 [![Discord](https://img.shields.io/badge/chat-on%20discord-blue)](https://discord.gg/2GJ958VuHs)
 [![License](https://img.shields.io/badge/License-EPL%202.0-blue)](https://choosealicense.com/licenses/epl-2.0/)
 [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
 .
 # Eclipse Zenoh
 .
 The Eclipse Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 .
 Zenoh (pronounce _/zeno/_) unifies data in motion, data at rest and
 computations. It carefully blends traditional pub/sub with geo-distributed
 storages, queries and computations, while retaining a level of time and space
 efficiency that is well beyond any of the mainstream stacks.
 .
 Check the website [zenoh.io](http://zenoh.io) and the
 [roadmap](https://github.com/eclipse-zenoh/roadmap) for more detailed
 information.
 .
 -------------------------------
 .
 ## Getting Started
 .
 Zenoh is extremely easy to learn, the best place to master the fundamentals is
 our [getting started guide](https://zenoh.io/docs/getting-started/first-app/).
 .
 -------------------------------
 .
 ## How to install it
 .
 To install the latest release of the Zenoh router (`zenohd`) and its default
 plugins (REST API plugin and Storages Manager plugin) you can do as follows:
 .
 ### Manual installation (all platforms)
 .
 All release packages can be downloaded from
 [https://download.eclipse.org/zenoh/zenoh/latest/](https://download.eclipse.org/zenoh/zenoh/latest/).
 .
 Each subdirectory has the name of the Rust target. See the platforms each
 target corresponds to on
 [https://doc.rust-lang.org/stable/rustc/platform-support.html](https://doc.rust-lang.org/stable/rustc/platform-support.html).
 .
 Choose your platform and download the `.zip` file.
 Unzip it where you want, and run the extracted `zenohd` binary.
 .
 ### Linux Debian
 .
 Add Eclipse Zenoh private repository to the sources list, and install the
 `zenoh` package:
 .
 ```bash
 echo "deb [trusted=yes] https://download.eclipse.org/zenoh/debian-repo/ /" |
 sudo tee -a /etc/apt/sources.list.d/zenoh.list > /dev/null
 sudo apt update
 sudo apt install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 ### MacOS
 .
 Tap our brew package repository and install the `zenoh` formula:
 .
 ```bash
 brew tap eclipse-zenoh/homebrew-zenoh
 brew install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 -------------------------------
 .
 ## Rust API
 .
 * [Docs.rs for Zenoh](https://docs.rs/zenoh/latest/zenoh/)
 .
 -------------------------------
 .
 ## How to build it
 .
 > [!WARNING]
 > Zenoh and its ecosystem are under active development. When you build from
 git, make sure you also build from git any other Zenoh repository you plan to
 use (e.g. binding, plugin, backend, etc.). It may happen that some changes in
 git are not compatible with the most recent packaged Zenoh release (e.g. deb,
 docker, pip). We put particular effort in maintaining compatibility between the
 various git repositories in the Zenoh project.
 .
 Install [Cargo and
 Rust](https://doc.rust-lang.org/cargo/getting-started/installation.html). Zenoh
 can be successfully compiled with Rust stable (>= 1.75.0), so no special
 configuration is required from your side. If you already have the Rust
 toolchain installed, make sure it is up-to-date with:
 .
 ```bash
 rustup update
 ```
 .
 To build Zenoh, just type the following command after having followed the
 previous instructions:
 .
 ```bash
 cargo build --release --all-targets
 ```
 .
 Zenoh's router is built as `target/release/zenohd`. All the examples are built
 into the `target/release/examples` directory. They can all work in
 peer-to-peer, or interconnected via the zenoh router.
 .
 -------------------------------
 .
 ## Quick tests of your build
 .
 ### Peer-to-peer tests
 .
 * **pub/sub**
   * run: `./target/release/examples/z_sub`
   * in another shell run: `./target/release/examples/z_put`
   * the subscriber should receive the publication.
 .
 * **get/queryable**
   * run: `./target/release/examples/z_queryable`
   * in another shell run: `./target/release/examples/z_get`
   * the queryable should display the log in its listener, and the get should
 receive the queryable result.
 .
 ### Routed tests
 .
 > [!NOTE]
 > **Windows users**: to properly execute the commands below in PowerShell you
 need to escape `"` characters as `\"`.
 .
 * **put/store/get**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell run: `./target/release/examples/z_put`
   * then run `./target/release/examples/z_get`
   * the get should receive the stored publication.
 .
 * **REST API using `curl` tool**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, do a publication via the REST API:
     `curl -X PUT -d '"Hello World!"' http://localhost:8000/demo/example/test`
   * get it back via the REST API:
     `curl http://localhost:8000/demo/example/test`
 .
 * **router admin space via the REST API**
   * run the Zenoh router with permission to perform config changes via the
 admin space, and with a memory storage:
     `./target/release/zenohd --adminspace-permissions=rw
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, get info of the zenoh router via the zenoh admin space:
     `curl http://localhost:8000/@/local/router`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/local/router/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
   * add another memory storage on `/demo/mystore/**`:
     `curl -X PUT -H 'content-type:application/json' -d
 '{"key_expr":"demo/mystore/**","volume":"memory"}'
 http://localhost:8000/@/local/router/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
 .
 ### Configuration options
 .
 A Zenoh configuration file can be provided via CLI to all Zenoh examples and
 the Zenoh router.
 .
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file and
 the available options.
 .
 See other examples of Zenoh usage in [examples/](examples)
 .
 > [!NOTE]
 > **Zenoh Runtime Configuration**: Starting from version 0.11.0-rc, Zenoh
 allows for configuring the number of worker threads and other advanced options
 of the runtime. For guidance on utilizing it, please refer to the
 [doc](https://docs.rs/zenoh-runtime/latest/zenoh_runtime/enum.ZRuntime.html).
 .
 -------------------------------
 .
 ## Zenoh router command line arguments
 .
 `zenohd` accepts the following arguments:
 .
 * `--adminspace-permissions <[r|w|rw|none]>`: Configure the read and/or write
 permissions on the admin space. Default is read only.
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file. All
 properties of this configuration are optional, so you may not need such a large
 configuration for your use-case.
 * `--cfg <KEY>:<VALUE>`: allows you to change specific parts of the
 configuration right after it has been constructed. VALUE must be a valid JSON5
 value, and key must be a path through the configuration file, where each
 element is separated by a `/`. When inserting in parts of the config that are
 arrays, you may use indexes, or may use `+` to indicate that you want to append
 your value to the array. `--cfg` passed values will always override any
 previously existing value for their key in the configuration.
 * `-l, --listen <ENDPOINT>...`: An endpoint on which this router will listen
 for incoming sessions.
   Repeat this option to open several listeners. By default, `tcp/[::]:7447` is
 used. The following endpoints are currently supported:
   * TCP: `tcp/<host_name_or_IPv4_or_IPv6>:<port>`
   * UDP: `udp/<host_name_or_IPv4_or_IPv6>:<port>`
   * [TCP+TLS](https://zenoh.io/docs/manual/tls/): `tls/<host_name>:<port>`
   * [QUIC](https://zenoh.io/docs/manual/quic/): `quic/<host_name>:<port>`
 * `-e, --connect <ENDPOINT>...`: An endpoint this router will try to connect
 to. Repeat this option to connect to several peers or routers.
 * `--no-multicast-scouting`: By default zenohd replies to multicast scouting
 messages for being discovered by peers and clients.
   This option disables this feature.
 * `-i, --id <hex_string>`: The identifier (as an hexadecimal string - e.g.:
 A0B23...) that zenohd must use.
    **WARNING**: this identifier must be unique in the system! If not set, a
 random unsigned 128bit integer will be used.
 * `--no-timestamp`: By default zenohd adds a HLC-generated Timestamp to each
 routed Data if there isn't already one.
   This option disables this feature.
 * `-P, --plugin [<PLUGIN_NAME> | <PLUGIN_NAME>:<LIBRARY_PATH>]...`: A
 [plugin](https://zenoh.io/docs/manual/plugins/) that must be loaded. Accepted
 values:
   * a plugin name; zenohd will search for a library named
 `libzenoh_plugin_<name>.so` on Unix, `libzenoh_plugin_<PLUGIN_NAME>.dylib` on
 MacOS or `zenoh_plugin_<PLUGIN_NAME>.dll` on Windows.
   * `"<PLUGIN_NAME>:<LIBRARY_PATH>"`; the plugin will be loaded from library
 file at `<LIBRARY_PATH>`.
 .
   Repeat this option to load several plugins.
 * `--plugin-search-dir <DIRECTORY>...`: A directory where to search for
 [plugins](https://zenoh.io/docs/manual/plugins/) libraries to load.
   Repeat this option to specify several search directories'. By default, the
 plugins libraries will be searched in:
   `'/usr/local/lib:/usr/lib:~/.zenoh/lib:.'`
 * `--rest-http-port <rest-http-port>`: Configures the [REST
 plugin](https://zenoh.io/docs/manual/plugin-http/)'s HTTP port. Accepted
 values:
   * a port number
   * a string with format `<local_ip>:<port_number>` (to bind the HTTP server to
 a specific interface)
   * `"None"` to deactivate the REST plugin
 .
   If not specified, the REST plugin will be active on any interface (`[::]`)
 and port `8000`.
 .
 -------------------------------
 .
 ## Plugins
 .
 > [!WARNING]
 > As Rust doesn't have a stable ABI, the plugins should be
 built with the exact same Rust version than `zenohd`, and using for `zenoh`
 dependency the same version (or commit number) than 'zenohd'.
 Otherwise, incompatibilities in memory mapping of shared types between `zenohd`
 and the library can lead to a `"SIGSEV"` crash.
 .
 By default the Zenoh router is delivered or built with 2 plugins. These may be
 configured through a configuration file, or through individual changes to the
 configuration via the `--cfg` CLI option or via zenoh puts on individual parts
 of the configuration.
 .
 > [!WARNING]
 > Since `v0.6`, `zenohd` no longer loads every available plugin at startup.
 Instead, only configured plugins are loaded (after processing `--cfg` and
 `--plugin` options). Once `zenohd` is running, plugins can be hot-loaded and,
 if they support it, reconfigured at runtime by editing their configuration
 through the adminspace.
 .
 Note that the REST plugin is added to the configuration by the default value of
 the `--rest-http-port` CLI argument.
 .
 **[REST plugin](https://zenoh.io/docs/manual/plugin-http/)** (exposing a REST
 API):
 This plugin converts GET and PUT REST requests into Zenoh gets and puts
 respectively.
 .
 **[Storages plugin](https://zenoh.io/docs/manual/plugin-storage-manager/)**
 (managing [backends and
 storages](https://zenoh.io/docs/manual/plugin-storage-manager/#backends-and-volumes))
 This plugin allows you to easily define storages. These will store key-value
 pairs they subscribed to, and send the most recent ones when queried. Check out
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) for info on how to configure them.
 .
 -------------------------------
 .
 ## Troubleshooting
 .
 In case of troubles, please first check on [this
 page](https://zenoh.io/docs/getting-started/troubleshooting/) if the trouble
 and cause are already known.
 Otherwise, you can ask a question on the [zenoh Discord
 server](https://discord.gg/vSDSpqnbkm), or [create an
 issue](https://github.com/eclipse-zenoh/zenoh/issues).
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenohd
Version: 1.0.0~alpha.5-1
Architecture: armel
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 17896
Filename: 1.0.0-alpha.5/zenohd_1.0.0~alpha.5-1_armel.deb
Size: 4379940
MD5sum: c0186ea2e6dfa452c0d4b45dc1d8af02
SHA1: db9ae0e63fe01c3255b354d40a34294a21ad37dd
SHA256: 1b2bb3f451403c7e59fdd4b6125d28b65019af37964f5411cf7eec7f3cd85edf
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 <img
 src="https://raw.githubusercontent.com/eclipse-zenoh/zenoh/master/zenoh-dragon.png"
 height="150">
 .
 [![CI](https://github.com/eclipse-zenoh/zenoh/workflows/CI/badge.svg)](https://github.com/eclipse-zenoh/zenoh/actions?query=workflow%3A%22CI%22)
 [![Documentation
 Status](https://readthedocs.org/projects/zenoh-rust/badge/?version=latest)](https://zenoh-rust.readthedocs.io/en/latest/?badge=latest)
 [![Discussion](https://img.shields.io/badge/discussion-on%20github-blue)](https://github.com/eclipse-zenoh/roadmap/discussions)
 [![Discord](https://img.shields.io/badge/chat-on%20discord-blue)](https://discord.gg/2GJ958VuHs)
 [![License](https://img.shields.io/badge/License-EPL%202.0-blue)](https://choosealicense.com/licenses/epl-2.0/)
 [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
 .
 # Eclipse Zenoh
 .
 The Eclipse Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 .
 Zenoh (pronounce _/zeno/_) unifies data in motion, data at rest and
 computations. It carefully blends traditional pub/sub with geo-distributed
 storages, queries and computations, while retaining a level of time and space
 efficiency that is well beyond any of the mainstream stacks.
 .
 Check the website [zenoh.io](http://zenoh.io) and the
 [roadmap](https://github.com/eclipse-zenoh/roadmap) for more detailed
 information.
 .
 -------------------------------
 .
 ## Getting Started
 .
 Zenoh is extremely easy to learn, the best place to master the fundamentals is
 our [getting started guide](https://zenoh.io/docs/getting-started/first-app/).
 .
 -------------------------------
 .
 ## How to install it
 .
 To install the latest release of the Zenoh router (`zenohd`) and its default
 plugins (REST API plugin and Storages Manager plugin) you can do as follows:
 .
 ### Manual installation (all platforms)
 .
 All release packages can be downloaded from
 [https://download.eclipse.org/zenoh/zenoh/latest/](https://download.eclipse.org/zenoh/zenoh/latest/).
 .
 Each subdirectory has the name of the Rust target. See the platforms each
 target corresponds to on
 [https://doc.rust-lang.org/stable/rustc/platform-support.html](https://doc.rust-lang.org/stable/rustc/platform-support.html).
 .
 Choose your platform and download the `.zip` file.
 Unzip it where you want, and run the extracted `zenohd` binary.
 .
 ### Linux Debian
 .
 Add Eclipse Zenoh private repository to the sources list, and install the
 `zenoh` package:
 .
 ```bash
 echo "deb [trusted=yes] https://download.eclipse.org/zenoh/debian-repo/ /" |
 sudo tee -a /etc/apt/sources.list.d/zenoh.list > /dev/null
 sudo apt update
 sudo apt install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 ### MacOS
 .
 Tap our brew package repository and install the `zenoh` formula:
 .
 ```bash
 brew tap eclipse-zenoh/homebrew-zenoh
 brew install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 -------------------------------
 .
 ## Rust API
 .
 * [Docs.rs for Zenoh](https://docs.rs/zenoh/latest/zenoh/)
 .
 -------------------------------
 .
 ## How to build it
 .
 > [!WARNING]
 > Zenoh and its ecosystem are under active development. When you build from
 git, make sure you also build from git any other Zenoh repository you plan to
 use (e.g. binding, plugin, backend, etc.). It may happen that some changes in
 git are not compatible with the most recent packaged Zenoh release (e.g. deb,
 docker, pip). We put particular effort in maintaining compatibility between the
 various git repositories in the Zenoh project.
 .
 Install [Cargo and
 Rust](https://doc.rust-lang.org/cargo/getting-started/installation.html). Zenoh
 can be successfully compiled with Rust stable (>= 1.75.0), so no special
 configuration is required from your side. If you already have the Rust
 toolchain installed, make sure it is up-to-date with:
 .
 ```bash
 rustup update
 ```
 .
 To build Zenoh, just type the following command after having followed the
 previous instructions:
 .
 ```bash
 cargo build --release --all-targets
 ```
 .
 Zenoh's router is built as `target/release/zenohd`. All the examples are built
 into the `target/release/examples` directory. They can all work in
 peer-to-peer, or interconnected via the zenoh router.
 .
 -------------------------------
 .
 ## Quick tests of your build
 .
 ### Peer-to-peer tests
 .
 * **pub/sub**
   * run: `./target/release/examples/z_sub`
   * in another shell run: `./target/release/examples/z_put`
   * the subscriber should receive the publication.
 .
 * **get/queryable**
   * run: `./target/release/examples/z_queryable`
   * in another shell run: `./target/release/examples/z_get`
   * the queryable should display the log in its listener, and the get should
 receive the queryable result.
 .
 ### Routed tests
 .
 > [!NOTE]
 > **Windows users**: to properly execute the commands below in PowerShell you
 need to escape `"` characters as `\"`.
 .
 * **put/store/get**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell run: `./target/release/examples/z_put`
   * then run `./target/release/examples/z_get`
   * the get should receive the stored publication.
 .
 * **REST API using `curl` tool**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, do a publication via the REST API:
     `curl -X PUT -d '"Hello World!"' http://localhost:8000/demo/example/test`
   * get it back via the REST API:
     `curl http://localhost:8000/demo/example/test`
 .
 * **router admin space via the REST API**
   * run the Zenoh router with permission to perform config changes via the
 admin space, and with a memory storage:
     `./target/release/zenohd --adminspace-permissions=rw
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, get info of the zenoh router via the zenoh admin space:
     `curl http://localhost:8000/@/local/router`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/local/router/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
   * add another memory storage on `/demo/mystore/**`:
     `curl -X PUT -H 'content-type:application/json' -d
 '{"key_expr":"demo/mystore/**","volume":"memory"}'
 http://localhost:8000/@/local/router/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
 .
 ### Configuration options
 .
 A Zenoh configuration file can be provided via CLI to all Zenoh examples and
 the Zenoh router.
 .
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file and
 the available options.
 .
 See other examples of Zenoh usage in [examples/](examples)
 .
 > [!NOTE]
 > **Zenoh Runtime Configuration**: Starting from version 0.11.0-rc, Zenoh
 allows for configuring the number of worker threads and other advanced options
 of the runtime. For guidance on utilizing it, please refer to the
 [doc](https://docs.rs/zenoh-runtime/latest/zenoh_runtime/enum.ZRuntime.html).
 .
 -------------------------------
 .
 ## Zenoh router command line arguments
 .
 `zenohd` accepts the following arguments:
 .
 * `--adminspace-permissions <[r|w|rw|none]>`: Configure the read and/or write
 permissions on the admin space. Default is read only.
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file. All
 properties of this configuration are optional, so you may not need such a large
 configuration for your use-case.
 * `--cfg <KEY>:<VALUE>`: allows you to change specific parts of the
 configuration right after it has been constructed. VALUE must be a valid JSON5
 value, and key must be a path through the configuration file, where each
 element is separated by a `/`. When inserting in parts of the config that are
 arrays, you may use indexes, or may use `+` to indicate that you want to append
 your value to the array. `--cfg` passed values will always override any
 previously existing value for their key in the configuration.
 * `-l, --listen <ENDPOINT>...`: An endpoint on which this router will listen
 for incoming sessions.
   Repeat this option to open several listeners. By default, `tcp/[::]:7447` is
 used. The following endpoints are currently supported:
   * TCP: `tcp/<host_name_or_IPv4_or_IPv6>:<port>`
   * UDP: `udp/<host_name_or_IPv4_or_IPv6>:<port>`
   * [TCP+TLS](https://zenoh.io/docs/manual/tls/): `tls/<host_name>:<port>`
   * [QUIC](https://zenoh.io/docs/manual/quic/): `quic/<host_name>:<port>`
 * `-e, --connect <ENDPOINT>...`: An endpoint this router will try to connect
 to. Repeat this option to connect to several peers or routers.
 * `--no-multicast-scouting`: By default zenohd replies to multicast scouting
 messages for being discovered by peers and clients.
   This option disables this feature.
 * `-i, --id <hex_string>`: The identifier (as an hexadecimal string - e.g.:
 A0B23...) that zenohd must use.
    **WARNING**: this identifier must be unique in the system! If not set, a
 random unsigned 128bit integer will be used.
 * `--no-timestamp`: By default zenohd adds a HLC-generated Timestamp to each
 routed Data if there isn't already one.
   This option disables this feature.
 * `-P, --plugin [<PLUGIN_NAME> | <PLUGIN_NAME>:<LIBRARY_PATH>]...`: A
 [plugin](https://zenoh.io/docs/manual/plugins/) that must be loaded. Accepted
 values:
   * a plugin name; zenohd will search for a library named
 `libzenoh_plugin_<name>.so` on Unix, `libzenoh_plugin_<PLUGIN_NAME>.dylib` on
 MacOS or `zenoh_plugin_<PLUGIN_NAME>.dll` on Windows.
   * `"<PLUGIN_NAME>:<LIBRARY_PATH>"`; the plugin will be loaded from library
 file at `<LIBRARY_PATH>`.
 .
   Repeat this option to load several plugins.
 * `--plugin-search-dir <DIRECTORY>...`: A directory where to search for
 [plugins](https://zenoh.io/docs/manual/plugins/) libraries to load.
   Repeat this option to specify several search directories'. By default, the
 plugins libraries will be searched in:
   `'/usr/local/lib:/usr/lib:~/.zenoh/lib:.'`
 * `--rest-http-port <rest-http-port>`: Configures the [REST
 plugin](https://zenoh.io/docs/manual/plugin-http/)'s HTTP port. Accepted
 values:
   * a port number
   * a string with format `<local_ip>:<port_number>` (to bind the HTTP server to
 a specific interface)
   * `"None"` to deactivate the REST plugin
 .
   If not specified, the REST plugin will be active on any interface (`[::]`)
 and port `8000`.
 .
 -------------------------------
 .
 ## Plugins
 .
 > [!WARNING]
 > As Rust doesn't have a stable ABI, the plugins should be
 built with the exact same Rust version than `zenohd`, and using for `zenoh`
 dependency the same version (or commit number) than 'zenohd'.
 Otherwise, incompatibilities in memory mapping of shared types between `zenohd`
 and the library can lead to a `"SIGSEV"` crash.
 .
 By default the Zenoh router is delivered or built with 2 plugins. These may be
 configured through a configuration file, or through individual changes to the
 configuration via the `--cfg` CLI option or via zenoh puts on individual parts
 of the configuration.
 .
 > [!WARNING]
 > Since `v0.6`, `zenohd` no longer loads every available plugin at startup.
 Instead, only configured plugins are loaded (after processing `--cfg` and
 `--plugin` options). Once `zenohd` is running, plugins can be hot-loaded and,
 if they support it, reconfigured at runtime by editing their configuration
 through the adminspace.
 .
 Note that the REST plugin is added to the configuration by the default value of
 the `--rest-http-port` CLI argument.
 .
 **[REST plugin](https://zenoh.io/docs/manual/plugin-http/)** (exposing a REST
 API):
 This plugin converts GET and PUT REST requests into Zenoh gets and puts
 respectively.
 .
 **[Storages plugin](https://zenoh.io/docs/manual/plugin-storage-manager/)**
 (managing [backends and
 storages](https://zenoh.io/docs/manual/plugin-storage-manager/#backends-and-volumes))
 This plugin allows you to easily define storages. These will store key-value
 pairs they subscribed to, and send the most recent ones when queried. Check out
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) for info on how to configure them.
 .
 -------------------------------
 .
 ## Troubleshooting
 .
 In case of troubles, please first check on [this
 page](https://zenoh.io/docs/getting-started/troubleshooting/) if the trouble
 and cause are already known.
 Otherwise, you can ask a question on the [zenoh Discord
 server](https://discord.gg/vSDSpqnbkm), or [create an
 issue](https://github.com/eclipse-zenoh/zenoh/issues).
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

Package: zenohd
Version: 1.0.0~alpha.5-1
Architecture: arm64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 16445
Filename: 1.0.0-alpha.5/zenohd_1.0.0~alpha.5-1_arm64.deb
Size: 4030416
MD5sum: 47490251d5d6a3b324f2596a0bedb1a4
SHA1: 5a0fc1f2851703c1d51084e8d6165572ed9098c3
SHA256: d3f07a33196082bdad89667acaee6169f0b9a1118ab52a3c5ce45dc893a4e314
Section: net
Priority: optional
Homepage: http://zenoh.io
Description: Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 <img
 src="https://raw.githubusercontent.com/eclipse-zenoh/zenoh/master/zenoh-dragon.png"
 height="150">
 .
 [![CI](https://github.com/eclipse-zenoh/zenoh/workflows/CI/badge.svg)](https://github.com/eclipse-zenoh/zenoh/actions?query=workflow%3A%22CI%22)
 [![Documentation
 Status](https://readthedocs.org/projects/zenoh-rust/badge/?version=latest)](https://zenoh-rust.readthedocs.io/en/latest/?badge=latest)
 [![Discussion](https://img.shields.io/badge/discussion-on%20github-blue)](https://github.com/eclipse-zenoh/roadmap/discussions)
 [![Discord](https://img.shields.io/badge/chat-on%20discord-blue)](https://discord.gg/2GJ958VuHs)
 [![License](https://img.shields.io/badge/License-EPL%202.0-blue)](https://choosealicense.com/licenses/epl-2.0/)
 [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
 .
 # Eclipse Zenoh
 .
 The Eclipse Zenoh: Zero Overhead Pub/sub, Store/Query and Compute.
 .
 Zenoh (pronounce _/zeno/_) unifies data in motion, data at rest and
 computations. It carefully blends traditional pub/sub with geo-distributed
 storages, queries and computations, while retaining a level of time and space
 efficiency that is well beyond any of the mainstream stacks.
 .
 Check the website [zenoh.io](http://zenoh.io) and the
 [roadmap](https://github.com/eclipse-zenoh/roadmap) for more detailed
 information.
 .
 -------------------------------
 .
 ## Getting Started
 .
 Zenoh is extremely easy to learn, the best place to master the fundamentals is
 our [getting started guide](https://zenoh.io/docs/getting-started/first-app/).
 .
 -------------------------------
 .
 ## How to install it
 .
 To install the latest release of the Zenoh router (`zenohd`) and its default
 plugins (REST API plugin and Storages Manager plugin) you can do as follows:
 .
 ### Manual installation (all platforms)
 .
 All release packages can be downloaded from
 [https://download.eclipse.org/zenoh/zenoh/latest/](https://download.eclipse.org/zenoh/zenoh/latest/).
 .
 Each subdirectory has the name of the Rust target. See the platforms each
 target corresponds to on
 [https://doc.rust-lang.org/stable/rustc/platform-support.html](https://doc.rust-lang.org/stable/rustc/platform-support.html).
 .
 Choose your platform and download the `.zip` file.
 Unzip it where you want, and run the extracted `zenohd` binary.
 .
 ### Linux Debian
 .
 Add Eclipse Zenoh private repository to the sources list, and install the
 `zenoh` package:
 .
 ```bash
 echo "deb [trusted=yes] https://download.eclipse.org/zenoh/debian-repo/ /" |
 sudo tee -a /etc/apt/sources.list.d/zenoh.list > /dev/null
 sudo apt update
 sudo apt install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 ### MacOS
 .
 Tap our brew package repository and install the `zenoh` formula:
 .
 ```bash
 brew tap eclipse-zenoh/homebrew-zenoh
 brew install zenoh
 ```
 .
 Then you can start run `zenohd`.
 .
 -------------------------------
 .
 ## Rust API
 .
 * [Docs.rs for Zenoh](https://docs.rs/zenoh/latest/zenoh/)
 .
 -------------------------------
 .
 ## How to build it
 .
 > [!WARNING]
 > Zenoh and its ecosystem are under active development. When you build from
 git, make sure you also build from git any other Zenoh repository you plan to
 use (e.g. binding, plugin, backend, etc.). It may happen that some changes in
 git are not compatible with the most recent packaged Zenoh release (e.g. deb,
 docker, pip). We put particular effort in maintaining compatibility between the
 various git repositories in the Zenoh project.
 .
 Install [Cargo and
 Rust](https://doc.rust-lang.org/cargo/getting-started/installation.html). Zenoh
 can be successfully compiled with Rust stable (>= 1.75.0), so no special
 configuration is required from your side. If you already have the Rust
 toolchain installed, make sure it is up-to-date with:
 .
 ```bash
 rustup update
 ```
 .
 To build Zenoh, just type the following command after having followed the
 previous instructions:
 .
 ```bash
 cargo build --release --all-targets
 ```
 .
 Zenoh's router is built as `target/release/zenohd`. All the examples are built
 into the `target/release/examples` directory. They can all work in
 peer-to-peer, or interconnected via the zenoh router.
 .
 -------------------------------
 .
 ## Quick tests of your build
 .
 ### Peer-to-peer tests
 .
 * **pub/sub**
   * run: `./target/release/examples/z_sub`
   * in another shell run: `./target/release/examples/z_put`
   * the subscriber should receive the publication.
 .
 * **get/queryable**
   * run: `./target/release/examples/z_queryable`
   * in another shell run: `./target/release/examples/z_get`
   * the queryable should display the log in its listener, and the get should
 receive the queryable result.
 .
 ### Routed tests
 .
 > [!NOTE]
 > **Windows users**: to properly execute the commands below in PowerShell you
 need to escape `"` characters as `\"`.
 .
 * **put/store/get**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell run: `./target/release/examples/z_put`
   * then run `./target/release/examples/z_get`
   * the get should receive the stored publication.
 .
 * **REST API using `curl` tool**
   * run the Zenoh router with a memory storage:
     `./target/release/zenohd
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, do a publication via the REST API:
     `curl -X PUT -d '"Hello World!"' http://localhost:8000/demo/example/test`
   * get it back via the REST API:
     `curl http://localhost:8000/demo/example/test`
 .
 * **router admin space via the REST API**
   * run the Zenoh router with permission to perform config changes via the
 admin space, and with a memory storage:
     `./target/release/zenohd --adminspace-permissions=rw
 --cfg='plugins/storage_manager/storages/demo:{key_expr:"demo/example/**",volume:"memory"}'`
   * in another shell, get info of the zenoh router via the zenoh admin space:
     `curl http://localhost:8000/@/local/router`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/local/router/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
   * add another memory storage on `/demo/mystore/**`:
     `curl -X PUT -H 'content-type:application/json' -d
 '{"key_expr":"demo/mystore/**","volume":"memory"}'
 http://localhost:8000/@/local/router/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/local/router/**/storages/*'`
 .
 ### Configuration options
 .
 A Zenoh configuration file can be provided via CLI to all Zenoh examples and
 the Zenoh router.
 .
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file and
 the available options.
 .
 See other examples of Zenoh usage in [examples/](examples)
 .
 > [!NOTE]
 > **Zenoh Runtime Configuration**: Starting from version 0.11.0-rc, Zenoh
 allows for configuring the number of worker threads and other advanced options
 of the runtime. For guidance on utilizing it, please refer to the
 [doc](https://docs.rs/zenoh-runtime/latest/zenoh_runtime/enum.ZRuntime.html).
 .
 -------------------------------
 .
 ## Zenoh router command line arguments
 .
 `zenohd` accepts the following arguments:
 .
 * `--adminspace-permissions <[r|w|rw|none]>`: Configure the read and/or write
 permissions on the admin space. Default is read only.
 * `-c, --config <FILE>`: a [JSON5](https://json5.org) configuration file.
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) shows the schema of this file. All
 properties of this configuration are optional, so you may not need such a large
 configuration for your use-case.
 * `--cfg <KEY>:<VALUE>`: allows you to change specific parts of the
 configuration right after it has been constructed. VALUE must be a valid JSON5
 value, and key must be a path through the configuration file, where each
 element is separated by a `/`. When inserting in parts of the config that are
 arrays, you may use indexes, or may use `+` to indicate that you want to append
 your value to the array. `--cfg` passed values will always override any
 previously existing value for their key in the configuration.
 * `-l, --listen <ENDPOINT>...`: An endpoint on which this router will listen
 for incoming sessions.
   Repeat this option to open several listeners. By default, `tcp/[::]:7447` is
 used. The following endpoints are currently supported:
   * TCP: `tcp/<host_name_or_IPv4_or_IPv6>:<port>`
   * UDP: `udp/<host_name_or_IPv4_or_IPv6>:<port>`
   * [TCP+TLS](https://zenoh.io/docs/manual/tls/): `tls/<host_name>:<port>`
   * [QUIC](https://zenoh.io/docs/manual/quic/): `quic/<host_name>:<port>`
 * `-e, --connect <ENDPOINT>...`: An endpoint this router will try to connect
 to. Repeat this option to connect to several peers or routers.
 * `--no-multicast-scouting`: By default zenohd replies to multicast scouting
 messages for being discovered by peers and clients.
   This option disables this feature.
 * `-i, --id <hex_string>`: The identifier (as an hexadecimal string - e.g.:
 A0B23...) that zenohd must use.
    **WARNING**: this identifier must be unique in the system! If not set, a
 random unsigned 128bit integer will be used.
 * `--no-timestamp`: By default zenohd adds a HLC-generated Timestamp to each
 routed Data if there isn't already one.
   This option disables this feature.
 * `-P, --plugin [<PLUGIN_NAME> | <PLUGIN_NAME>:<LIBRARY_PATH>]...`: A
 [plugin](https://zenoh.io/docs/manual/plugins/) that must be loaded. Accepted
 values:
   * a plugin name; zenohd will search for a library named
 `libzenoh_plugin_<name>.so` on Unix, `libzenoh_plugin_<PLUGIN_NAME>.dylib` on
 MacOS or `zenoh_plugin_<PLUGIN_NAME>.dll` on Windows.
   * `"<PLUGIN_NAME>:<LIBRARY_PATH>"`; the plugin will be loaded from library
 file at `<LIBRARY_PATH>`.
 .
   Repeat this option to load several plugins.
 * `--plugin-search-dir <DIRECTORY>...`: A directory where to search for
 [plugins](https://zenoh.io/docs/manual/plugins/) libraries to load.
   Repeat this option to specify several search directories'. By default, the
 plugins libraries will be searched in:
   `'/usr/local/lib:/usr/lib:~/.zenoh/lib:.'`
 * `--rest-http-port <rest-http-port>`: Configures the [REST
 plugin](https://zenoh.io/docs/manual/plugin-http/)'s HTTP port. Accepted
 values:
   * a port number
   * a string with format `<local_ip>:<port_number>` (to bind the HTTP server to
 a specific interface)
   * `"None"` to deactivate the REST plugin
 .
   If not specified, the REST plugin will be active on any interface (`[::]`)
 and port `8000`.
 .
 -------------------------------
 .
 ## Plugins
 .
 > [!WARNING]
 > As Rust doesn't have a stable ABI, the plugins should be
 built with the exact same Rust version than `zenohd`, and using for `zenoh`
 dependency the same version (or commit number) than 'zenohd'.
 Otherwise, incompatibilities in memory mapping of shared types between `zenohd`
 and the library can lead to a `"SIGSEV"` crash.
 .
 By default the Zenoh router is delivered or built with 2 plugins. These may be
 configured through a configuration file, or through individual changes to the
 configuration via the `--cfg` CLI option or via zenoh puts on individual parts
 of the configuration.
 .
 > [!WARNING]
 > Since `v0.6`, `zenohd` no longer loads every available plugin at startup.
 Instead, only configured plugins are loaded (after processing `--cfg` and
 `--plugin` options). Once `zenohd` is running, plugins can be hot-loaded and,
 if they support it, reconfigured at runtime by editing their configuration
 through the adminspace.
 .
 Note that the REST plugin is added to the configuration by the default value of
 the `--rest-http-port` CLI argument.
 .
 **[REST plugin](https://zenoh.io/docs/manual/plugin-http/)** (exposing a REST
 API):
 This plugin converts GET and PUT REST requests into Zenoh gets and puts
 respectively.
 .
 **[Storages plugin](https://zenoh.io/docs/manual/plugin-storage-manager/)**
 (managing [backends and
 storages](https://zenoh.io/docs/manual/plugin-storage-manager/#backends-and-volumes))
 This plugin allows you to easily define storages. These will store key-value
 pairs they subscribed to, and send the most recent ones when queried. Check out
 [DEFAULT_CONFIG.json5](DEFAULT_CONFIG.json5) for info on how to configure them.
 .
 -------------------------------
 .
 ## Troubleshooting
 .
 In case of troubles, please first check on [this
 page](https://zenoh.io/docs/getting-started/troubleshooting/) if the trouble
 and cause are already known.
 Otherwise, you can ask a question on the [zenoh Discord
 server](https://discord.gg/vSDSpqnbkm), or [create an
 issue](https://github.com/eclipse-zenoh/zenoh/issues).
Vcs-Browser: https://github.com/eclipse-zenoh/zenoh
Vcs-Git: https://github.com/eclipse-zenoh/zenoh

