OpenHiva::TopicOptions::BuildDDSQos

Description

Sets the QoS policy for DDS communication corresponding to Topic.

Prototype

OpenHiva::TopicOptions &OpenHiva::TopicOptions::BuildDDSQos(const DdsQosOptions & qosOptions)

Parameters

Parameter

Input/Output

Description

qosOptions

Input

DDS message retention policy. The data structure is DdsQosOptions. The definition is as follows:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
struct DdsQosOptions {
    QosHistoryPolicy history;
    std::size_t depth;
    QosReliabilityPolicy reliability;
    QosDurabilityPolicy durability;
    QosDuration deadline;
    QosDuration lifespan;
    QosLivelinessPolicy liveliness;
    QosDuration leaseDuration;
};

Related data types or data structures:

  • QosHistoryPolicy
    1
    2
    3
    4
    5
    6
    enum class QosHistoryPolicy: uint32_t {
        DDS_QOS_HISTORY_POLICY_KEEP_LAST,
        DDS_QOS_HISTORY_POLICY_KEEP_ALL,
        DDS_QOS_HISTORY_POLICY_SYSTEM_DEFAULT,
        DDS_QOS_HISTORY_POLICY_UNKNOWN
    };
    
  • QosReliabilityPolicy
    1
    2
    3
    4
    5
    6
    enum class QosReliabilityPolicy: uint32_t {
        DDS_QOS_RELIABILITY_POLICY_RELIABLE,
        DDS_QOS_RELIABILITY_POLICY_BEST_EFFORT,
        DDS_QOS_RELIABILITY_POLICY_SYSTEM_DEFAULT,
        DDS_QOS_RELIABILITY_POLICY_UNKNOWN
    };
    
  • QosDurabilityPolicy
    1
    2
    3
    4
    5
    6
    enum class QosDurabilityPolicy: uint32_t {
        DDS_QOS_DURABILITY_POLICY_VOLATILE,
        DDS_QOS_DURABILITY_POLICY_TRANSIENT_LOCAL,
        DDS_QOS_DURABILITY_POLICY_SYSTEM_DEFAULT,
        DDS_QOS_DURABILITY_POLICY_UNKNOWN
    };
    
  • QosLivelinessPolicy
    1
    2
    3
    4
    5
    6
    enum class QosLivelinessPolicy: uint32_t {
        DDS_QOS_LIVELINESS_POLICY_AUTOMATIC,
        DDS_QOS_LIVELINESS_POLICY_MANUAL_BY_TOPIC,
        DDS_QOS_LIVELINESS_POLICY_SYSTEM_DEFAULT,
        DDS_QOS_LIVELINESS_POLICY_UNKNOWN
    };
    
  • QosDuration
    1
    2
    3
    4
    5
    6
    struct QosDuration {
        // Seconds
        uint64_t sec;
        // Nanoseconds
        uint64_t nsec;
    };
    

Returns

The TopicOptions object with QoS policy set is returned.

Usage

This interface takes effect only after the DDS communication mode is configured.

Precautions

  • Non-reentrant, synchronous interface.
  • If you do not invoke this interface, the default QoS value is used.