File qos.hpp

FileList > astutedds > rmw > qos.hpp

Go to the source code of this file

RMW to AstuteDDS QoS-policy mapping. More...

  • #include <astutedds/c/astutedds.h>
  • #include <rmw/qos_profiles.h>
  • #include <rmw/types.h>

Public Functions

Type Name
void fill_reader_qos_readback (rmw_qos_profile_t & out, const AstuteDDS_DataReaderQos & r)
void fill_writer_qos_readback (rmw_qos_profile_t & out, const AstuteDDS_DataWriterQos & w)
AstuteDDS_DataReaderQos map_reader_qos (const rmw_qos_profile_t & q)
AstuteDDS_RequesterQos map_requester_qos (const rmw_qos_profile_t & q)
AstuteDDS_DataWriterQos map_writer_qos (const rmw_qos_profile_t & q)

Detailed Description

ROS 2 QoS is a superset of what AstuteDDS currently expresses. These helpers project the supported subset (reliability, history kind, history depth, durability) from an rmw_qos_profile_t onto the vendor QoS structs used at DataWriter/DataReader creation time.

This is the single mapping point in the RMW: publisher, subscription, service and client create paths all route through here, so any policy tweak lives in exactly one place. Policies AstuteDDS does not yet model (deadline, lifespan, liveliness lease, etc.) are carried on each PIMPL's cached QoS copy and echoed back from *_get_actual_qos().

Public Functions Documentation

function fill_reader_qos_readback

void fill_reader_qos_readback (
    rmw_qos_profile_t & out,
    const AstuteDDS_DataReaderQos & r
) 

Reader-side counterpart of fill_writer_qos_readback (no lifespan).

Parameters:

  • out Profile to populate in place.
  • r Effective reader QoS from astutedds_datareader_get_qos.

function fill_writer_qos_readback

void fill_writer_qos_readback (
    rmw_qos_profile_t & out,
    const AstuteDDS_DataWriterQos & w
) 

Overlay the effective policies read back from an AstuteDDS DataWriter QoS onto an rmw_qos_profile_t (reliability, durability, history, depth, deadline, lifespan, liveliness kind + lease). Policies AstuteDDS does not model are left untouched, so callers should pre-seed out (e.g. from rmw_qos_profile_default).

Parameters:

  • out Profile to populate in place.
  • w Effective writer QoS from astutedds_datawriter_get_qos.

function map_reader_qos

AstuteDDS_DataReaderQos map_reader_qos (
    const rmw_qos_profile_t & q
) 

Map an RMW QoS profile to an AstuteDDS DataReader QoS struct. Symmetric with map_writer_qos.

Parameters:

  • q Source RMW profile.

Returns:

Populated AstuteDDS reader QoS.


function map_requester_qos

AstuteDDS_RequesterQos map_requester_qos (
    const rmw_qos_profile_t & q
) 

Map an RMW QoS profile to an AstuteDDS Requester/Replier QoS struct (the merged writer+reader QoS shared by the RPC primitives). Used by rmw_create_client and rmw_create_service.

Parameters:

  • q Source RMW profile.

Returns:

Populated AstuteDDS requester/replier QoS.


function map_writer_qos

AstuteDDS_DataWriterQos map_writer_qos (
    const rmw_qos_profile_t & q
) 

Map an RMW QoS profile to an AstuteDDS DataWriter QoS struct.

Parameters:

  • q Source RMW profile.

Returns:

Populated AstuteDDS writer QoS.



The documentation for this class was generated from the following file include/astutedds/rmw/qos.hpp