pub fn encode_sequence<'i, V>(
sequence: impl Iterator<Item = &'i V>,
buf: &mut [u8],
) -> Result<usize, EncodeError>Expand description
Encodes a sequence of values as varints and writes them to the buffer.
Returns the total number of bytes written to the buffer.
ยงExample
use varing::{Varint, encoded_sequence_len, encode_sequence, decode_sequence};
let values = (0..1024u64).collect::<Vec<_>>();
let encoded_len = encoded_sequence_len(values.iter());
let mut buf = vec![0; encoded_len];
let bytes_written = encode_sequence(values.iter(), &mut buf).unwrap();
assert_eq!(bytes_written, encoded_len);
let (readed, decoded) = decode_sequence::<u64, Vec<u64>>(&buf).unwrap();
assert_eq!(decoded, values);
assert_eq!(readed, buf.len());