MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / decode_versioned_sync_frame

Function decode_versioned_sync_frame

nodedb-cluster/src/sync_frame_versioned.rs:36–43  ·  view source on GitHub ↗

Decode a versioned-envelope-wrapped [`SyncFrame`]. Requires a v2 versioned envelope; rejects bytes without the envelope marker and envelopes with unsupported future version numbers.

(data: &[u8])

Source from the content-addressed store, hash-verified

34/// Requires a v2 versioned envelope; rejects bytes without the envelope marker
35/// and envelopes with unsupported future version numbers.
36pub fn decode_versioned_sync_frame(data: &[u8]) -> Result<SyncFrame> {
37 let inner = unwrap_bytes_versioned(data).map_err(|e| ClusterError::Codec {
38 detail: format!("SyncFrame versioned decode: {e}"),
39 })?;
40 SyncFrame::from_bytes(inner).ok_or_else(|| ClusterError::Codec {
41 detail: "SyncFrame::from_bytes failed: malformed or truncated frame".to_string(),
42 })
43}
44
45#[cfg(test)]
46mod tests {

Callers 1

Calls 2

unwrap_bytes_versionedFunction · 0.85
to_stringMethod · 0.80

Tested by 1