holoscan::FastDdsNativeBufferAdapter
holoscan::FastDdsNativeBufferAdapter
holoscan::FastDdsNativeBufferAdapter
Fast-DDS native-buffer adapter: thin wrapper that creates ipc::Context<FastDdsTransport>.
Inherits from: holoscan::HoloIpcCudaNativeBufferAdapterBase< ipc::transport::fastdds::FastDdsTransport > (public)
Initialize with the DomainParticipant from FastDdsPubSubContext.
The participant is retained indirectly through the holoipc Fast-DDS transport and must outlive this adapter (including its shutdown). When policy is NativeBufferPolicy::kDisabled, participant is ignored and may be null.
This method is idempotent: repeated calls after a successful initialization are no-ops that log a warning and return success, keeping the original policy and context.
NativeBufferProtocolAdapter interface: converts NativeTensorMetadata to CudaTensorDescriptor and delegates to the CudaTensorDescriptor overload.
NativeBufferProtocolAdapter interface: delegates to import_tensor() and converts the NativeBufferHolder into a generic ImportedNativeTensor.
Decode a DNBX payload and acquire the CUDA IPC mapping via holoipc.
In strict mode (default): sends ACQUIRED, waits for ACK, then opens handle. In eager mode: opens handle locally first, then sends ACQUIRED (no ACK wait). Returns an RAII NativeBufferHolder whose destruction sends RELEASED.
Called by derived-class initialize() after creating the ipc::Context.
Parse DNBX wire format back into ExportedTensorDescriptor.
Wire layout: magic | version | handle_type | ipc_version | hipc_blob | key | reply_topic