> 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::FastDdsSerializer

> Fast-DDS entity serializer: thin wrapper over HoloEntitySerializerBase&lt;FastDdsEndpoint&gt;.

Fast-DDS entity serializer: thin wrapper over [HoloEntitySerializerBase\<FastDdsEndpoint>](holoentityserializerbase).

```cpp showLineNumbers={false}
#include <holoscan/fastdds_serializer.hpp>
```

**Inherits from:** `holoscan::HoloEntitySerializerBase< FastDdsEndpoint >` (public)

---

## Constructors

### FastDdsSerializer \[#fastddsserializer]

```cpp showLineNumbers={false}
holoscan::FastDdsSerializer::FastDdsSerializer(
    cudaStream_t cuda_stream = nullptr
)
```

---

## Methods

### serialize \[#serialize]

```cpp showLineNumbers={false}
nvidia::gxf::Expected<std::vector<uint8_t>> holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::serialize(
    nvidia::gxf::Entity entity,
    nvidia::gxf::Handle<nvidia::gxf::Allocator> allocator = nvidia::gxf::Handle<nvidia::gxf::Allocator>()
) override
```

### serialize\_into \[#serializeinto]

```cpp showLineNumbers={false}
nvidia::gxf::Expected<size_t> holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::serialize_into(
    nvidia::gxf::Entity entity,
    uint8_t *buffer,
    size_t buffer_size,
    nvidia::gxf::Handle<nvidia::gxf::Allocator> allocator = nvidia::gxf::Handle<nvidia::gxf::Allocator>()
) override
```

### deserialize \[#deserialize]

```cpp showLineNumbers={false}
nvidia::gxf::Expected<nvidia::gxf::Entity> holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::deserialize(
    const std::vector<uint8_t> &data,
    gxf_context_t context,
    nvidia::gxf::Handle<nvidia::gxf::Allocator> allocator
) override
```

### estimate\_size \[#estimatesize]

```cpp showLineNumbers={false}
size_t holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::estimate_size(
    nvidia::gxf::Entity entity
) override
```

### supports\_gpu\_tensors \[#supportsgputensors]

```cpp showLineNumbers={false}
bool holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::supports_gpu_tensors() const override
```

### supports\_zero\_copy \[#supportszerocopy]

```cpp showLineNumbers={false}
bool holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::supports_zero_copy() const override
```

### supports\_direct\_buffer\_serialization \[#supportsdirectbufferserialization]

```cpp showLineNumbers={false}
bool holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::supports_direct_buffer_serialization() const override
```

### supports\_native\_descriptors \[#supportsnativedescriptors]

```cpp showLineNumbers={false}
bool holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::supports_native_descriptors() const override
```

### export\_native\_descriptor \[#exportnativedescriptor]

```cpp showLineNumbers={false}
nvidia::gxf::Expected<void> holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::export_native_descriptor(
    gxf_uid_t entity_uid,
    gxf_context_t context,
    nvidia::gxf::Handle<nvidia::gxf::Allocator> allocator,
    nvidia::gxf::NativeDescriptorPayload &out_payload,
    const std::string &protocol_name = ""
) override
```

### import\_native\_descriptor \[#importnativedescriptor]

```cpp showLineNumbers={false}
nvidia::gxf::Expected<nvidia::gxf::Entity> holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::import_native_descriptor(
    const nvidia::gxf::NativeDescriptorPayload &payload,
    gxf_context_t context,
    nvidia::gxf::Handle<nvidia::gxf::Allocator> allocator
) override
```

### name \[#name]

```cpp showLineNumbers={false}
const char * holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::name() const override
```

### set\_native\_buffer\_adapter \[#setnativebufferadapter]

```cpp showLineNumbers={false}
void holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::set_native_buffer_adapter(
    std::shared_ptr<NativeBufferProtocolAdapter> adapter
)
```

### set\_cuda\_stream \[#setcudastream]

```cpp showLineNumbers={false}
void holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::set_cuda_stream(
    cudaStream_t stream
)
```

### cuda\_stream \[#cudastream]

```cpp showLineNumbers={false}
cudaStream_t holoscan::HoloEntitySerializerBase<FastDdsEndpoint>::cuda_stream() const
```

---

## Types

---

## Member variables

| Name                                | Type          | Description |
| ----------------------------------- | ------------- | ----------- |
| `kFlagIsGpuTensor` static constexpr | `uint32_t`    |             |
| `serializer_name_`                  | `std::string` |             |