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

Function encode_i64

nodedb-codec/src/pcodec.rs:91–103  ·  view source on GitHub ↗

Compress i64 values using Pcodec.

(values: &[i64])

Source from the content-addressed store, hash-verified

89
90/// Compress i64 values using Pcodec.
91pub fn encode_i64(values: &[i64]) -> Result<Vec<u8>, CodecError> {
92 let count = values.len() as u32;
93 let compressed = pco::standalone::simple_compress(values, &pco::ChunkConfig::default())
94 .map_err(|e| CodecError::CompressFailed {
95 detail: format!("pcodec i64: {e}"),
96 })?;
97
98 let mut out = Vec::with_capacity(5 + compressed.len());
99 out.push(TAG_I64);
100 out.extend_from_slice(&count.to_le_bytes());
101 out.extend_from_slice(&compressed);
102 Ok(out)
103}
104
105/// Decompress Pcodec i64 data.
106pub fn decode_i64(data: &[u8]) -> Result<Vec<i64>, CodecError> {

Callers 11

encode_i64_pipelineFunction · 0.85
i64_emptyFunction · 0.85
i64_roundtripFunction · 0.85
i64_compression_ratioFunction · 0.85
parse_score_argFunction · 0.85
i64_roundtripFunction · 0.85
i64_orderingFunction · 0.85
composite_key_asc_scoreFunction · 0.85
on_put_updates_indexFunction · 0.85

Calls 2

lenMethod · 0.45
pushMethod · 0.45

Tested by 8

i64_emptyFunction · 0.68
i64_roundtripFunction · 0.68
i64_compression_ratioFunction · 0.68
i64_roundtripFunction · 0.68
i64_orderingFunction · 0.68
composite_key_asc_scoreFunction · 0.68
on_put_updates_indexFunction · 0.68