Skip to main content

Crate zenkey_fleet

Crate zenkey_fleet 

Source
Expand description

Fleet engine for keyspace-v2 tooling (issue #15).

The shared core of zenctl and zengui: everything a bus explorer needs that is not presentation. The RFC 05 §2.1 fan-in discipline lives in exactly one place (query::fleet_get, moved verbatim from zenctl — target All, consolidation None, attribution by the reply’s own key); the liveliness roster, registry-slice sets, and the schema-aware decode seam build on it.

Sessions opened here are deliberately un-namespaced (RFC 09 §5): an explorer sees the wire as it really is, full keys included — that is what lets it spot a leak. Do not “fix” this by setting a namespace.

Re-exports§

pub use admin::AdminEntry;
pub use admin::RouterInfo;
pub use admin::admin_get;
pub use admin::routers;
pub use query::Answer;
pub use query::FleetAnswer;
pub use query::fleet_get;
pub use query::fleet_registry;
pub use registry::SliceSet;
pub use roster::roster;
pub use session::open;
pub use sub::EventStream;
pub use sub::FleetEvent;
pub use sub::Monitor;
pub use sub::MonitorCore;
pub use sub::MonitorSpec;
pub use sub::SampleView;
pub use sub::StreamItem;
pub use tree::KeyTreeSnapshot;

Modules§

admin
Zenoh admin-space access (issue #14): browse @/** — the middleware’s own introspection — from the same un-namespaced session the convention tooling already holds (a namespaced session’s admin selector would be rewritten and match nothing, RFC 09 §5).
decode
The schema-aware decode seam (issues #11/#15): wire key → type name → served schema → named-field JSON, with the honest fallbacks a generic tool owes its user.
query
The fan-in query discipline (RFC 05 §2.1) — moved verbatim from zenctl’s bus.rs; this stays the single chokepoint for fleet GETs.
registry
Registry-slice sets (RFC 08 §6): one type over both sources.
roster
The liveliness roster (RFC 04 §5).
session
Session setup for un-namespaced observers (RFC 09 §5).
stats
Windowed per-key statistics (issues #13/#15): message/byte counters and an exponentially-weighted rate, keyed by wire key. Backs zenctl topic hz/bw/echo --rate and zengui’s tree badges.
sub
The live monitor (issue #15): subscription multiplexing + liveliness watching, fanned into a bounded broadcast of FleetEvents, with the key-tree snapshot published on a stats tick.
tree
The live key tree (issue #15): an immutable snapshot of everything the monitor has seen, grouped by key chunks, with per-node statistics.