|
Vulcan
Aerospace Engineering Utilities Built on Janus
|
Binary frame serializer for Hermes real-time streaming. More...
#include <FrameSerializer.hpp>
Public Member Functions | |
| FrameSerializer (const TelemetrySchema &schema) | |
| Construct serializer for a schema. | |
| std::span< const std::byte > | serialize (const Frame &frame) |
| Serialize frame (time + dynamic signals) to binary. | |
| std::span< const std::byte > | serialize_statics (const Frame &frame) |
| Serialize static signals only (for schema handshake). | |
| void | deserialize (std::span< const std::byte > data, Frame &frame) |
| Deserialize binary to frame (time + dynamic signals). | |
| void | deserialize_statics (std::span< const std::byte > data, Frame &frame) |
| Deserialize static signals. | |
| size_t | dynamic_size_bytes () const |
| Get dynamic frame size in bytes (time + dynamic signals). | |
| size_t | static_size_bytes () const |
| Get static frame size in bytes. | |
| const TelemetrySchema & | schema () const |
| Get schema reference. | |
Binary frame serializer for Hermes real-time streaming.
Serializes Frame data to a compact binary format suitable for lock-free buffer transfer and UDP streaming. Dynamic signals are serialized for every frame; static signals are sent once during schema negotiation.
Binary format (little-endian):
Example:
|
inlineexplicit |
Construct serializer for a schema.
| schema | Telemetry schema (must outlive serializer) |
|
inline |
Deserialize binary to frame (time + dynamic signals).
| data | Binary data (from serialize()) |
| frame | Target frame to populate |
|
inline |
Deserialize static signals.
| data | Binary data (from serialize_statics()) |
| frame | Target frame to populate |
|
inline |
Get dynamic frame size in bytes (time + dynamic signals).
|
inline |
Get schema reference.
|
inline |
Serialize frame (time + dynamic signals) to binary.
Returns a span pointing to an internal buffer. The span is valid until the next call to serialize() or serialize_statics().
| frame | Source frame |
|
inline |
Serialize static signals only (for schema handshake).
| frame | Source frame |
|
inline |
Get static frame size in bytes.