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

# hololink::emulation::DataPlanePublicist

**Inherits from:** `hololink::emulation::DataPlane` (public)

***

## Methods

### update\_metadata \[#updatemetadata]

```cpp showLineNumbers={false}
void hololink::emulation::DataPlane::update_metadata()
```

method to update metadata model for the appropriate transmitter subclass can assume that appropriate locks are held while accessing memory registers and the transmitter metadata

### start \[#start]

```cpp showLineNumbers={false}
void hololink::emulation::DataPlanePublicist::start()
```

Start the [DataPlane](dataplane) by initiating the BootP broadcast.

### stop \[#stop]

```cpp showLineNumbers={false}
void hololink::emulation::DataPlanePublicist::stop()
```

Stop the [DataPlane](dataplane) by stopping the BootP broadcast.

### stop\_bootp \[#stopbootp]

```cpp showLineNumbers={false}
void hololink::emulation::DataPlanePublicist::stop_bootp()
```

This is a clear alias for stop().

### is\_running \[#isrunning]

```cpp showLineNumbers={false}
bool hololink::emulation::DataPlanePublicist::is_running()
```

Check if the [DataPlane](dataplane) is running.

(Bootp is broadcasting)

**Returns:** True if the [DataPlane](dataplane) is running, false otherwise.

### send \[#send]

#### Send a tensor over the \[DataPlane]\(dataplane)

```cpp showLineNumbers={false}
int64_t hololink::emulation::DataPlanePublicist::send(
    const DLTensor &tensor,
    FrameMetadata *frame_metadata = DEFAULT_FRAME_METADATA
)
```

Send a tensor over the [DataPlane](dataplane).

This method is synchronous. It will block and metadata will be protected by a mutex until the send is complete.

**Returns:** The number of bytes sent or \< 0 if error occurred.

**Parameters**

The tensor object reference to send. Supported device types are kDLCPU, kDLCUDA, kDLCUDAHost (host pinned), and kDLCUDAManaged (Unified Memory)

The frame metadata to send. Acts as a buffer flush. If nullptr, the data is by default buffered until the next send command that fills an MTU or a non-nullptr frame\_metadata is provided.

#### Send a buffer over the \[DataPlane]\(dataplane)

```cpp showLineNumbers={false}
int64_t hololink::emulation::DataPlanePublicist::send(
    const uint8_t *buffer,
    size_t buffer_size,
    FrameMetadata *frame_metadata = nullptr
)
```

Send a buffer over the [DataPlane](dataplane).

**Returns:** The number of bytes sent or \< 0 if error occurred.

**Parameters**

The buffer to send.

The size of the buffer.

The frame metadata to send. Acts as a buffer flush. If nullptr, the data is by default buffered until the next send command that fills an MTU or a non-nullptr frame\_metadata is provided.

### get\_sensor\_id \[#getsensorid]

```cpp showLineNumbers={false}
uint8_t hololink::emulation::DataPlanePublicist::get_sensor_id() const
```

Get the sensor ID associated with the [DataPlane](dataplane).

**Returns:** The sensor ID.

### packetizer\_enabled \[#packetizerenabled]

```cpp showLineNumbers={false}
bool hololink::emulation::DataPlanePublicist::packetizer_enabled() const
```

Check if the packetizer is enabled.

**Returns:** True if the packetizer is enabled, false otherwise.

### get\_start\_time \[#getstarttime]

```cpp showLineNumbers={false}
struct timespec hololink::emulation::DataPlanePublicist::get_start_time() const
```

### broadcast\_bootp \[#broadcastbootp]

```cpp showLineNumbers={false}
int hololink::emulation::DataPlanePublicist::broadcast_bootp()
```

***

## Member variables

| Name               | Type                                                                             | Description |
| ------------------ | -------------------------------------------------------------------------------- | ----------- |
| `registers_`       | `AddressMemory &`                                                                |             |
| `ip_address_`      | `IPAddress`                                                                      |             |
| `configuration_`   | `HSBConfiguration`                                                               |             |
| `sensor_id_`       | `uint8_t`                                                                        |             |
| `data_plane_id_`   | `uint8_t`                                                                        |             |
| `transmitter_`     | `BaseTransmitter *`                                                              |             |
| `data_plane_ctxt_` | `std::unique_ptr< struct DataPlaneCtxt, std::function< void(DataPlaneCtxt *)> >` |             |