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

> Per-transmission context for COETransmitter (COECtxt).

Per-transmission context for [COETransmitter](../classes/coetransmitter) (`COECtxt`).

COE per-transmission context.

First member is the platform's [DataPlaneCtxt](dataplanectxt) extension ([LinuxDataPlaneCtxt](linuxdataplanectxt)), which itself first-members the common [DataPlaneCtxt](dataplanectxt). Standard-layout C++ guarantees that `&coe_ctxt == &coe_ctxt->``base`` == &coe_ctxt->base.base == DataPlaneCtxt*`, so a COECtxt\* can be passed everywhere a DataPlaneCtxt\* is expected (e.g. into the protected [DataPlane](../classes/dataplane) constructor) and DataPlane::data\_plane\_ctxt\_ correctly points at the embedded chain. Holds COE state that can change every frame sent.

Per-data-plane (hif) and per-sensor (vp) register slices are reachable via base.base.dp\_registers / base.base.dp\_sensor\_registers.

Holds COE state that can change every frame sent.

First-member chain `&coe_ctxt == &coe_ctxt->``base`` == &coe_ctxt->base.base == DataPlaneCtxt*` lets [COEDataPlane](../classes/coedataplane) hand it straight to the protected DataPlane(...) ctor. Add any target-specific COE transport state (socket fd, HAL handle, dest address, ...) after the shared fields.

```cpp showLineNumbers={false}
#include <hololink/emulation/HSBTemplate.hpp>
```

***

## Member variables

| Name              | Type                    | Description |
| ----------------- | ----------------------- | ----------- |
| `base`            | `LinuxDataPlaneCtxt`    |             |
| `frame_size`      | `uint32_t`              |             |
| `line_threshold`  | `uint32_t`              |             |
| `frame_number`    | `uint32_t`              |             |
| `psn`             | `uint32_t`              |             |
| `line_offset`     | `uint32_t`              |             |
| `address`         | `uint32_t`              |             |
| `metadata_offset` | `uint32_t`              |             |
| `payload_size`    | `uint16_t`              |             |
| `packet_offset`   | `uint16_t`              |             |
| `frame_metadata`  | `FrameMetadata`         |             |
| `packet`          | `uint8_t`               |             |
| `channel`         | `uint8_t`               |             |
| `in_use`          | `bool`                  |             |
| `enable_1722b`    | `bool`                  |             |
| `data_socket_fd`  | `int`                   |             |
| `dest_addr`       | `struct sockaddr_ll`    |             |
| `base`            | `STM32DataPlaneCtxt`    |             |
| `base`            | `TemplateDataPlaneCtxt` |             |
| `payload_size`    | `uint32_t`              |             |