#pragma once #include #include #include #include "cvmmap_streamer/ipc/contracts.hpp" namespace cvmmap_streamer::sim { constexpr std::size_t kSyncMessageBytes = 48; constexpr std::size_t kModuleStatusMessageBytes = 32; void write_frame_metadata( std::span metadata, const ipc::FrameInfo &info, std::uint32_t frame_count, std::uint64_t timestamp_ns); void write_sync_message( std::span out, std::string_view label, std::uint32_t frame_count, std::uint64_t timestamp_ns); void write_module_status_message( std::span out, std::string_view label, ipc::ModuleStatus status); void write_deterministic_payload( std::span out, std::uint32_t frame_count, std::uint16_t width, std::uint16_t height, std::uint8_t channels); }