|
VLink
2.0.0
A high-performance communication middleware
|
函数 | |
| struct | VLINK_EXPORT_AND_ALIGNED (8) AudioFrame final |
| constexpr uint32_t | version_major (uint32_t version) noexcept |
| Extracts the major component from an encoded zero-copy wire version. 更多... | |
变量 | |
| constexpr uint32_t | kWireVersion |
| Encoded VLink library version stamped into every zero-copy wire envelope. 更多... | |
|
inlineconstexprnoexcept |
Extracts the major component from an encoded zero-copy wire version.
| version | Encoded version as produced by kWireVersion. |
version / 1000000.
|
final |
Encoded sample format of the audio payload.
< Uninitialised / unspecified format.
< Signed 16-bit linear PCM.
< Signed 24-bit linear PCM packed into 3 bytes.
< Signed 32-bit linear PCM.
< IEEE-754 single-precision linear PCM.
< Unsigned 8-bit linear PCM.
< Opus codec payload.
< AAC codec payload.
< MP3 codec payload.
< FLAC codec payload.
Arrangement of multi-channel samples within the payload buffer.
< Uninitialised / unspecified layout.
< Channels interleaved per-sample (L R L R ...).
< Channels stored in consecutive contiguous planes.
Default-constructs an empty frame and asserts the 128-byte contract.
Frees the owned audio buffer when is_owner() is true.
Deep-copies target into a freshly allocated frame.
| target | Source frame to clone. |
Steals target's allocation and metadata; target ends empty.
| target | Source frame moved from. |
Deep-copy-assigns target; self-assignment is a no-op.
| target | Source frame to clone. |
*this.Move-assigns target; self-assignment is a no-op.
| target | Source frame moved from. |
*this.Deserialises an AudioFrame from bytes with zero-copy borrowing semantics.
| bytes | Wire buffer previously produced by operator>>. |
true on success; false on magic mismatch or size mismatch.Serialises the struct snapshot plus audio bytes into bytes.
| bytes | Output buffer; resized automatically when too small. |
true.Validates that bytes carries a well-formed AudioFrame envelope.
| bytes | Wire buffer to inspect. |
true when the magic sentinels match and the minimum length holds.Total bytes that operator>> would write for this frame.
sizeof(magic_begin) + sizeof(version) + sizeof(AudioFrame) + size() + sizeof(magic_end).Whether the audio buffer pointer is non-null and its size is positive.
true when the frame holds usable audio data.Borrows target's audio buffer without copying.
| target | Source frame whose buffer must outlive *this. |
false on self-borrow, otherwise true.Allocates (or reuses) an owned buffer and copies target's audio.
| target | Source frame to clone. |
false on self-copy, otherwise true.Transfers ownership from target; target ends empty.
| target | Source frame moved from. |
false on self-move, otherwise true.Allocates an uninitialised owned audio buffer of size bytes.
| size | Byte count; must be non-zero. |
false when size is zero, otherwise true.Releases the owned buffer (if any) and resets metadata except reserved fields.
Borrows an externally owned audio buffer without copying.
| data | Non-null source pointer that must outlive *this. |
| size | Buffer length in bytes; must be non-zero. |
false on invalid arguments or unchanged pointer, otherwise true.Copies size bytes from data into an owned buffer.
| data | Non-null source pointer. |
| size | Number of bytes to copy; must be non-zero. |
false on invalid arguments or aliasing, otherwise true.Compatibility alias for deep_copy(uint8_t*, size_t).
| data | Source pointer. |
| size | Number of bytes. |
deep_copy call.Capture-side timestamp in nanoseconds.
Advertised frame duration in nanoseconds.
Codec hint string (e.g. "PCM", "OPUS").
Language tag used by speech-to-text consumers (e.g. "en", "zh").
Microphone / sensor channel identifier.
Nominal publish frequency in Hz.
PCM sample rate in Hz (e.g. 48 000).
Number of samples per channel within the buffer.
Compressed bitrate in bits per second (zero for uncompressed PCM).
Channel count (1 = mono, 2 = stereo, ...).
Bit depth per PCM sample (16, 24, 32, ...).
Encoded sample format tag.
Format enum value.Multi-channel layout tag.
Layout enum value.Read-only pointer to the audio bytes.
Audio buffer size in bytes.
Whether this frame owns its audio buffer.
true when the destructor would free the buffer.Stores the capture-side timestamp.
| update_time_ns | Timestamp in nanoseconds. |
Stores the advertised frame duration.
| duration_ns | Duration in nanoseconds. |
Stores the codec hint, truncated to sizeof(codec) - 1 bytes.
| codec | Codec label. |
Stores the language tag, truncated to sizeof(language) - 1 bytes.
| language | Language identifier. |
Stores the microphone / sensor channel identifier.
| channel | Channel id. |
Stores the nominal publish frequency.
| freq | Frequency in Hz. |
Stores the PCM sample rate.
| sample_rate | Sample rate in Hz. |
Stores the number of samples per channel.
| num_samples | Sample count. |
Stores the compressed bitrate.
| bitrate | Bitrate in bits per second. |
Stores the channel count.
| num_channels | Channel count. |
Stores the PCM bit depth.
| bit_depth | Bit depth. |
Stores the sample format tag.
| format | Format enum value. |
Stores the channel layout tag.
| layout | Layout enum value. |
Mutable accessor for the first wire-locked reserved field (uint8_t).
reserved_buf_.Mutable accessor for the second wire-locked reserved field (uint32_t).
reserved_buf2_.< Sequencing and timestamp metadata prefix.
< Marker probed by the VLink type-trait machinery.
Pixel / codec encoding of the image payload.
< Uninitialised / unspecified format.
< Planar YUV 4:2:0 (I420).
< Planar YUV 4:2:2.
< Planar YUV 4:4:4.
< Semi-planar Y + interleaved UV (4:2:0).
< Semi-planar Y + interleaved VU (4:2:0).
< Packed YUYV 4:2:2.
< Packed YVYU 4:2:2.
< Packed UYVY 4:2:2.
< Packed VYUY 4:2:2.
< Packed 24-bit BGR (3 bytes per pixel).
< Packed 24-bit RGB (3 bytes per pixel).
< Planar 24-bit RGB (separate R, G, B planes).
< JPEG bitstream.
< H.264 / AVC frame.
< H.265 / HEVC frame.
Stream-frame type for compressed video payloads.
< Uninitialised / unspecified frame type.
< Intra-coded key frame.
< Predicted frame referencing earlier frames.
< Bi-directionally predicted frame.
Default-constructs an empty frame and asserts the 80-byte contract.
Frees the owned pixel buffer when is_owner() is true.
Deep-copies target into a freshly allocated frame.
| target | Source frame to clone. |
Steals target's allocation and metadata; target ends empty.
| target | Source frame moved from. |
Deep-copy-assigns target; self-assignment is a no-op.
| target | Source frame to clone. |
*this.Move-assigns target; self-assignment is a no-op.
| target | Source frame moved from. |
*this.Deserialises a CameraFrame from bytes with zero-copy borrowing semantics.
Validates the magic-number envelope and total length, then borrows the pixel pointer from bytes. Callers must keep bytes alive for as long as this CameraFrame is in use.
| bytes | Wire buffer previously produced by operator>>. |
true on success; false on magic mismatch or size mismatch.Serialises the struct snapshot plus pixel bytes into bytes.
| bytes | Output buffer; resized automatically when its size differs from the serialized size. |
true.Validates that bytes carries a well-formed CameraFrame envelope.
| bytes | Wire buffer to inspect. |
true when both magic sentinels match and the minimum size holds.Total bytes that operator>> would write for this frame.
sizeof(magic_begin) + sizeof(version) + sizeof(CameraFrame) + size() + sizeof(magic_end).Whether the pixel buffer pointer is non-null and its size is positive.
true when the frame holds usable pixel data.Borrows target's pixel buffer without copying.
| target | Source frame whose buffer must outlive *this. |
false on self-borrow, otherwise true.Allocates (or reuses) an owned buffer and copies target's pixels.
| target | Source frame to clone. |
false on self-copy, otherwise true.Transfers ownership from target; target ends empty.
| target | Source frame moved from. |
false on self-move, otherwise true.Allocates an uninitialised owned pixel buffer of size bytes.
| size | Byte count; must be non-zero. |
false when size is zero, otherwise true.Releases the owned buffer (if any) and resets metadata except reserved fields.
Borrows an externally owned pixel buffer without copying.
| data | Non-null source pointer that must outlive *this. |
| size | Buffer length in bytes; must be non-zero. |
false on invalid arguments or unchanged pointer, otherwise true.Copies size bytes from data into an owned buffer.
| data | Non-null source pointer. |
| size | Number of bytes to copy; must be non-zero. |
false on invalid arguments or aliasing, otherwise true.Compatibility alias for deep_copy(uint8_t*, size_t).
| data | Source pointer. |
| size | Number of bytes. |
deep_copy call.Camera channel / sensor index.
Image width in pixels.
Image height in pixels.
Capture frequency in frames per second.
Pixel / codec encoding tag.
Format enum value.Video stream-frame type tag.
Stream enum value.Read-only pointer to the pixel bytes.
size() == 0 for empty deserialised frames.Pixel buffer size in bytes.
Whether this frame owns its pixel buffer.
true when the destructor would free the buffer.Stores the camera channel / sensor index.
| channel | Channel id. |
Stores the image width in pixels.
| width | Pixel width. |
Stores the image height in pixels.
| height | Pixel height. |
Stores the capture frequency.
| freq | Capture rate in Hz. |
Stores the pixel / codec encoding tag.
| format | Format enum value. |
Stores the video stream-frame type tag.
| stream | Stream enum value. |
Mutable accessor for the 32-bit reserved slot in the wire format.
reserved_buf_.< Sequencing and timestamp metadata prefix.
< Marker probed by the VLink type-trait machinery.
< Coordinate-frame / sensor identifier; not necessarily NUL-terminated.
< Monotonically increasing per-publisher sequence; wraps at UINT32_MAX.
< Reserved bytes; part of the wire contract, must not be repurposed.
< Capture / acquisition timestamp in nanoseconds since the UNIX epoch.
< Dispatch / publish timestamp in nanoseconds since the UNIX epoch.
Default constructor that asserts the 40-byte sizeof contract.
The static_assert inside the constructor body guarantees that any accidental field reordering or padding change breaks the build instead of silently corrupting the wire format.
Returns a bounded view over frame_id so consumers cannot read past the buffer.
frame_id may be filled to its full 16-byte capacity without a terminator, so this helper uses strnlen to compute the view length safely.
frame_id.Per-cell storage type tag (drives cell_size()).
< Uninitialised / unspecified cell type.
< Signed 8-bit cell (ROS nav_msgs/OccupancyGrid style).
< Unsigned 8-bit cell (0..255 costmap / grayscale).
< Unsigned 16-bit cell (high-resolution costmap).
< IEEE-754 single-precision cell (log-odds, probability, SDF).
Default-constructs an empty grid and asserts the 152-byte contract.
Frees the owned cell buffer when is_owner() is true.
Deep-copies target into a freshly allocated grid.
| target | Source grid to clone. |
Steals target's allocation and metadata; target ends empty.
| target | Source grid moved from. |
Deep-copy-assigns target; self-assignment is a no-op.
| target | Source grid to clone. |
*this.Move-assigns target; self-assignment is a no-op.
| target | Source grid moved from. |
*this.Deserialises an OccupancyGrid from bytes with zero-copy borrowing semantics.
| bytes | Wire buffer previously produced by operator>>. |
true on success; false on magic mismatch or size mismatch.Serialises the struct snapshot plus cell bytes into bytes.
| bytes | Output buffer; resized automatically when its size differs from the serialized size. |
true.Validates that bytes carries a well-formed OccupancyGrid envelope.
| bytes | Wire buffer to inspect. |
true when both magic sentinels match and the minimum size holds.Total bytes that operator>> would write for this grid.
sizeof(magic_begin) + sizeof(version) + sizeof(OccupancyGrid) + size() + sizeof(magic_end).Whether the cell buffer pointer is non-null and the byte size is positive.
true when the grid holds usable cell data.Borrows target's cell buffer without copying.
| target | Source grid whose buffer must outlive *this. |
false on self-borrow, otherwise true.Allocates (or reuses) an owned buffer and copies target's cells.
| target | Source grid to clone. |
false on self-copy, otherwise true.Transfers ownership from target; target ends empty.
| target | Source grid moved from. |
false on self-move, otherwise true.Allocates an uninitialised owned cell buffer of size bytes.
The caller is responsible for keeping size consistent with width() * height() * cell_size().
| size | Byte count; must be non-zero. |
false when size is zero, otherwise true.Releases the owned buffer (if any) and resets metadata except reserved fields.
Borrows an externally owned cell buffer without copying.
| data | Non-null source pointer that must outlive *this. |
| size | Buffer length in bytes; must be non-zero. |
false on invalid arguments or unchanged pointer, otherwise true.Copies size bytes from data into an owned cell buffer.
| data | Non-null source pointer. |
| size | Number of bytes to copy; must be non-zero. |
false on invalid arguments or aliasing, otherwise true.Compatibility alias for deep_copy(uint8_t*, size_t).
| data | Source pointer. |
| size | Number of bytes. |
deep_copy call.Producer-side timestamp recording when the map was last updated.
Unique map identifier (e.g. "local", "global", "lane").
Sensor / producer channel identifier.
Nominal publish frequency in Hz.
Grid width in cells (columns).
Grid height in cells (rows).
Number of cells whose value differs from default_value() (producer-supplied hint).
Cell side length in metres.
World-frame X coordinate of the bottom-left grid corner.
World-frame Y coordinate of the bottom-left grid corner.
World-frame Z coordinate of the 2-D plane.
Yaw rotation of the grid origin in radians (REP-103).
Lower bound of cell values used for normalisation / visualisation.
Upper bound of cell values used for normalisation / visualisation.
Value used for unknown / uninitialised cells.
Threshold above which a cell is considered occupied.
Threshold below which a cell is considered free.
Per-cell storage type tag.
CellType enum value.Byte size of one cell derived from cell_type().
kCellUnknown).Read-only pointer to the cell bytes.
Cell buffer size in bytes.
Whether this grid owns its cell buffer.
true when the destructor would free the buffer.Stores the producer-side map timestamp.
| update_time_ns | Timestamp in nanoseconds. |
Stores the unique map identifier (truncated to sizeof(map_id) - 1 bytes).
| map_id | Identifier string. |
Stores the sensor / producer channel identifier.
| channel | Channel id. |
Stores the nominal publish frequency.
| freq | Frequency in Hz. |
Stores the grid width.
| width | Number of columns. |
Stores the grid height.
| height | Number of rows. |
Stores the count of cells differing from the default value.
| valid_cell_count | Producer-supplied hint. |
Stores the cell resolution.
| resolution | Metres per cell. |
Stores the world-frame X origin.
| origin_x | World X coordinate of the bottom-left corner. |
Stores the world-frame Y origin.
| origin_y | World Y coordinate of the bottom-left corner. |
Stores the world-frame Z value of the 2-D plane.
| origin_z | World Z coordinate of the plane. |
Stores the yaw rotation of the grid origin.
| origin_yaw | Rotation in radians (REP-103). |
Stores the lower bound for cell values.
| value_min | Stored minimum. |
Stores the upper bound for cell values.
| value_max | Stored maximum. |
Stores the value used for unknown cells.
| default_value | Default cell value. |
Stores the occupied threshold.
| occupied_threshold | Stored threshold. |
Stores the free threshold.
| free_threshold | Stored threshold. |
Stores the per-cell storage type tag.
| cell_type | CellType enum value. |
Returns the byte size of one cell of type.
| type | Cell type tag. |
kCellUnknown).Mutable accessor for the first wire-locked reserved field (uint16_t).
reserved_buf_.Mutable accessor for the second wire-locked reserved field (uint32_t).
reserved_buf2_.Mutable accessor for the third wire-locked reserved field (uint32_t).
reserved_buf3_.< Sequencing and timestamp metadata prefix.
< Marker probed by the VLink type-trait machinery.
Default-constructs an empty envelope and asserts the 80-byte contract.
Frees the owned tail buffer when is_owner() is true.
Deep-copies target into a freshly allocated envelope.
| target | Source envelope to clone. |
Steals target's allocation and metadata; target ends empty.
| target | Source envelope moved from. |
Deep-copy-assigns target; self-assignment is a no-op.
| target | Source envelope to clone. |
*this.Move-assigns target; self-assignment is a no-op.
| target | Source envelope moved from. |
*this.Deserialises an envelope from bytes with zero-copy borrowing semantics.
| bytes | Wire buffer previously produced by operator>>. |
true on success; false on magic mismatch or region inconsistency.Serialises the struct snapshot plus tail buffer into bytes.
| bytes | Output buffer; reallocated automatically when undersized. |
true.Proxy control identifier set by set_control_id().
Proxy operation mode set by set_mode().
Microsecond-resolution timestamp set by set_timestamp().
Sequence number set by set_seq().
Coarse schema family tag set by set_schema().
SchemaType value.Shallow Bytes view of the raw payload region (no copy).
Bytes pointing into the internal tail buffer; lifetime tracks *this.View of the URL region within the internal tail buffer.
View of the serialisation-type region within the internal tail buffer.
View of the optional source hostname region.
Stores the proxy control identifier.
| control_id | Identifier value. |
Stores the proxy operation mode.
| mode | Mode value. |
Stores the microsecond-resolution timestamp.
| timestamp | Timestamp value. |
Stores the message sequence number.
| seq | Sequence number. |
Stores the coarse schema family tag.
| schema | Numeric SchemaType value. |
Validates that bytes carries a well-formed ProxyData envelope.
| bytes | Wire buffer to inspect. |
true on magic match and minimum-size check.Total bytes that operator>> writes for this envelope.
sizeof(magic_begin) + sizeof(version) + sizeof(ProxyData) + size() + sizeof(magic_end).Validates that internal region positions and sizes are consistent.
Confirms the four sub-regions are contiguous, sum to size(), and the data pointer is non-null. Useful after operator<< when forwarding untrusted input.
true when the layout is internally consistent.Borrows target's tail buffer without copying.
| target | Source envelope; its backing buffer must outlive *this. |
false on self-borrow, otherwise true.Allocates (or reuses) an owned buffer and clones target's payload.
| target | Source envelope to clone. |
false on self-copy, otherwise true.Transfers ownership from target; target ends empty.
| target | Source envelope moved from. |
false on self-move, otherwise true.Builds the envelope by packing all four regions into a single allocation.
Allocates raw.size() + url.size() + ser.size() + hostname.size() bytes and copies each region in order. If any region (or the total) would exceed UINT32_MAX the envelope is cleared. Callers passing dynamic input must verify success via is_valid() or size().
| raw | Raw payload bytes. |
| url | Topic URL string. |
| ser | Serialisation type label. |
| schema | Optional coarse schema family tag. |
| hostname | Optional source hostname. |
Frees the owned buffer (if any) and zeroes every field.
Total size of the variable-length tail buffer.
Whether this envelope currently owns its tail buffer.
true when the destructor would free the buffer.Mutable accessor for the first wire-locked reserved field (uint8_t).
reserved_buf_.Mutable accessor for the second wire-locked reserved field (uint16_t).
reserved_buf2_.< Marker probed by the VLink type-trait machinery.
Default-constructs an empty container and verifies the sizeof contract.
Releases the owned buffer when is_owner() is true.
Deep-copies the payload of target into a freshly allocated owned buffer.
| target | Source container to clone. |
Steals target's ownership and metadata; target is left empty.
| target | Source container moved from. |
Deep-copy-assigns from target; self-assignment is a no-op.
| target | Source container to clone. |
*this.Move-assigns target's resources into *this; self-assignment is a no-op.
| target | Source container moved from. |
*this.Deserialises a RawData from bytes using zero-copy borrowing semantics.
Validates the magic-number envelope and total length, then borrows the payload pointer from bytes. The caller must keep bytes alive for as long as this RawData is used.
| bytes | Wire buffer previously produced by operator>>. |
true on success; false on magic mismatch or size mismatch.Serialises the struct snapshot plus payload into bytes.
| bytes | Output buffer; resized automatically when its size differs from the serialized size. |
true.Validates that bytes carries a well-formed RawData envelope.
| bytes | Buffer to inspect. |
true when the magic sentinels match and the minimum length holds.Total bytes that operator>> would write for this container.
sizeof(magic_begin) + sizeof(version) + sizeof(RawData) + size() + sizeof(magic_end).Whether the payload pointer is non-null and the byte size is positive.
true when the container holds usable data.Borrows target's payload pointer without copying.
| target | Source container whose buffer must outlive *this. |
false on self-borrow, otherwise true.Allocates (or reuses) an owned buffer and copies target's payload.
| target | Source container to clone. |
false on self-copy, otherwise true.Transfers ownership from target; target becomes empty.
| target | Source container moved from. |
false on self-move, otherwise true.Allocates an uninitialised owned buffer of size bytes.
| size | Byte count; must be non-zero. |
false when size is zero, otherwise true.Releases the owned buffer (if any) and zeroes the Header.
Borrows an externally owned raw byte buffer without copying.
| data | Non-null source pointer that must outlive *this. |
| size | Buffer length in bytes; must be non-zero. |
false on invalid arguments or unchanged pointer, otherwise true.Copies size bytes from data into an owned buffer (allocating as needed).
| data | Non-null source pointer. |
| size | Number of bytes to copy; must be non-zero. |
false on invalid arguments or aliasing, otherwise true.Compatibility alias for deep_copy(uint8_t*, size_t).
| data | Source pointer. |
| size | Number of bytes. |
deep_copy call.Mutable accessor for the 16-bit user-reserved field carried in the wire format.
reserved_buf_.Read-only pointer to the payload bytes.
size() == 0 for empty deserialised frames.Payload size in bytes (0 when empty).
Whether this container currently owns its buffer.
true when the destructor would free the buffer.< Sequencing and timestamp metadata prefix.
< Marker probed by the VLink type-trait machinery.
Maximum number of dimensions a single Tensor may carry.
Scalar element type tag (drives element_size()).
< Uninitialised / unspecified element type.
< bool (1 byte).
< int8_t (1 byte).
< uint8_t (1 byte).
< int16_t (2 bytes).
< uint16_t (2 bytes).
< int32_t (4 bytes).
< uint32_t (4 bytes).
< int64_t (8 bytes).
< uint64_t (8 bytes).
< IEEE-754 half precision (2 bytes).
< Brain float (2 bytes).
< IEEE-754 single precision (4 bytes).
< IEEE-754 double precision (8 bytes).
Device hint indicating where the data buffer physically lives.
< Host / CPU memory.
< Discrete or integrated GPU memory.
< Neural processing unit (e.g. automotive NPU).
< Digital signal processor.
Default-constructs an empty tensor and asserts the 248-byte contract.
Frees the owned data buffer when is_owner() is true.
Deep-copies target into a freshly allocated tensor.
| target | Source tensor to clone. |
Steals target's allocation and metadata; target ends empty.
| target | Source tensor moved from. |
Deep-copy-assigns target; self-assignment is a no-op.
| target | Source tensor to clone. |
*this.Move-assigns target; self-assignment is a no-op.
| target | Source tensor moved from. |
*this.Deserialises a Tensor from bytes with zero-copy borrowing semantics.
Two fields are sanitised after the struct snapshot is restored: rank_ is clamped to kMaxRank, and element_size_ is re-derived from dtype_ to stay consistent regardless of producer-side mistakes.
| bytes | Wire buffer previously produced by operator>>. |
true on success.Serialises the struct snapshot plus element bytes into bytes.
| bytes | Output buffer; resized automatically when its size differs from the serialized size. |
true.Validates that bytes carries a well-formed Tensor envelope.
| bytes | Wire buffer to inspect. |
true when both magic sentinels match and the minimum size holds.Total bytes that operator>> would write for this tensor.
sizeof(magic_begin) + sizeof(version) + sizeof(Tensor) + size() + sizeof(magic_end).Whether the data buffer pointer is non-null and the byte size is positive.
true when the tensor holds usable data.Borrows target's data buffer without copying.
| target | Source tensor whose buffer must outlive *this. |
false on self-borrow, otherwise true.Allocates (or reuses) an owned buffer and copies target's elements.
| target | Source tensor to clone. |
false on self-copy, otherwise true.Transfers ownership from target; target ends empty.
| target | Source tensor moved from. |
false on self-move, otherwise true.Allocates an uninitialised owned data buffer of size bytes.
The caller is responsible for keeping size consistent with num_elements() * element_size().
| size | Byte count; must be non-zero. |
false when size is zero, otherwise true.Releases the owned buffer (if any) and resets metadata except reserved fields.
Borrows an externally owned data buffer without copying.
| data | Non-null source pointer that must outlive *this. |
| size | Buffer length in bytes; must be non-zero. |
false on invalid arguments or unchanged pointer, otherwise true.Copies size bytes from data into an owned buffer.
| data | Non-null source pointer. |
| size | Number of bytes to copy; must be non-zero. |
false on invalid arguments or aliasing, otherwise true.Compatibility alias for deep_copy(uint8_t*, size_t).
| data | Source pointer. |
| size | Number of bytes. |
deep_copy call.Producer-side tensor timestamp in nanoseconds.
Cached total element count (product of shape() dimensions).
Tensor name (e.g. "image", "hidden_state").
Source model identifier.
Layout label (e.g. "NCHW", "NHWC", "BLC").
Read-only pointer to the kMaxRank-sized shape array.
nullptr.Shape value at dimension dim, or 0 if dim is out of range.
| dim | Dimension index. |
Read-only pointer to the kMaxRank-sized stride array (in elements, not bytes).
nullptr.Stride value at dimension dim, or 0 if dim is out of range.
| dim | Dimension index. |
Sensor / producer / output-port channel identifier.
Nominal publish frequency in Hz.
Cached batch size (typically shape_at(0)).
INT8 quantisation scale (0 when unused).
INT8 quantisation zero point (0 when unused).
Scalar element type tag.
DataType enum value.Actual tensor rank in the range 1..kMaxRank.
Device hint indicating where the data buffer lives.
Device enum value.Cached byte size of one element derived from dtype().
Read-only pointer to the element bytes.
Element buffer size in bytes.
Whether this tensor owns its data buffer.
true when the destructor would free the buffer.Stores the tensor timestamp.
| update_time_ns | Timestamp in nanoseconds. |
Stores the tensor name (truncated to sizeof(name) - 1 bytes).
| name | Tensor name. |
Stores the source model identifier (truncated to sizeof(model_id) - 1 bytes).
| model_id | Model identifier. |
Stores the layout label (truncated to sizeof(layout) - 1 bytes).
| layout | Layout descriptor. |
Stores the full shape array and recomputes row-major strides plus num_elements.
rank is clamped to kMaxRank. Strides are derived assuming a contiguous row-major layout (last dimension changes fastest). batch_size is cached from shape[0] when rank > 0.
| shape | Pointer to a shape array of length rank. |
| rank | Number of valid dimensions. |
Stores a single shape entry without recomputing strides.
| dim | Dimension index. |
| value | Shape value. |
Stores a single stride entry.
| dim | Dimension index. |
| value | Stride value (in elements, not bytes). |
Stores the sensor / producer / output-port channel identifier.
| channel | Channel id. |
Stores the nominal publish frequency.
| freq | Frequency in Hz. |
Stores the cached batch size.
| batch_size | Stored value. |
Stores the INT8 quantisation scale.
| quant_scale | Stored value. |
Stores the INT8 quantisation zero point.
| quant_zero_point | Stored value. |
Stores the scalar element type tag and caches the derived element size.
| dtype | DataType enum value. |
Stores the device hint.
| device | Device enum value. |
Returns the byte size of one element of dtype.
| dtype | Element type tag. |
kDataUnknown).Mutable accessor for the first wire-locked reserved field (uint8_t).
reserved_buf_.Mutable accessor for the second wire-locked reserved field (uint16_t).
reserved_buf2_.Mutable accessor for the third wire-locked reserved field (uint32_t).
reserved_buf3_.< Sequencing and timestamp metadata prefix.
< Marker probed by the VLink type-trait machinery.
Pixel / codec encoding of the image payload.
< Uninitialised / unspecified format.
< Planar YUV 4:2:0 (I420).
< Planar YUV 4:2:2.
< Planar YUV 4:4:4.
< Semi-planar Y + interleaved UV (4:2:0).
< Semi-planar Y + interleaved VU (4:2:0).
< Packed YUYV 4:2:2.
< Packed YVYU 4:2:2.
< Packed UYVY 4:2:2.
< Packed VYUY 4:2:2.
< Packed 24-bit BGR (3 bytes per pixel).
< Packed 24-bit RGB (3 bytes per pixel).
< Planar 24-bit RGB (separate R, G, B planes).
< JPEG bitstream.
< H.264 / AVC frame.
< H.265 / HEVC frame.
Stream-frame type for compressed video payloads.
< Uninitialised / unspecified frame type.
< Intra-coded key frame.
< Predicted frame referencing earlier frames.
< Bi-directionally predicted frame.
Default-constructs an empty frame and asserts the 80-byte contract.
Frees the owned pixel buffer when is_owner() is true.
Deep-copies target into a freshly allocated frame.
| target | Source frame to clone. |
Steals target's allocation and metadata; target ends empty.
| target | Source frame moved from. |
Deep-copy-assigns target; self-assignment is a no-op.
| target | Source frame to clone. |
*this.Move-assigns target; self-assignment is a no-op.
| target | Source frame moved from. |
*this.Deserialises a CameraFrame from bytes with zero-copy borrowing semantics.
Validates the magic-number envelope and total length, then borrows the pixel pointer from bytes. Callers must keep bytes alive for as long as this CameraFrame is in use.
| bytes | Wire buffer previously produced by operator>>. |
true on success; false on magic mismatch or size mismatch.Serialises the struct snapshot plus pixel bytes into bytes.
| bytes | Output buffer; resized automatically when its size differs from the serialized size. |
true.Validates that bytes carries a well-formed CameraFrame envelope.
| bytes | Wire buffer to inspect. |
true when both magic sentinels match and the minimum size holds.Total bytes that operator>> would write for this frame.
sizeof(magic_begin) + sizeof(version) + sizeof(CameraFrame) + size() + sizeof(magic_end).Whether the pixel buffer pointer is non-null and its size is positive.
true when the frame holds usable pixel data.Borrows target's pixel buffer without copying.
| target | Source frame whose buffer must outlive *this. |
false on self-borrow, otherwise true.Allocates (or reuses) an owned buffer and copies target's pixels.
| target | Source frame to clone. |
false on self-copy, otherwise true.Transfers ownership from target; target ends empty.
| target | Source frame moved from. |
false on self-move, otherwise true.Allocates an uninitialised owned pixel buffer of size bytes.
| size | Byte count; must be non-zero. |
false when size is zero, otherwise true.Releases the owned buffer (if any) and resets metadata except reserved fields.
Borrows an externally owned pixel buffer without copying.
| data | Non-null source pointer that must outlive *this. |
| size | Buffer length in bytes; must be non-zero. |
false on invalid arguments or unchanged pointer, otherwise true.Copies size bytes from data into an owned buffer.
| data | Non-null source pointer. |
| size | Number of bytes to copy; must be non-zero. |
false on invalid arguments or aliasing, otherwise true.Compatibility alias for deep_copy(uint8_t*, size_t).
| data | Source pointer. |
| size | Number of bytes. |
deep_copy call.Camera channel / sensor index.
Image width in pixels.
Image height in pixels.
Capture frequency in frames per second.
Pixel / codec encoding tag.
Format enum value.Video stream-frame type tag.
Stream enum value.Read-only pointer to the pixel bytes.
size() == 0 for empty deserialised frames.Pixel buffer size in bytes.
Whether this frame owns its pixel buffer.
true when the destructor would free the buffer.Stores the camera channel / sensor index.
| channel | Channel id. |
Stores the image width in pixels.
| width | Pixel width. |
Stores the image height in pixels.
| height | Pixel height. |
Stores the capture frequency.
| freq | Capture rate in Hz. |
Stores the pixel / codec encoding tag.
| format | Format enum value. |
Stores the video stream-frame type tag.
| stream | Stream enum value. |
Mutable accessor for the 32-bit reserved slot in the wire format.
reserved_buf_.< Sequencing and timestamp metadata prefix.
< Marker probed by the VLink type-trait machinery.
< Coordinate-frame / sensor identifier; not necessarily NUL-terminated.
< Monotonically increasing per-publisher sequence; wraps at UINT32_MAX.
< Reserved bytes; part of the wire contract, must not be repurposed.
< Capture / acquisition timestamp in nanoseconds since the UNIX epoch.
< Dispatch / publish timestamp in nanoseconds since the UNIX epoch.
Default constructor that asserts the 40-byte sizeof contract.
The static_assert inside the constructor body guarantees that any accidental field reordering or padding change breaks the build instead of silently corrupting the wire format.
Returns a bounded view over frame_id so consumers cannot read past the buffer.
frame_id may be filled to its full 16-byte capacity without a terminator, so this helper uses strnlen to compute the view length safely.
frame_id.Per-cell storage type tag (drives cell_size()).
< Uninitialised / unspecified cell type.
< Signed 8-bit cell (ROS nav_msgs/OccupancyGrid style).
< Unsigned 8-bit cell (0..255 costmap / grayscale).
< Unsigned 16-bit cell (high-resolution costmap).
< IEEE-754 single-precision cell (log-odds, probability, SDF).
Default-constructs an empty grid and asserts the 152-byte contract.
Frees the owned cell buffer when is_owner() is true.
Deep-copies target into a freshly allocated grid.
| target | Source grid to clone. |
Steals target's allocation and metadata; target ends empty.
| target | Source grid moved from. |
Deep-copy-assigns target; self-assignment is a no-op.
| target | Source grid to clone. |
*this.Move-assigns target; self-assignment is a no-op.
| target | Source grid moved from. |
*this.Deserialises an OccupancyGrid from bytes with zero-copy borrowing semantics.
| bytes | Wire buffer previously produced by operator>>. |
true on success; false on magic mismatch or size mismatch.Serialises the struct snapshot plus cell bytes into bytes.
| bytes | Output buffer; resized automatically when its size differs from the serialized size. |
true.Validates that bytes carries a well-formed OccupancyGrid envelope.
| bytes | Wire buffer to inspect. |
true when both magic sentinels match and the minimum size holds.Total bytes that operator>> would write for this grid.
sizeof(magic_begin) + sizeof(version) + sizeof(OccupancyGrid) + size() + sizeof(magic_end).Whether the cell buffer pointer is non-null and the byte size is positive.
true when the grid holds usable cell data.Borrows target's cell buffer without copying.
| target | Source grid whose buffer must outlive *this. |
false on self-borrow, otherwise true.Allocates (or reuses) an owned buffer and copies target's cells.
| target | Source grid to clone. |
false on self-copy, otherwise true.Transfers ownership from target; target ends empty.
| target | Source grid moved from. |
false on self-move, otherwise true.Allocates an uninitialised owned cell buffer of size bytes.
The caller is responsible for keeping size consistent with width() * height() * cell_size().
| size | Byte count; must be non-zero. |
false when size is zero, otherwise true.Releases the owned buffer (if any) and resets metadata except reserved fields.
Borrows an externally owned cell buffer without copying.
| data | Non-null source pointer that must outlive *this. |
| size | Buffer length in bytes; must be non-zero. |
false on invalid arguments or unchanged pointer, otherwise true.Copies size bytes from data into an owned cell buffer.
| data | Non-null source pointer. |
| size | Number of bytes to copy; must be non-zero. |
false on invalid arguments or aliasing, otherwise true.Compatibility alias for deep_copy(uint8_t*, size_t).
| data | Source pointer. |
| size | Number of bytes. |
deep_copy call.Producer-side timestamp recording when the map was last updated.
Unique map identifier (e.g. "local", "global", "lane").
Sensor / producer channel identifier.
Nominal publish frequency in Hz.
Grid width in cells (columns).
Grid height in cells (rows).
Number of cells whose value differs from default_value() (producer-supplied hint).
Cell side length in metres.
World-frame X coordinate of the bottom-left grid corner.
World-frame Y coordinate of the bottom-left grid corner.
World-frame Z coordinate of the 2-D plane.
Yaw rotation of the grid origin in radians (REP-103).
Lower bound of cell values used for normalisation / visualisation.
Upper bound of cell values used for normalisation / visualisation.
Value used for unknown / uninitialised cells.
Threshold above which a cell is considered occupied.
Threshold below which a cell is considered free.
Per-cell storage type tag.
CellType enum value.Byte size of one cell derived from cell_type().
kCellUnknown).Read-only pointer to the cell bytes.
Cell buffer size in bytes.
Whether this grid owns its cell buffer.
true when the destructor would free the buffer.Stores the producer-side map timestamp.
| update_time_ns | Timestamp in nanoseconds. |
Stores the unique map identifier (truncated to sizeof(map_id) - 1 bytes).
| map_id | Identifier string. |
Stores the sensor / producer channel identifier.
| channel | Channel id. |
Stores the nominal publish frequency.
| freq | Frequency in Hz. |
Stores the grid width.
| width | Number of columns. |
Stores the grid height.
| height | Number of rows. |
Stores the count of cells differing from the default value.
| valid_cell_count | Producer-supplied hint. |
Stores the cell resolution.
| resolution | Metres per cell. |
Stores the world-frame X origin.
| origin_x | World X coordinate of the bottom-left corner. |
Stores the world-frame Y origin.
| origin_y | World Y coordinate of the bottom-left corner. |
Stores the world-frame Z value of the 2-D plane.
| origin_z | World Z coordinate of the plane. |
Stores the yaw rotation of the grid origin.
| origin_yaw | Rotation in radians (REP-103). |
Stores the lower bound for cell values.
| value_min | Stored minimum. |
Stores the upper bound for cell values.
| value_max | Stored maximum. |
Stores the value used for unknown cells.
| default_value | Default cell value. |
Stores the occupied threshold.
| occupied_threshold | Stored threshold. |
Stores the free threshold.
| free_threshold | Stored threshold. |
Stores the per-cell storage type tag.
| cell_type | CellType enum value. |
Returns the byte size of one cell of type.
| type | Cell type tag. |
kCellUnknown).Mutable accessor for the first wire-locked reserved field (uint16_t).
reserved_buf_.Mutable accessor for the second wire-locked reserved field (uint32_t).
reserved_buf2_.Mutable accessor for the third wire-locked reserved field (uint32_t).
reserved_buf3_.< Sequencing and timestamp metadata prefix.
< Marker probed by the VLink type-trait machinery.
Default-constructs an empty envelope and asserts the 80-byte contract.
Frees the owned tail buffer when is_owner() is true.
Deep-copies target into a freshly allocated envelope.
| target | Source envelope to clone. |
Steals target's allocation and metadata; target ends empty.
| target | Source envelope moved from. |
Deep-copy-assigns target; self-assignment is a no-op.
| target | Source envelope to clone. |
*this.Move-assigns target; self-assignment is a no-op.
| target | Source envelope moved from. |
*this.Deserialises an envelope from bytes with zero-copy borrowing semantics.
| bytes | Wire buffer previously produced by operator>>. |
true on success; false on magic mismatch or region inconsistency.Serialises the struct snapshot plus tail buffer into bytes.
| bytes | Output buffer; reallocated automatically when undersized. |
true.Proxy control identifier set by set_control_id().
Proxy operation mode set by set_mode().
Microsecond-resolution timestamp set by set_timestamp().
Sequence number set by set_seq().
Coarse schema family tag set by set_schema().
SchemaType value.Shallow Bytes view of the raw payload region (no copy).
Bytes pointing into the internal tail buffer; lifetime tracks *this.View of the URL region within the internal tail buffer.
View of the serialisation-type region within the internal tail buffer.
View of the optional source hostname region.
Stores the proxy control identifier.
| control_id | Identifier value. |
Stores the proxy operation mode.
| mode | Mode value. |
Stores the microsecond-resolution timestamp.
| timestamp | Timestamp value. |
Stores the message sequence number.
| seq | Sequence number. |
Stores the coarse schema family tag.
| schema | Numeric SchemaType value. |
Validates that bytes carries a well-formed ProxyData envelope.
| bytes | Wire buffer to inspect. |
true on magic match and minimum-size check.Total bytes that operator>> writes for this envelope.
sizeof(magic_begin) + sizeof(version) + sizeof(ProxyData) + size() + sizeof(magic_end).Validates that internal region positions and sizes are consistent.
Confirms the four sub-regions are contiguous, sum to size(), and the data pointer is non-null. Useful after operator<< when forwarding untrusted input.
true when the layout is internally consistent.Borrows target's tail buffer without copying.
| target | Source envelope; its backing buffer must outlive *this. |
false on self-borrow, otherwise true.Allocates (or reuses) an owned buffer and clones target's payload.
| target | Source envelope to clone. |
false on self-copy, otherwise true.Transfers ownership from target; target ends empty.
| target | Source envelope moved from. |
false on self-move, otherwise true.Builds the envelope by packing all four regions into a single allocation.
Allocates raw.size() + url.size() + ser.size() + hostname.size() bytes and copies each region in order. If any region (or the total) would exceed UINT32_MAX the envelope is cleared. Callers passing dynamic input must verify success via is_valid() or size().
| raw | Raw payload bytes. |
| url | Topic URL string. |
| ser | Serialisation type label. |
| schema | Optional coarse schema family tag. |
| hostname | Optional source hostname. |
Frees the owned buffer (if any) and zeroes every field.
Total size of the variable-length tail buffer.
Whether this envelope currently owns its tail buffer.
true when the destructor would free the buffer.Mutable accessor for the first wire-locked reserved field (uint8_t).
reserved_buf_.Mutable accessor for the second wire-locked reserved field (uint16_t).
reserved_buf2_.< Marker probed by the VLink type-trait machinery.
Default-constructs an empty container and verifies the sizeof contract.
Releases the owned buffer when is_owner() is true.
Deep-copies the payload of target into a freshly allocated owned buffer.
| target | Source container to clone. |
Steals target's ownership and metadata; target is left empty.
| target | Source container moved from. |
Deep-copy-assigns from target; self-assignment is a no-op.
| target | Source container to clone. |
*this.Move-assigns target's resources into *this; self-assignment is a no-op.
| target | Source container moved from. |
*this.Deserialises a RawData from bytes using zero-copy borrowing semantics.
Validates the magic-number envelope and total length, then borrows the payload pointer from bytes. The caller must keep bytes alive for as long as this RawData is used.
| bytes | Wire buffer previously produced by operator>>. |
true on success; false on magic mismatch or size mismatch.Serialises the struct snapshot plus payload into bytes.
| bytes | Output buffer; resized automatically when its size differs from the serialized size. |
true.Validates that bytes carries a well-formed RawData envelope.
| bytes | Buffer to inspect. |
true when the magic sentinels match and the minimum length holds.Total bytes that operator>> would write for this container.
sizeof(magic_begin) + sizeof(version) + sizeof(RawData) + size() + sizeof(magic_end).Whether the payload pointer is non-null and the byte size is positive.
true when the container holds usable data.Borrows target's payload pointer without copying.
| target | Source container whose buffer must outlive *this. |
false on self-borrow, otherwise true.Allocates (or reuses) an owned buffer and copies target's payload.
| target | Source container to clone. |
false on self-copy, otherwise true.Transfers ownership from target; target becomes empty.
| target | Source container moved from. |
false on self-move, otherwise true.Allocates an uninitialised owned buffer of size bytes.
| size | Byte count; must be non-zero. |
false when size is zero, otherwise true.Releases the owned buffer (if any) and zeroes the Header.
Borrows an externally owned raw byte buffer without copying.
| data | Non-null source pointer that must outlive *this. |
| size | Buffer length in bytes; must be non-zero. |
false on invalid arguments or unchanged pointer, otherwise true.Copies size bytes from data into an owned buffer (allocating as needed).
| data | Non-null source pointer. |
| size | Number of bytes to copy; must be non-zero. |
false on invalid arguments or aliasing, otherwise true.Compatibility alias for deep_copy(uint8_t*, size_t).
| data | Source pointer. |
| size | Number of bytes. |
deep_copy call.Mutable accessor for the 16-bit user-reserved field carried in the wire format.
reserved_buf_.Read-only pointer to the payload bytes.
size() == 0 for empty deserialised frames.Payload size in bytes (0 when empty).
Whether this container currently owns its buffer.
true when the destructor would free the buffer.< Sequencing and timestamp metadata prefix.
< Marker probed by the VLink type-trait machinery.
Maximum number of dimensions a single Tensor may carry.
Scalar element type tag (drives element_size()).
< Uninitialised / unspecified element type.
< bool (1 byte).
< int8_t (1 byte).
< uint8_t (1 byte).
< int16_t (2 bytes).
< uint16_t (2 bytes).
< int32_t (4 bytes).
< uint32_t (4 bytes).
< int64_t (8 bytes).
< uint64_t (8 bytes).
< IEEE-754 half precision (2 bytes).
< Brain float (2 bytes).
< IEEE-754 single precision (4 bytes).
< IEEE-754 double precision (8 bytes).
Device hint indicating where the data buffer physically lives.
< Host / CPU memory.
< Discrete or integrated GPU memory.
< Neural processing unit (e.g. automotive NPU).
< Digital signal processor.
Default-constructs an empty tensor and asserts the 248-byte contract.
Frees the owned data buffer when is_owner() is true.
Deep-copies target into a freshly allocated tensor.
| target | Source tensor to clone. |
Steals target's allocation and metadata; target ends empty.
| target | Source tensor moved from. |
Deep-copy-assigns target; self-assignment is a no-op.
| target | Source tensor to clone. |
*this.Move-assigns target; self-assignment is a no-op.
| target | Source tensor moved from. |
*this.Deserialises a Tensor from bytes with zero-copy borrowing semantics.
Two fields are sanitised after the struct snapshot is restored: rank_ is clamped to kMaxRank, and element_size_ is re-derived from dtype_ to stay consistent regardless of producer-side mistakes.
| bytes | Wire buffer previously produced by operator>>. |
true on success.Serialises the struct snapshot plus element bytes into bytes.
| bytes | Output buffer; resized automatically when its size differs from the serialized size. |
true.Validates that bytes carries a well-formed Tensor envelope.
| bytes | Wire buffer to inspect. |
true when both magic sentinels match and the minimum size holds.Total bytes that operator>> would write for this tensor.
sizeof(magic_begin) + sizeof(version) + sizeof(Tensor) + size() + sizeof(magic_end).Whether the data buffer pointer is non-null and the byte size is positive.
true when the tensor holds usable data.Borrows target's data buffer without copying.
| target | Source tensor whose buffer must outlive *this. |
false on self-borrow, otherwise true.Allocates (or reuses) an owned buffer and copies target's elements.
| target | Source tensor to clone. |
false on self-copy, otherwise true.Transfers ownership from target; target ends empty.
| target | Source tensor moved from. |
false on self-move, otherwise true.Allocates an uninitialised owned data buffer of size bytes.
The caller is responsible for keeping size consistent with num_elements() * element_size().
| size | Byte count; must be non-zero. |
false when size is zero, otherwise true.Releases the owned buffer (if any) and resets metadata except reserved fields.
Borrows an externally owned data buffer without copying.
| data | Non-null source pointer that must outlive *this. |
| size | Buffer length in bytes; must be non-zero. |
false on invalid arguments or unchanged pointer, otherwise true.Copies size bytes from data into an owned buffer.
| data | Non-null source pointer. |
| size | Number of bytes to copy; must be non-zero. |
false on invalid arguments or aliasing, otherwise true.Compatibility alias for deep_copy(uint8_t*, size_t).
| data | Source pointer. |
| size | Number of bytes. |
deep_copy call.Producer-side tensor timestamp in nanoseconds.
Cached total element count (product of shape() dimensions).
Tensor name (e.g. "image", "hidden_state").
Source model identifier.
Layout label (e.g. "NCHW", "NHWC", "BLC").
Read-only pointer to the kMaxRank-sized shape array.
nullptr.Shape value at dimension dim, or 0 if dim is out of range.
| dim | Dimension index. |
Read-only pointer to the kMaxRank-sized stride array (in elements, not bytes).
nullptr.Stride value at dimension dim, or 0 if dim is out of range.
| dim | Dimension index. |
Sensor / producer / output-port channel identifier.
Nominal publish frequency in Hz.
Cached batch size (typically shape_at(0)).
INT8 quantisation scale (0 when unused).
INT8 quantisation zero point (0 when unused).
Scalar element type tag.
DataType enum value.Actual tensor rank in the range 1..kMaxRank.
Device hint indicating where the data buffer lives.
Device enum value.Cached byte size of one element derived from dtype().
Read-only pointer to the element bytes.
Element buffer size in bytes.
Whether this tensor owns its data buffer.
true when the destructor would free the buffer.Stores the tensor timestamp.
| update_time_ns | Timestamp in nanoseconds. |
Stores the tensor name (truncated to sizeof(name) - 1 bytes).
| name | Tensor name. |
Stores the source model identifier (truncated to sizeof(model_id) - 1 bytes).
| model_id | Model identifier. |
Stores the layout label (truncated to sizeof(layout) - 1 bytes).
| layout | Layout descriptor. |
Stores the full shape array and recomputes row-major strides plus num_elements.
rank is clamped to kMaxRank. Strides are derived assuming a contiguous row-major layout (last dimension changes fastest). batch_size is cached from shape[0] when rank > 0.
| shape | Pointer to a shape array of length rank. |
| rank | Number of valid dimensions. |
Stores a single shape entry without recomputing strides.
| dim | Dimension index. |
| value | Shape value. |
Stores a single stride entry.
| dim | Dimension index. |
| value | Stride value (in elements, not bytes). |
Stores the sensor / producer / output-port channel identifier.
| channel | Channel id. |
Stores the nominal publish frequency.
| freq | Frequency in Hz. |
Stores the cached batch size.
| batch_size | Stored value. |
Stores the INT8 quantisation scale.
| quant_scale | Stored value. |
Stores the INT8 quantisation zero point.
| quant_zero_point | Stored value. |
Stores the scalar element type tag and caches the derived element size.
| dtype | DataType enum value. |
Stores the device hint.
| device | Device enum value. |
Returns the byte size of one element of dtype.
| dtype | Element type tag. |
kDataUnknown).Mutable accessor for the first wire-locked reserved field (uint8_t).
reserved_buf_.Mutable accessor for the second wire-locked reserved field (uint16_t).
reserved_buf2_.Mutable accessor for the third wire-locked reserved field (uint32_t).
reserved_buf3_.< Sequencing and timestamp metadata prefix.
< Marker probed by the VLink type-trait machinery.
|
inlineconstexpr |
Encoded VLink library version stamped into every zero-copy wire envelope.
The library version triple is packed as decimal major*1000000 + minor*1000 + patch (each component in 0..100), e.g. version 2.10.8 encodes as the integer 2010008. Producers write this uint32_t immediately after the begin-magic sentinel; consumers reject any payload whose major component differs from the local kWireVersion (see version_major()). Minor and patch components are carried for diagnostics but are not gated.