> 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::AnnotatedDoubleBufferTransmitter

> AnnotatedDoubleBufferTransmitter class tracks every published message by attaching a MessageLabel that has a timestamp.

`AnnotatedDoubleBufferTransmitter` class tracks every published message by attaching a [MessageLabel](messagelabel) that has a timestamp.

[Application](application) authors are not expected to use this class directly. It will be automatically configured for output ports specified via [`Operator::setup`](gpuresidentoperator#setup) when data flow tracking is enabled.

\==Parameters==

See [DoubleBufferTransmitter](doublebuffertransmitter) for more details.

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

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

---

## Constructors

### AnnotatedDoubleBufferTransmitter \[#annotateddoublebuffertransmitter]

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

---

## Methods

### publish\_abi \[#publishabi]

```cpp showLineNumbers={false}
gxf_result_t holoscan::AnnotatedDoubleBufferTransmitter::publish_abi(
    gxf_uid_t uid
)
```

Override the DoubleBufferTransmitter::publish\_abi() function.

It adds a [MessageLabel](messagelabel) to the publish GXF Entity and finally calls the base class' publish\_abi() function. It gets the input message labels of every operator and then adds that consolidated message label to the published message.

For root operators, it also updates the number of published messages.

### op \[#op]

#### Overload 1

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

#### Overload 2

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

Set the associated operator for this `AnnotatedDoubleBufferTransmitter`.

It is set at the

**Parameters**

**`op`** `holoscan::Operator *`

The operator that this transmitter is attached to.

---

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

---

## Member variables

| Name  | Type                   | Description                                        |
| ----- | ---------------------- | -------------------------------------------------- |
| `op_` | `holoscan::Operator *` | The operator that this transmitter is attached to. |