Skip to main content

STARTUP_ACK_PARAM

Constant STARTUP_ACK_PARAM 

Source
pub const STARTUP_ACK_PARAM: &'static str;
Expand description

Reserved MetadataParameters key marking a message as a startup route-probe ack: the consumer-side half of the startup handshake.

When a consumer’s data subscriber receives a startup marker (see STARTUP_MARKER_PARAM) for an input, it replies with an ack on the output’s dedicated @ack topic. An ack arriving back at the producer is end-to-end proof that the route works in both directions; once every required consumer of an output has acked, the producer switches that output from the reliable daemon path to the direct node-to-node zenoh path. Ack timing is load-bearing: the switch can only happen inside the producer’s bounded startup window (see STARTUP_MARKER_PARAM), so a consumer that acks late costs that output the fast path for the whole run. A missing or late ack never fails anything — the output simply stays on the daemon path.

Acks travel as an empty-payload message whose attachment carries this flag plus the acking consumer’s identity under STARTUP_ACK_CONSUMER_PARAM and STARTUP_ACK_INPUT_PARAM — the identity rides in the attachment rather than the zenoh key so consumer/input ids never need key escaping.