adamo
Rust SDK for the Adamo Network — low-latency robotics pub/sub and video streaming.
use Session;
let session = open_default?;
session.put?;
let sub = session.subscribe?;
let sample = sub.recv?;
Features
- Session — auth-aware Zenoh wrapper (
open,put,publisher,subscribe). - Robot (behind
videofeature) — declare hardware-accelerated video tracks against the local camera and stream them over Zenoh:
Existing iceoryx2 shared-memory producers can be consumed directly:use Robot; let mut robot = new_default?; robot.attach_v4l2?; robot.run?; // blocks; capture → encode → publishrobot.attach_shm?; - Adamo time —
adamo::fabric_now_us()returns microseconds on a shared clock derived from the relays'zenoh-plugin-adamo-time. Stamp every cross-node timestamp with this so glass-to-glass latency measurements aren't poisoned by NTP drift between machines.
How the binary is shipped
The crate's adamo-sys dependency
bundles a precompiled libadamo.so for the supported target (currently
aarch64-unknown-linux-gnu — Jetson / Ubuntu 22.04 arm64) inside its
crate tarball. No network access is required at build time.
For local development against a freshly-built libadamo, set
ADAMO_LIB_DIR=/path/to/dir/with/libadamo.so to override the bundled
binary.
License
Apache-2.0. The bundled libadamo binary is proprietary and covered by
the Adamo SDK license.