worterbuch_codec/
lib.rs

1mod decode;
2mod encode;
3pub mod error;
4pub mod nonblocking;
5mod types;
6
7pub use decode::*;
8pub use encode::*;
9use error::{EncodeError, EncodeResult};
10pub use types::*;
11
12pub(crate) fn prepend_buffer_length(buf: Vec<u8>) -> EncodeResult<Vec<u8>> {
13    let len = buf.len();
14
15    if len > MessageLength::MAX as usize {
16        return Err(EncodeError::MessageTooLarge(len as u64));
17    }
18
19    let mut len_buf = (len as MessageLength).to_be_bytes().to_vec();
20    len_buf.extend(buf);
21
22    Ok(len_buf)
23}