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_datacarries a CodecRegistry-serialized Holoscan Entity (which may reference GPU tensors). The metadata fieldscontains_gpu_tensorsandgpu_device_iddescribe the entity payload.descriptor_format_versionis 0 andprotocol_name/publisher_gidare empty.Sidecar messages (native buffer descriptors):
serialized_datacarries native-descriptor bytes produced byFastDdsTransport::send_native_descriptor().descriptor_format_version(> 0) andprotocol_nameidentify the wire format, andpublisher_gidassociates 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_versionandprotocol_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).