|
VLink
2.0.0
A high-performance communication middleware
|
Routing envelope used by the VLink proxy / monitoring path. 更多...
命名空间 | |
| vlink | |
| vlink::zerocopy | |
函数 | |
| struct | vlink::zerocopy::VLINK_EXPORT_AND_ALIGNED (8) AudioFrame final |
Routing envelope used by the VLink proxy / monitoring path.
ProxyData bundles a serialised user payload with the metadata that the VLink proxy subsystem needs to forward the message across hosts: topic URL, serialisation type label, source hostname, plus control fields (control id, mode, microsecond timestamp, sequence number, coarse schema family). All variable-length regions share a single owned allocation so a freshly deserialised envelope can expose each region as a string_view or shallow Bytes without further allocation.
| Region | Meaning |
|---|---|
| raw | Serialised user message bytes |
| url | Topic URL (e.g. "dds://my/topic") |
| ser | Serialisation type label (e.g. "proto.MyMsg") |
| hostname | Source machine identifier (optional) |
ProxyData is POD; memcpy serialises the struct. The sizeof value is locked by static_assert and forms a permanent contract: the vlink::zerocopy::* containers have NO forward or backward binary compatibility across releases. Pointer / ownership fields inside the wire snapshot must NEVER be interpreted by remote consumers. is_owner_ are exposed as two explicit wire-locked fields: uint8_t reserved_buf_ (offset 77) and uint16_t reserved_buf2_ (offset 78), reachable through get_reserved() / get_reserved2(). They travel through the wire format and are carried by the copy / move helpers, but MUST NOT be repurposed by application code: future library revisions may bind them to real fields.