> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/holoscan/sdk-user-guide/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/holoscan/sdk-user-guide/_mcp/server.

# holoscan::dds_qos::apply_writer_qos

> Map a GXF QoSProfile struct to FastDDS DataWriterQos.

```cpp showLineNumbers={false}
void holoscan::dds_qos::apply_writer_qos(
    eprosima::fastdds::dds::DataWriterQos &dds_qos,
    const nvidia::gxf::QoSProfile &qos
)
```

[Map](../../../classes/map) a GXF QoSProfile struct to FastDDS DataWriterQos.

Maps all QoSProfile fields to their DDS equivalents:

* reliability, durability, history, depth: core QoS policies
* priority: DDS TransportPriorityQosPolicy
* max\_blocking\_time\_ns: DDS ReliabilityQosPolicy.max\_blocking\_time
* deadline\_ns: DDS DeadlineQosPolicy.period
* lifespan\_ns: DDS LifespanQosPolicy.duration

DDS-specific resource\_limits tuning is derived from history policy/depth (no GXF-level equivalent).

**Parameters**

**`dds_qos`** `eprosima::fastdds::dds::DataWriterQos &`

The DataWriterQos to configure (modified in-place). Must be freshly default-initialized (e.g. `DATAWRITER_QOS_DEFAULT`). Reusing a previously configured object may leave stale values for fields that this mapping does not set (deadline, lifespan, resource\_limits).

---

**`qos`** `const nvidia::gxf::QoSProfile &`

The GXF QoSProfile to map from.

---

**See also:**
docs/PUBSUB\_DESIGN/DDS\_BACKEND\_ADOPT\_NEW\_GXF\_APIS.md §3