Package: zenoh
Version: 1.0.0~alpha.4-1
Architecture: armel
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 40
Depends: zenohd (=1.0.0~alpha.4-1), zenoh-plugin-rest (=1.0.0~alpha.4-1), zenoh-plugin-storage-manager (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh_1.0.0~alpha.4-1_armel.deb
Size: 17296
MD5sum: 23cee751fd9584bf215dbb8f042f51cb
SHA1: 03d05ea9692b95ef4c48e51aa48799b82a995e0e
SHA256: 1ca48127d6f333a3b93ea8fe3ce9f48028a6d3614e716be11bfad261a0e188ce
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/@/router/local`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/router/local/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/router/local/**/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/@/router/local/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/router/local/**/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.4-1
Architecture: amd64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 40
Depends: zenohd (=1.0.0~alpha.4-1), zenoh-plugin-rest (=1.0.0~alpha.4-1), zenoh-plugin-storage-manager (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh_1.0.0~alpha.4-1_amd64.deb
Size: 17296
MD5sum: 6cb0dabf4429464a35ea51b8b4d9fa58
SHA1: 28e57a04a5c21a23d8d81164a5eece5aed8c41bd
SHA256: 2b8ba3c911701836ecfe03f17cfa75ddaac66cd4d4aaa65e7c2609aed19cd034
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/@/router/local`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/router/local/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/router/local/**/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/@/router/local/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/router/local/**/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.4-1
Architecture: armhf
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 40
Depends: zenohd (=1.0.0~alpha.4-1), zenoh-plugin-storage-manager (=1.0.0~alpha.4-1), zenoh-plugin-rest (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh_1.0.0~alpha.4-1_armhf.deb
Size: 17292
MD5sum: 57a22f31878dd7134c251975ac43fd1c
SHA1: a00968372c6a2aa7d88b3a71dd985af64f31dbd7
SHA256: 6e66ff9a46d9ef6c6d1e5575799e9d8e568d3ac8155ae7954a51f58b3c5ec4ae
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/@/router/local`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/router/local/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/router/local/**/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/@/router/local/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/router/local/**/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.4-1
Architecture: arm64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 40
Depends: zenoh-plugin-storage-manager (=1.0.0~alpha.4-1), zenohd (=1.0.0~alpha.4-1), zenoh-plugin-rest (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh_1.0.0~alpha.4-1_arm64.deb
Size: 17308
MD5sum: 9d1f4c764ad404ed7b30836ac7312160
SHA1: 9ce5910d0e14af9f8daaf84ec9ccc8834deebea6
SHA256: cec5e15cd91ac5112aa8917058e489f2f8cab8979a0296338c8973d799ae2d34
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/@/router/local`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/router/local/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/router/local/**/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/@/router/local/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/router/local/**/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.4-1
Architecture: amd64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 11601
Depends: zenohd (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh-plugin-rest_1.0.0~alpha.4-1_amd64.deb
Size: 2209176
MD5sum: dbc2037f9cac5257ec9bfac399f9738d
SHA1: 7bc6a19ae6d863a38ab7929226f057750a078354
SHA256: 119bd50e9b9cdda7a878f0f10e31352ff6f80dd792b0a48d4cb511170f0b7d8f
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.4-1
Architecture: armhf
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 8460
Depends: zenohd (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh-plugin-rest_1.0.0~alpha.4-1_armhf.deb
Size: 1864564
MD5sum: 347a845a54a5092f57a9b802770c09d2
SHA1: 3f4429137040896169fcd2f756a452d85d9ca458
SHA256: 5a2319be0f04ac2a24e8d34a2cce272a56d5eff6a57325a1d4cb64182f82ce66
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.4-1
Architecture: armel
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 8582
Depends: zenohd (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh-plugin-rest_1.0.0~alpha.4-1_armel.deb
Size: 1877008
MD5sum: 6864e372e98ae2e137ae0f5746fd0f3f
SHA1: 80ac08d047f7d0fa30b938fdd6e95631f05cb999
SHA256: 3997e2e24053a810113d86c0ac6afee4b0963846748c2024e4bbef1efb7357c2
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.4-1
Architecture: arm64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 10411
Depends: zenohd (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh-plugin-rest_1.0.0~alpha.4-1_arm64.deb
Size: 2002800
MD5sum: 66bb7641945b592456d1d8e297a3ffc8
SHA1: 90cfac270a19be83aaba41e4e541c64e2a3ffee3
SHA256: 0f14a554a9cbd856f21db20a9fea9c0eb7c5c22c69467cdba7ec3cd48af36ce3
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.4-1
Architecture: arm64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 10724
Depends: zenohd (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh-plugin-storage-manager_1.0.0~alpha.4-1_arm64.deb
Size: 2065344
MD5sum: c91f1880260eb5233d3879288de1a11b
SHA1: 6f9f37596b753e90b9476f63d538279282514b5b
SHA256: 5c6f16919f806a3bf92bbb2f2f104e8736f61d2e294a0b6a243d2a2a670e04e0
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.4-1
Architecture: armel
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 8964
Depends: zenohd (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh-plugin-storage-manager_1.0.0~alpha.4-1_armel.deb
Size: 1963708
MD5sum: 66635cb04b475b29b6ce2b1a41b0d482
SHA1: 0032d4665ae2f0fa232dd64f144f10e1f7059207
SHA256: b798fac434150aadf97dd441fbe406cc0fe4d1e492a939483e917949fc1a8f33
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.4-1
Architecture: armhf
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 8835
Depends: zenohd (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh-plugin-storage-manager_1.0.0~alpha.4-1_armhf.deb
Size: 1950476
MD5sum: aaddd71c1d29d28ab7fd88b1788ad5e3
SHA1: ebf3bcbffd0da4be28196277b9748a8e683fdcd9
SHA256: 2b6a5308ba9e7ccd06957ba4169c28bdcbf5dc1382d6ea766dc1a43bd703175c
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.4-1
Architecture: amd64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 11955
Depends: zenohd (=1.0.0~alpha.4-1)
Filename: 1.0.0-alpha.4/zenoh-plugin-storage-manager_1.0.0~alpha.4-1_amd64.deb
Size: 2278696
MD5sum: 4dd94511a986dcd358bf825dcaf7a8a4
SHA1: b7c3d3c023870a65d66e37559a0fc267e392c502
SHA256: 6298654c1864adb65685f60988c402f747c2c76401d07b6ba3ae72918469408b
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.4-1
Architecture: amd64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 18355
Depends: libc6 (>= 2.29)
Filename: 1.0.0-alpha.4/zenohd_1.0.0~alpha.4-1_amd64.deb
Size: 4482076
MD5sum: 02c1623eb58fce705186ad93eb6ad77b
SHA1: 2ff8806122183804593d7d125fe726274f57838d
SHA256: 54009376f2d40e407f672374517c26a98a68f47a83ce6329eb17b9b2a9755707
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/@/router/local`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/router/local/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/router/local/**/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/@/router/local/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/router/local/**/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.4-1
Architecture: arm64
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 16294
Filename: 1.0.0-alpha.4/zenohd_1.0.0~alpha.4-1_arm64.deb
Size: 4008400
MD5sum: c84badbe5bca1599b378671bffaf91e0
SHA1: 341bd9128dbd07b097546fcfc540faa40c8fa09a
SHA256: c84e2f5fbcccc3a2d5ae8fce0e45ab449aec3f4e530f6b62d841ac3a74b78031
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/@/router/local`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/router/local/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/router/local/**/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/@/router/local/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/router/local/**/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.4-1
Architecture: armel
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 17730
Filename: 1.0.0-alpha.4/zenohd_1.0.0~alpha.4-1_armel.deb
Size: 4360520
MD5sum: e1e79e185100cc05e3de9c63c76d480d
SHA1: 127aeac7580eb82fab64ff5bca58020c78056298
SHA256: 82bf313480504a1cd56d3a190f80f1ced7ece6ae47c4b51407cdc7eb78373b38
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/@/router/local`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/router/local/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/router/local/**/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/@/router/local/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/router/local/**/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.4-1
Architecture: armhf
Maintainer: zenoh-dev@eclipse.org
Installed-Size: 17501
Filename: 1.0.0-alpha.4/zenohd_1.0.0~alpha.4-1_armhf.deb
Size: 4413508
MD5sum: 2ccd00480050b68f6ed69983b53acfd4
SHA1: 80ddaf2637f2b507b55052613b83ab9e6bf55d38
SHA256: 0692ccefde15609ff6fbad31e941661b98d26d171f7a84512a4e3373e9f46472
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/@/router/local`
   * get the volumes of the router (only memory by default):
     `curl 'http://localhost:8000/@/router/local/**/volumes/*'`
   * get the storages of the local router (the memory storage configured at
 startup on '/demo/example/**' should be present):
     `curl 'http://localhost:8000/@/router/local/**/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/@/router/local/config/plugins/storage_manager/storages/mystore`
   * check it has been created:
     `curl 'http://localhost:8000/@/router/local/**/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

