Encode a [`SyncFrame`] and wrap its bytes in a v2 versioned envelope. The inner bytes are `SyncFrame::to_bytes()` output. The outer envelope lets the receiving peer detect and reject incompatible future versions rather than silently misinterpreting the frame.
(frame: &SyncFrame)
| 23 | /// lets the receiving peer detect and reject incompatible future versions |
| 24 | /// rather than silently misinterpreting the frame. |
| 25 | pub fn encode_versioned_sync_frame(frame: &SyncFrame) -> Result<Vec<u8>> { |
| 26 | let raw = frame.to_bytes(); |
| 27 | wrap_bytes_versioned(&raw).map_err(|e| ClusterError::Codec { |
| 28 | detail: format!("SyncFrame versioned encode: {e}"), |
| 29 | }) |
| 30 | } |
| 31 | |
| 32 | /// Decode a versioned-envelope-wrapped [`SyncFrame`]. |
| 33 | /// |