VLink  2.0.0
A high-performance communication middleware
zenoh_conf.h File Reference

Transport configuration for the zenoh:// Eclipse Zenoh transport. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Detailed Description

Transport configuration for the zenoh:// Eclipse Zenoh transport.

ZenohConf binds the zenoh:// URL scheme to Eclipse Zenoh, a unified data protocol that combines publish/subscribe, queryable storage, and computed query patterns under a single key-expression namespace. Zenoh scales from constrained micro-controllers to cloud-side routers and is well suited to multi-site fleet and edge deployments. Optional shared-memory acceleration lowers latency for large payloads exchanged between processes on the same host.

Supported Node Types
Publisher Subscriber Server Client Getter Setter
yes yes yes yes yes yes
Routing Modes
Mode Topology Typical use case
peer Fully meshed P2P between participants LAN with no router
client Connects to a router as a leaf node Fleet edge connecting to cloud
router Forwards and stores data for connected clients Gateway / aggregation point
URL Format
zenoh://<address>[?event=<name>&domain=<N>&qos=<profile>&depth=<N>&shm=<bool>
&shm_mode=<lazy|init>&shm_size=<N>&shm_threshold=<N>
&shm_loan_threshold=<N>&shm_blocking=<bool>][#<fragment>]
Component Description
address Zenoh key expression (URL host concatenated with path)
event Optional secondary event filter (?event=)
domain Zenoh session/domain identifier (?domain=); factory default applied
qos Named QoS profile registered via register_qos()
depth TX queue override; 0 uses the QoS-selected history depth
shm Enable Zenoh shared-memory acceleration (boolean)
shm_mode Pool init strategy; lazy or init
shm_size SHM pool size; accepts bytes, K, M, or G suffixes
shm_threshold Minimum payload size to switch the SHM path on
shm_loan_threshold Minimum size for VLink SHM loan buffers
shm_blocking Whether loan() blocks when the pool is exhausted
fragment Optional transport hint or session-config fragment
QoS Registration
vlink::ZenohConf::register_qos("reliable", qos);
auto pub = vlink::Publisher<MyMsg>::create_unique("zenoh://vehicle/speed?qos=reliable");
Note
Compiled only when VLINK_SUPPORT_ZENOH is defined.
is_valid() returns false when address is empty or domain is negative.