Holoscan SDK v4.2.0

Struct HoloscanEntityData

struct HoloscanEntityData

DDS data type for Holoscan pub/sub messages.

This structure is used for two kinds of DDS messages:

  • Main-topic messages: serialized_data carries a CodecRegistry-serialized Holoscan Entity (which may reference GPU tensors). The metadata fields contains_gpu_tensors and gpu_device_id describe the entity payload. descriptor_format_version is 0 and protocol_name / publisher_gid are empty.

  • Sidecar messages (native buffer descriptors): serialized_data carries native-descriptor bytes produced by FastDdsTransport::send_native_descriptor(). descriptor_format_version (> 0) and protocol_name identify the wire format, and publisher_gid associates the descriptor with a main-topic publisher.

Common metadata fields:

  • source_operator: Tracing/debugging (identifies the publishing operator)

  • timestamp_ns: Message timestamping (for latency measurement, ordering)

Public Members

std::vector<uint8_t> serialized_data

Message payload bytes. For main-topic messages this is a CodecRegistry-serialized Holoscan Entity; for sidecar messages this is a native buffer descriptor (format identified by descriptor_format_version and protocol_name).

std::string source_operator

Name of the operator that produced this message.

int64_t timestamp_ns = 0

Timestamp in nanoseconds (typically from std::chrono::steady_clock)

bool contains_gpu_tensors = false

True if serialized_data contains GPU tensor references that need staging.

int32_t gpu_device_id = 0

GPU device ID where tensors originated (for device affinity)

std::string publisher_gid

GID of the main-topic publisher (hex string, e.g. from Gid::to_string()). Used by sidecar messages (native buffer descriptors) so the receiver can associate the descriptor with the correct publisher in its local registry. Empty for regular (main-topic) messages where the DDS writer GUID suffices.

uint8_t descriptor_format_version = 0

Native descriptor wire format version (0 for regular/main-topic payloads).

std::string protocol_name

Native descriptor protocol identifier (empty for regular/main-topic payloads).

Previous Struct HoloIpcCudaNativeBufferAdapterBase::NativeBufferHolder
Next Struct ImportedNativeTensor
© Copyright 2022-2026, NVIDIA. Last updated on May 11, 2026