VLink  2.0.0
A high-performance communication middleware
qos.h 文件参考

Quality of Service (QoS) policy aggregate for VLink publishers and subscribers. 更多...

#include <cstdint>
qos.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  vlink::Qos
 Aggregate Quality of Service policy for a VLink communication endpoint. 更多...
 
struct  vlink::Qos::Reliability
 Controls whether message delivery is guaranteed. 更多...
 
struct  vlink::Qos::History
 Controls how many samples are kept for late-joining subscribers. 更多...
 
struct  vlink::Qos::Durability
 Controls how samples persist after they are published. 更多...
 
struct  vlink::Qos::PublishMode
 Controls whether the DataWriter sends synchronously or asynchronously. 更多...
 
struct  vlink::Qos::Liveliness
 Controls how the liveness of a DataWriter is asserted and detected. 更多...
 
struct  vlink::Qos::DestinationOrder
 Controls the ordering of received samples. 更多...
 
struct  vlink::Qos::Ownership
 Controls whether multiple writers can write to the same instance. 更多...
 
struct  vlink::Qos::Deadline
 Specifies the maximum period between successive data publications. 更多...
 
struct  vlink::Qos::Lifespan
 Specifies the maximum age of a sample before it is discarded. 更多...
 
struct  vlink::Qos::LatencyBudget
 Provides a hint about the maximum acceptable end-to-end latency. 更多...
 
struct  vlink::Qos::ResourceLimits
 Limits on the number of samples, instances, and samples per instance. 更多...
 
struct  vlink::Qos::Additions
 VLink-specific extensions beyond standard DDS QoS. 更多...
 

命名空间

 

详细描述

Quality of Service (QoS) policy aggregate for VLink publishers and subscribers.

Qos is a plain-old-data struct that bundles all DDS-compatible Quality of Service parameters into a single aggregate. It is passed to publishers, subscribers, clients, servers, getters, and setters to control transport behaviour.

The struct mirrors DDS QoS concepts and maps cleanly onto FastDDS, CycloneDDS, and RTI DDS backends. For non-DDS backends (shm, zenoh, intra, etc.), each backend interprets the relevant subset of fields.

Pre-built profiles are available in the QosProfile namespace (see qos_profile.h).

Sub-policy Key parameter Default
Reliability kind, block_time, heartbeat_time Reliable, 100 ms block, 3000 ms hb
History kind, depth KeepLast, depth=1
Durability kind Volatile
PublishMode kind Sync
Liveliness kind, duration Automatic, infinite
DestinationOrder kind ReceptionTimestamp
Ownership kind Shared
Deadline period -1 (no deadline)
Lifespan duration -1 (infinite)
LatencyBudget duration 0 (best-effort)
ResourceLimits max_samples / instances 6000 / 10 / 500
Additions priority, is_express Normal, not express
Example
// Custom QoS: best-effort, keep last 10, volatile
qos.history.depth = 10;
vlink::DdsConf::register_qos("my_qos", qos);
auto pub = vlink::Publisher<MyMsg>::create_unique("dds://my_topic?qos=my_qos");