Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -524,7 +524,8 @@ Here is an incomplete list of some of the settings and the values that they can
* `DEPTH` - The maximum number of samples to keep; this only comes into play when `KEEP_LAST` history is used. If `DEPTH` is set to 0, `rmw_zenoh_cpp` will choose a depth of 42.
* `DURABILITY`
* `VOLATILE` - Samples will only be delivered to subscriptions that are active at the time of publishing. This is the `SYSTEM_DEFAULT` durability.
* `TRANSIENT_LOCAL` - "Late-joining" subscriptions will receive historical data, along with any new data. In `rmw_zenoh_cpp`, this is implemented for publishers via the activation of a cache on the `AdvancedPublisher`. On the subscription side the `AdvancedSubscriber` is configured to query this cache to retrieve the historical data.
* `TRANSIENT_LOCAL` - "Late-joining" subscriptions will receive historical data, along with any new data. In `rmw_zenoh_cpp`, this is implemented for publishers via the activation of a cache on the `AdvancedPublisher`. On the subscription side the `AdvancedSubscriber` is configured to query this cache to retrieve the historical data.
**Note**: Zenoh timestamping has to be enabled by configuration in case of `TRANSIENT_LOCAL`+`BEST_EFFORT` publishers. This allows an `AdvancedSubscriber` to reorder historical data and live publications received at the same time, before delivery to the callback API. `TRANSIENT_LOCAL`+`RELIABLE` `AdvancedPublishers` are configured with `miss_sample_detection` which adds a sequence number to each publication for reordering and detection of missing samples.
* `LIVELINESS`
* `AUTOMATIC` - The "liveliness" of an entity of the system is managed by the RMW layer. This is the only `LIVELINESS` that `rmw_zenoh_cpp` supports.
* `MANUAL_BY_TOPIC` - Not supported. It is up to the application to periodically publish to a particular topic to assert liveliness.
Expand Down
4 changes: 2 additions & 2 deletions rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5
Original file line number Diff line number Diff line change
Expand Up @@ -206,8 +206,8 @@
/// Whether data messages should be timestamped if not already.
/// Accepts a single boolean value or different values for router, peer and client.
///
/// ROS setting: PublicationCache which is required for transient_local durability

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't sure what to replace this with, so I left it as a WIP and will update it based on feedback from the maintainers.

/// only works when time-stamping is enabled.
/// ROS setting: timestamping is required for TRANSIENT_LOCAL + BEST_EFFORT publishers.
/// See rmw_zenoh_cpp/docs/design.md - "Quality of Service" chapter - for details.
enabled: { router: true, peer: true, client: true },
/// Whether data messages with timestamps in the future should be dropped or not.
/// If set to false (default), messages with timestamps in the future are retimestamped.
Expand Down
4 changes: 2 additions & 2 deletions rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5
Original file line number Diff line number Diff line change
Expand Up @@ -216,8 +216,8 @@
/// Whether data messages should be timestamped if not already.
/// Accepts a single boolean value or different values for router, peer and client.
///
/// ROS setting: PublicationCache which is required for transient_local durability
/// only works when time-stamping is enabled.
/// ROS setting: timestamping is required for TRANSIENT_LOCAL + BEST_EFFORT publishers.
/// See rmw_zenoh_cpp/docs/design.md - "Quality of Service" chapter - for details.
enabled: { router: true, peer: true, client: true },
/// Whether data messages with timestamps in the future should be dropped or not.
/// If set to false (default), messages with timestamps in the future are retimestamped.
Expand Down
Loading