Skip to main content

nodedb_cluster/metadata_group/
codec.rs

1//! Serialize / deserialize helpers for [`MetadataEntry`].
2//!
3//! All entries flow through `zerompk` (MessagePack) for a stable,
4//! versioned wire format.
5
6use crate::error::ClusterError;
7use crate::metadata_group::entry::MetadataEntry;
8
9pub fn encode_entry(entry: &MetadataEntry) -> Result<Vec<u8>, ClusterError> {
10    zerompk::to_msgpack_vec(entry).map_err(|e| ClusterError::Codec {
11        detail: format!("metadata encode: {e}"),
12    })
13}
14
15pub fn decode_entry(data: &[u8]) -> Result<MetadataEntry, ClusterError> {
16    zerompk::from_msgpack(data).map_err(|e| ClusterError::Codec {
17        detail: format!("metadata decode: {e}"),
18    })
19}