What can I help you with?
NVIDIA Holoscan SDK v3.2.0

Class UcxReceiver

Base Type

class UcxReceiver : public holoscan::Receiver

UCX-based double buffer receiver class.

The UcxReceiver class is used to receive messages from an operator within another fragment of a distributed application. This is based on the same double-buffer queue as the DoubleBufferReceiver, but also handles serialization/deserialization of data for sending it over the network via UCX’s active message APIs.

Application authors are not expected to use this class directly. It will be automatically configured for input ports specified via Operator::setup when Application::add_flow has been used to make a connection across fragments of a distributed application.

==Parameters==

  • capacity (uint64_t, optional): The capacity of the double-buffer queue used by the receiver. Defaults to 1.

  • policy (uint64_t, optional): The policy to use when a message arrives, but there is no space in the receiver. The possible values are 0: pop, 1: reject, 2: fault (Default: 2).

  • address (std::string, optional): The (IPv4) address of the receiver. Default of “0.0.0.0” corresponds to INADDR_ANY.

  • port (uint32_t, optional): The receiver port (Default: holoscan::kDefaultUcxPort).

  • buffer (std::shared_ptr<holoscan::UcxSerializationBuffer>, optional): The serialization buffer that should be used. This defaults to UcxSerializationBuffer and should not need to be set by the application author.

Public Functions

template<typename ArgT, typename ...ArgsT, typename = std::enable_if_t<!std::is_base_of_v<::holoscan::Resource, std::decay_t<ArgT>> && (std::is_same_v<::holoscan::Arg, std::decay_t<ArgT>> || std::is_same_v<::holoscan::ArgList, std::decay_t<ArgT>>)>>
inline explicit UcxReceiver(ArgT &&arg, ArgsT&&... args)
UcxReceiver() = default
UcxReceiver(const std::string &name, nvidia::gxf::Receiver *component)
inline virtual const char *gxf_typename() const override
virtual void setup(ComponentSpec &spec) override

Define the resource specification.

Parameters

spec – The reference to the component specification.

virtual void initialize() override

Initialize the component.

This method is called only once when the component is created for the first time, and use of light-weight initialization.

std::string address()

The IPv4 network address used by the receiver.

uint32_t port()

The network port used by the receiver.

nvidia::gxf::UcxReceiver *get() const
void track()

Enable tracking in the underlying holoscan::HoloscanUcxReceiver class.

Public Members

Parameter<uint64_t> capacity_
Parameter<uint64_t> policy_

Previous Class UcxHoloscanComponentSerializer
Next Class UcxSerializationBuffer
© Copyright 2022-2025, NVIDIA. Last updated on May 29, 2025.