For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • Introduction
    • Overview
    • Relevant Technologies
    • Getting Started
  • Setup
    • SDK Installation
    • Additional Setup
    • Third Party Hardware Setup
  • Using the SDK
    • Holoscan Core
    • GPU Resident Execution
    • Holoscan by Example
    • Create an Application
    • Create a Distributed Application
    • Create an Operator
    • Create an Operator via Decorator
    • Create a Condition
    • Dynamic Flow Control
    • CUDA Stream Handling
    • Logging
    • Data Logging
    • Debugging
    • Python Operator Bindings
  • Operators
    • Operators and Extensions
    • Visualization
    • Inference
    • Testing
    • Video I/O Vendor Implementation Guide
  • Components
    • Schedulers
    • Conditions
    • Resources
    • Analytics
  • AI Skills
    • Ai Skills
  • API reference
          • Allocator
          • AnnotatedDoubleBufferReceiver
          • AnnotatedDoubleBufferTransmitter
          • AppDriver
          • Application
          • AppWorker
          • Arg
          • ArgList
          • ArgType
          • ArgumentSetter
          • AsyncBufferReceiver
          • AsyncBufferTransmitter
          • AsyncDataLoggerBackend
          • AsyncDataLoggerResource
          • AsynchronousCondition
          • BlockMemoryPool
          • BooleanCondition
          • CLIParser
          • Clock
          • ClockInterface
          • CodecRegistry
          • Component
          • ComponentBase
          • ComponentSpec
          • Condition
          • ConditionCombiner
          • Config
          • CountCondition
          • CPUResourceMonitor
          • CPUThread
          • CsvDataExporter
          • CudaAllocator
          • CudaBufferAvailableCondition
          • CudaContextScopedPush
          • CudaEventCondition
          • CudaFunctionLauncher
          • CudaGreenContext
          • CudaGreenContextPool
          • CudaObjectHandler
          • CudaStreamCondition
          • CudaStreamHandler
          • CudaStreamPool
          • DataExporter
          • DataFlowTracker
          • DataLogger
          • DataLoggerQueue
          • DataLoggerResource
          • DefaultFragmentService
          • DFFTCollector
          • DistributedAppService
          • DLManagedMemoryBufferVersioned
          • DoubleBufferReceiver
          • DoubleBufferTransmitter
          • DownstreamMessageAffordableCondition
          • Endpoint
          • EventBasedScheduler
          • ExecutionContext
          • Executor
          • ExpiringMessageAvailableCondition
          • ExtensionManager
          • FastDdsDiscovery
          • FastDdsEndpoint
          • FastDdsHoloscanEntityTypeSupport
          • FastDdsNativeBufferAdapter
          • FastDdsPubSubContext
          • FastDdsPubSubNetworkContext
          • FastDdsSerializer
          • FastDdsTransport
          • FileFIFOMutex
          • FirstFitAllocator
          • FirstFitAllocatorBase
          • FirstPixelOutCondition
          • FlowGraph
          • FlowGraphImpl
          • Fragment
          • FragmentAllocationStrategy
          • FragmentScheduler
          • FragmentService
          • FragmentServiceProvider
          • GPUDevice
          • GPUResidentDeck
          • GPUResidentExecutor
          • GPUResidentOperator
          • GPUResourceMonitor
          • GreedyFragmentAllocationStrategy
          • GreedyScheduler
          • GXFComponentResource
          • HoloEntitySerializerBase
          • HoloIpcCudaNativeBufferAdapterBase
          • HoloscanAsyncBufferReceiver
          • HoloscanAsyncBufferTransmitter
          • HoloscanLogger
          • HoloscanUcxReceiver
          • HoloscanUcxTransmitter
          • InMemoryPubSubNetworkContext
          • InMemoryPubSubSession
          • InputContext
          • IOSpec
          • LockFreeQueue
          • Logger
          • ManualClock
          • Map
          • MatXAllocator
          • MemoryAvailableCondition
          • Message
          • MessageAvailableCondition
          • MessageLabel
          • MetadataDictionary
          • MetaParameter
          • MultiMessageAvailableCondition
          • MultiMessageAvailableTimeoutCondition
          • MultiThreadScheduler
          • NativeBufferProtocolAdapter
          • NetworkContext
          • Nullable
          • Operator
          • OperatorSpec
          • OrConditionCombiner
          • OrderedQueue
          • OutputContext
          • ParameterWrapper
          • PathMetrics
          • PeriodicCondition
          • PoseTree
          • PoseTreeEdgeHistory
          • PoseTreeManager
          • PoseTreeUCXClient
          • PoseTreeUCXServer
          • PresentDoneCondition
          • PublisherAvailableCondition
          • PubSubContext
          • PubSubReceiver
          • PubSubTransmitter
          • RealtimeClock
          • Receiver
          • Resource
          • RMMAllocator
          • RuntimeError
          • Scheduler
          • ScopedFlock
          • ScopedWaitedFlock
          • SerializationBuffer
          • SessionDiscoveryFrontend
          • SessionTransportFrontend
          • SidecarDispatchQueue
          • SignalHandler
          • SO2
          • SO3
          • StdComponentSerializer
          • StdEntitySerializer
          • StdPubSubEntitySerializer
          • StreamOrderedAllocator
          • Subgraph
          • SubscriberAvailableCondition
          • SyntheticClock
          • SystemResourceManager
          • Tensor
          • TensorMap
          • ThreadPool
          • Timer
          • Topology
          • Transmitter
          • UcxComponentSerializer
          • UcxContext
          • UcxEntitySerializer
          • UcxHoloscanComponentSerializer
          • UcxReceiver
          • UcxSerializationBuffer
          • UcxTransmitter
          • UnboundedAllocator
  • Performance
    • Performance Considerations
    • Flow Tracking
    • GXF Job Statistics
    • Nsight Profiling
  • HoloHub
    • HoloHub Overview
  • FAQ
    • FAQ
NVIDIANVIDIA
Developer-friendly docs for your API
Privacy Policy | Your Privacy Choices | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact

Copyright © 2026, NVIDIA Corporation.

LogoLogoDocumentation
On this page
  • Constructors
  • FastDdsHoloscanEntityTypeSupport
  • Destructor
  • ~FastDdsHoloscanEntityTypeSupport
  • Assignment operators
  • operator=
  • Methods
  • serialize
  • deserialize
  • calculate_serialized_size
  • create_data
  • delete_data
  • compute_key
  • is_bounded
  • is_plain
API referenceC++ APIHoloscanClasses

holoscan::FastDdsHoloscanEntityTypeSupport

Beta
||View as Markdown|
Previous

holoscan::FastDdsEndpoint

Next

holoscan::FastDdsNativeBufferAdapter

DDS TopicDataType implementation for HoloscanEntityData.

This class implements the FastDDS TopicDataType interface, enabling HoloscanEntityData to be used as a DDS topic type. It handles:

  • CDR serialization/deserialization using FastCDR
  • Memory management for data instances
  • Size calculation for DDS
#include <holoscan/fastdds_holoscan_entity_type_support.hpp>

Inherits from: eprosima::fastdds::dds::TopicDataType (public)


Constructors

FastDdsHoloscanEntityTypeSupport

Default
Move
Copy (deleted)
holoscan::FastDdsHoloscanEntityTypeSupport::FastDdsHoloscanEntityTypeSupport()holoscan::FastDdsHoloscanEntityTypeSupport::FastDdsHoloscanEntityTypeSupport()

Construct a new FastDdsHoloscanEntityTypeSupport.

Sets the type name to “holoscan::Entity” and configures for variable-size data.

Uses a 1MB initial max_serialized_type_size for payload pool allocation. With FastDDS’s default PREALLOCATED_WITH_REALLOC_MEMORY_MODE, larger messages (10-100+ MB tensors) will trigger automatic reallocation. The actual size per message is determined by calculate_serialized_size().

FastDDS 3.4.2 Bug: Documentation says to use 0 for unbounded types, but this causes a null pointer crash in TopicPayloadPoolProxy::reserve_history().

Destructor

~FastDdsHoloscanEntityTypeSupport

holoscan::FastDdsHoloscanEntityTypeSupport::~FastDdsHoloscanEntityTypeSupport() override = defaultholoscan::FastDdsHoloscanEntityTypeSupport::~FastDdsHoloscanEntityTypeSupport() override = default

Destructor.


Assignment operators

operator=

Move assign
Copy assign (deleted)
FastDdsHoloscanEntityTypeSupport & holoscan::FastDdsHoloscanEntityTypeSupport::operator=(FastDdsHoloscanEntityTypeSupport & holoscan::FastDdsHoloscanEntityTypeSupport::operator=(
FastDdsHoloscanEntityTypeSupport &&
) = default

Methods

serialize

bool holoscan::FastDdsHoloscanEntityTypeSupport::serialize(
const void *data,
eprosima::fastdds::rtps::SerializedPayload_t &payload,
eprosima::fastdds::dds::DataRepresentationId_t data_representation
) override

Serialize HoloscanEntityData to CDR format.

Returns: true on success, false on failure

Parameters

data
const void *

Pointer to HoloscanEntityData to serialize

payload
eprosima::fastdds::rtps::SerializedPayload_t &

Output serialized payload

data_representation
eprosima::fastdds::dds::DataRepresentationId_t

Data representation (CDR encoding)

deserialize

bool holoscan::FastDdsHoloscanEntityTypeSupport::deserialize(
eprosima::fastdds::rtps::SerializedPayload_t &payload,
void *data
) override

Deserialize CDR format to HoloscanEntityData.

Returns: true on success, false on failure

Parameters

payload
eprosima::fastdds::rtps::SerializedPayload_t &

Input serialized payload

data
void *

Pointer to HoloscanEntityData to populate

calculate_serialized_size

uint32_t holoscan::FastDdsHoloscanEntityTypeSupport::calculate_serialized_size(
const void *data,
eprosima::fastdds::dds::DataRepresentationId_t data_representation
) override

Get the serialized size of a HoloscanEntityData instance.

Returns: Size in bytes when serialized

Parameters

data
const void *

Pointer to HoloscanEntityData

data_representation
eprosima::fastdds::dds::DataRepresentationId_t

Data representation (CDR encoding)

create_data

void * holoscan::FastDdsHoloscanEntityTypeSupport::create_data() override

Create a new HoloscanEntityData instance.

Returns: Pointer to newly allocated HoloscanEntityData

delete_data

void holoscan::FastDdsHoloscanEntityTypeSupport::delete_data(
void *data
) override

Delete a HoloscanEntityData instance.

Parameters

data
void *

Pointer to HoloscanEntityData to delete

compute_key

Check if this type has a key
Single item
bool holoscan::FastDdsHoloscanEntityTypeSupport::compute_key(
eprosima::fastdds::rtps::SerializedPayload_t &payload,
eprosima::fastdds::rtps::InstanceHandle_t &handle,
bool force_md5
) override

Check if this type has a key.

HoloscanEntityData does not use keyed topics.

Returns: false (no key defined)

is_bounded

bool holoscan::FastDdsHoloscanEntityTypeSupport::is_bounded() const override

Check if this type is bounded.

Returns: false (variable-size type with serialized_data vector)

is_plain

bool holoscan::FastDdsHoloscanEntityTypeSupport::is_plain(
eprosima::fastdds::dds::DataRepresentationId_t
) const override

Check if this type is plain (all members have fixed size and no optional).

Returns: false (contains variable-size vector and string)