You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hop-to-hop reliability, ensuring the reliability of communication between each Nodes, and between a Node and the connected Zenoh Router.
end-to-end reliability, ensuring the reliability of communication between Nodes across a chain of Zenoh Routers with connectivities that may be intermittent (e.g. for robot to robot communication)
With rmw_zenoh, the hop-to-hop reliability is ensured using reliable transports (TCP, QUIC...) and congestion_control=Z_CONGESTION_CONTROL_BLOCK if QoS are set to RELIABLE + History=KEEP_ALL
Ensuring the end-to-end reliability would require to:
Use the Zenoh Advanced Pub/Sub for all RELIABLE Publishers/Subscribers.
They have been introduced by feat: introduce the advanced publisher and subscriber #368, but are only serving for TRANSIENT_LOCAL support with the current options.
Configure those with sample_miss_detection.is_enable=true and recovery.is_enabled=true options.
Those options are adding some heartbeats or polling messages, and thus increase the traffic.
As end-to-end reliability is not required for all use cases, and is adding extra burden (more Advanced Pub/Subs and more traffic), I suggest to make it configurable and disabled by default.
Zenoh offers 2 flavors of reliability:
With rmw_zenoh, the hop-to-hop reliability is ensured using reliable transports (TCP, QUIC...) and
congestion_control=Z_CONGESTION_CONTROL_BLOCKif QoS are set toRELIABLE+History=KEEP_ALLEnsuring the end-to-end reliability would require to:
RELIABLEPublishers/Subscribers.They have been introduced by feat: introduce the advanced publisher and subscriber #368, but are only serving for
TRANSIENT_LOCALsupport with the current options.sample_miss_detection.is_enable=trueandrecovery.is_enabled=trueoptions.Those options are adding some heartbeats or polling messages, and thus increase the traffic.
As end-to-end reliability is not required for all use cases, and is adding extra burden (more Advanced Pub/Subs and more traffic), I suggest to make it configurable and disabled by default.
reliable+transient_local: Bump Zenoh to v1.3.2 and improve e2e reliability with HeartbeatSporadic #591reliable+volatile+keep_last(n)