Class astutedds::rtps::ParameterListBuilder

ClassList > astutedds > rtps > ParameterListBuilder

Helper class for building parameter lists in little-endian CDR.

  • #include <endpoint_proxy.hpp>

Public Functions

Type Name
ParameterListBuilder ()
void add_data_representation (const std::vector< int16_t > & representations)
Add data representation QoS (variable length: 4 + 2*count)
void add_deadline (const Duration_t & period)
Add deadline QoS parameter (8 bytes: Duration)
void add_destination_order (dcps::DestinationOrderQosPolicyKind kind)
Add destination order QoS parameter (4 bytes)
void add_durability (dcps::DurabilityQosPolicyKind kind)
Add durability QoS parameter (4 bytes)
void add_expects_inline_qos (bool expects)
Add expects_inline_qos flag (4 bytes, boolean as uint32)
void add_guid (uint16_t pid, const GUID_t & guid)
Add a 16-byte GUID parameter.
void add_history (dcps::HistoryQosPolicyKind kind, int32_t depth)
Add history QoS parameter (8 bytes)
void add_liveliness (dcps::LivelinessQosPolicyKind kind, const Duration_t & lease_duration)
Add liveliness QoS parameter (12 bytes: kind + lease_duration)
void add_locator (uint16_t pid, const Locator_t & loc)
Add a locator parameter (24 bytes: kind + port + address)
void add_ownership (dcps::OwnershipQosPolicyKind kind)
Add ownership QoS parameter (4 bytes)
void add_ownership_strength (int32_t value)
Add ownership strength QoS parameter (4 bytes)
void add_partition (const std::vector< std::string > & partitions)
Add partition QoS parameter (CDR sequence of strings)
void add_presentation (dcps::PresentationQosPolicyAccessScopeKind scope, bool coherent, bool ordered)
Add presentation QoS parameter (8 bytes: scope + coherent + ordered + padding)
void add_protocol_version (uint8_t major, uint8_t minor)
Add protocol version parameter (4 bytes, padded)
void add_reliability (dcps::ReliabilityQosPolicyKind kind, const Duration_t & max_blocking_time=Duration_t)
Add reliability QoS parameter (12 bytes)
void add_resource_limits (int32_t max_samples, int32_t max_instances, int32_t max_samples_per_instance)
Add resource limits QoS (12 bytes)
void add_string (uint16_t pid, const std::string & str)
Add a string parameter (CDR format: length + data + null + padding)
void add_type_information_from_type_name (const std::string & typeName)
Add PID_TYPE_INFORMATION (0x0075) with minimal+complete TypeIdentifierWithSize.
void add_unicast_locator_ipv4 (uint16_t pid, const std::array< uint8_t, 4 > & ip, uint32_t port)
Add a locator from IP address and port.
void add_vendor_id (uint8_t v0, uint8_t v1)
Add vendor ID parameter (4 bytes, padded)
const std::vector< uint8_t > & buffer () const
Get the built parameter list buffer.
void finalize ()
Finalize the parameter list with PID_SENTINEL.
std::vector< uint8_t > take_buffer ()
Move the built buffer out.

Public Functions Documentation

function ParameterListBuilder

inline astutedds::rtps::ParameterListBuilder::ParameterListBuilder () 

function add_data_representation

Add data representation QoS (variable length: 4 + 2*count)

inline void astutedds::rtps::ParameterListBuilder::add_data_representation (
    const std::vector< int16_t > & representations
) 


function add_deadline

Add deadline QoS parameter (8 bytes: Duration)

inline void astutedds::rtps::ParameterListBuilder::add_deadline (
    const Duration_t & period
) 


function add_destination_order

Add destination order QoS parameter (4 bytes)

inline void astutedds::rtps::ParameterListBuilder::add_destination_order (
    dcps::DestinationOrderQosPolicyKind kind
) 


function add_durability

Add durability QoS parameter (4 bytes)

inline void astutedds::rtps::ParameterListBuilder::add_durability (
    dcps::DurabilityQosPolicyKind kind
) 


function add_expects_inline_qos

Add expects_inline_qos flag (4 bytes, boolean as uint32)

inline void astutedds::rtps::ParameterListBuilder::add_expects_inline_qos (
    bool expects
) 


function add_guid

Add a 16-byte GUID parameter.

inline void astutedds::rtps::ParameterListBuilder::add_guid (
    uint16_t pid,
    const GUID_t & guid
) 


function add_history

Add history QoS parameter (8 bytes)

inline void astutedds::rtps::ParameterListBuilder::add_history (
    dcps::HistoryQosPolicyKind kind,
    int32_t depth
) 


function add_liveliness

Add liveliness QoS parameter (12 bytes: kind + lease_duration)

inline void astutedds::rtps::ParameterListBuilder::add_liveliness (
    dcps::LivelinessQosPolicyKind kind,
    const Duration_t & lease_duration
) 


function add_locator

Add a locator parameter (24 bytes: kind + port + address)

inline void astutedds::rtps::ParameterListBuilder::add_locator (
    uint16_t pid,
    const Locator_t & loc
) 


function add_ownership

Add ownership QoS parameter (4 bytes)

inline void astutedds::rtps::ParameterListBuilder::add_ownership (
    dcps::OwnershipQosPolicyKind kind
) 


function add_ownership_strength

Add ownership strength QoS parameter (4 bytes)

inline void astutedds::rtps::ParameterListBuilder::add_ownership_strength (
    int32_t value
) 


function add_partition

Add partition QoS parameter (CDR sequence of strings)

inline void astutedds::rtps::ParameterListBuilder::add_partition (
    const std::vector< std::string > & partitions
) 

Wire format: sequence length (uint32) followed by each string as CDR string (uint32 length including null + chars + null + padding).


function add_presentation

Add presentation QoS parameter (8 bytes: scope + coherent + ordered + padding)

inline void astutedds::rtps::ParameterListBuilder::add_presentation (
    dcps::PresentationQosPolicyAccessScopeKind scope,
    bool coherent,
    bool ordered
) 


function add_protocol_version

Add protocol version parameter (4 bytes, padded)

inline void astutedds::rtps::ParameterListBuilder::add_protocol_version (
    uint8_t major,
    uint8_t minor
) 


function add_reliability

Add reliability QoS parameter (12 bytes)

inline void astutedds::rtps::ParameterListBuilder::add_reliability (
    dcps::ReliabilityQosPolicyKind kind,
    const Duration_t & max_blocking_time=Duration_t {0, 100000000}
) 


function add_resource_limits

Add resource limits QoS (12 bytes)

inline void astutedds::rtps::ParameterListBuilder::add_resource_limits (
    int32_t max_samples,
    int32_t max_instances,
    int32_t max_samples_per_instance
) 


function add_string

Add a string parameter (CDR format: length + data + null + padding)

inline void astutedds::rtps::ParameterListBuilder::add_string (
    uint16_t pid,
    const std::string & str
) 


function add_type_information_from_type_name

Add PID_TYPE_INFORMATION (0x0075) with minimal+complete TypeIdentifierWithSize.

inline void astutedds::rtps::ParameterListBuilder::add_type_information_from_type_name (
    const std::string & typeName
) 

This advertises XTypes TypeInformation (DDS-XTypes 1.3 ยง7.6.2.1). For now we derive a deterministic 14-byte hash from typeName so peers can detect presence and request TLS; full TypeObject-backed hashes can replace this when integrated with xtypes type registry.


function add_unicast_locator_ipv4

Add a locator from IP address and port.

inline void astutedds::rtps::ParameterListBuilder::add_unicast_locator_ipv4 (
    uint16_t pid,
    const std::array< uint8_t, 4 > & ip,
    uint32_t port
) 


function add_vendor_id

Add vendor ID parameter (4 bytes, padded)

inline void astutedds::rtps::ParameterListBuilder::add_vendor_id (
    uint8_t v0,
    uint8_t v1
) 


function buffer

Get the built parameter list buffer.

inline const std::vector< uint8_t > & astutedds::rtps::ParameterListBuilder::buffer () const


function finalize

Finalize the parameter list with PID_SENTINEL.

inline void astutedds::rtps::ParameterListBuilder::finalize () 


function take_buffer

Move the built buffer out.

inline std::vector< uint8_t > astutedds::rtps::ParameterListBuilder::take_buffer () 



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