Struct rmw_subscription_options_s

Struct Documentation

struct rmw_subscription_options_s

Options that can be used to configure the creation of a subscription in rmw.

Public Members

void *rmw_specific_subscription_payload

Used to pass rmw implementation specific resources during subscription creation.

All the same details and restrictions of this field in rmw_publisher_options_t apply to this struct as well.

bool ignore_local_publications

If true then the middleware should not deliver data from local publishers.

This setting is most often used when data should only be received from remote nodes, especially to avoid “double delivery” when both intra- and inter- process communication is taking place.

Todo:

(wjwwood): nail this down when participant mapping is sorted out. See: https://github.com/ros2/design/pull/250

The definition of local is somewhat vague at the moment. Right now it means local to the node, and that definition works best, but may become more complicated when/if participants map to a context instead.

rmw_unique_network_flow_endpoints_requirement_t require_unique_network_flow_endpoints

Require middleware to generate unique network flow endpoints.

Unique network flow endpoints are required to differentiate the QoS provided by networks for flows between publishers and subscribers in communicating nodes. Default value is RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_NOT_REQUIRED.

rmw_subscription_content_filter_options_t *content_filter_options

Used to create a content filter options during subscription creation.