1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
use super::*; pub(crate) fn empty() -> &'static [u8] { &[] } pub(crate) fn reencode( old_prefix: &[u8], old_encoded_key: &IVec, new_prefix_length: usize, ) -> IVec { let new_encoded_key: Vec<u8> = old_prefix .iter() .chain(old_encoded_key.iter()) .skip(new_prefix_length) .copied() .collect(); IVec::from(new_encoded_key) } pub(crate) fn decode(old_prefix: &[u8], old_encoded_key: &[u8]) -> IVec { let mut decoded_key = Vec::with_capacity(old_prefix.len() + old_encoded_key.len()); decoded_key.extend_from_slice(old_prefix); decoded_key.extend_from_slice(old_encoded_key); IVec::from(decoded_key) }