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)关系图:
此图展示该文件被哪些文件直接或间接地引用了:

浏览该文件的源代码.

 Aggregate Quality of Service policy for a VLink communication endpoint. 更多...
 Controls whether message delivery is guaranteed. 更多...
 Controls how many samples are kept for late-joining subscribers. 更多...
 Controls how samples persist after they are published. 更多...
 Controls whether the DataWriter sends synchronously or asynchronously. 更多...
 Controls how the liveness of a DataWriter is asserted and detected. 更多...
 Controls the ordering of received samples. 更多...
 Controls whether multiple writers can write to the same instance. 更多...
 Specifies the maximum period between successive data publications. 更多...
 Specifies the maximum age of a sample before it is discarded. 更多...
 Provides a hint about the maximum acceptable end-to-end latency. 更多...
 Limits on the number of samples, instances, and samples per instance. 更多...
 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 Reliable, 100 ms block
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;
auto pub = vlink::Publisher<MyMsg>::create("dds://my_topic");
pub->set_qos(qos);