> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/holoscan/sdk-user-guide/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/holoscan/sdk-user-guide/_mcp/server.

# holoscan::HoloscanUcxReceiver

> HoloscanUcxReceiver class optionally tracks every received message with a MessageLabel timestamp if data flow tracking is enabled.

`HoloscanUcxReceiver` class optionally tracks every received message with a [MessageLabel](messagelabel) timestamp if data flow tracking is enabled.

[Application](application) authors are not expected to use this class directly. It will be automatically configured for input ports specified via [`Operator::setup`](gpuresidentoperator#setup) when [`Application::add_flow`](application#addflow) has been used to make a connection across fragments of a distributed application and data flow tracking has been enabled.

\==Parameters==

See [UcxReceiver](ucxreceiver) for parameter descriptions.

```cpp showLineNumbers={false}
#include <holoscan/holoscan_ucx_receiver.hpp>
```

**Inherits from:** `nvidia::gxf::UcxReceiver` (public)

***

## Constructors

### HoloscanUcxReceiver \[#holoscanucxreceiver]

```cpp showLineNumbers={false}
holoscan::HoloscanUcxReceiver::HoloscanUcxReceiver() = default
```

***

## Methods

### receive\_abi \[#receiveabi]

```cpp showLineNumbers={false}
gxf_result_t holoscan::HoloscanUcxReceiver::receive_abi(
    gxf_uid_t *uid
)
```

This function overrides the UcxReceiver::receive\_abi() function.

It first calls the base class' receive\_abi() function and extracts the [MessageLabel](messagelabel) from the received message. It then adds a new [OperatorTimestampLabel](../structs/operatortimestamplabel) to the [MessageLabel](messagelabel) and updates the [Operator](operator)'s input message label.

### op \[#op]

```cpp showLineNumbers={false}
holoscan::Operator * holoscan::HoloscanUcxReceiver::op()
```

```cpp showLineNumbers={false}
void holoscan::HoloscanUcxReceiver::op(
    holoscan::Operator *op
)
```

Sets the associated operator for this `HoloscanUcxReceiver`.

It is set at the

**Parameters**

The operator that this receiver is attached to.

**See also:**
create\_input\_port() function.

### track \[#track]

```cpp showLineNumbers={false}
void holoscan::HoloscanUcxReceiver::track()
```

***

## Member variables

| Name        | Type                   | Description                                              |
| ----------- | ---------------------- | -------------------------------------------------------- |
| `op_`       | `holoscan::Operator *` | The operator that this receiver is attached to.          |
| `tracking_` | `bool`                 | Used to decide whether to use data flow tracking or not. |