hdbconnect_impl/protocol/
util_sync.rs1use crate::{HdbResult, impl_err};
2
3pub(crate) fn parse_bytes(len: usize, rdr: &mut dyn std::io::Read) -> HdbResult<Vec<u8>> {
5 let mut buf: Vec<u8> = vec![0; len];
6 rdr.read_exact(&mut buf)?;
7 Ok(buf)
8}
9
10pub(crate) fn skip_bytes(n: usize, rdr: &mut dyn std::io::Read) -> HdbResult<()> {
11 const MAXBUFLEN: usize = 16;
12 if n > MAXBUFLEN {
13 Err(impl_err!("n > MAXBUFLEN (16)"))
14 } else {
15 let mut buffer = [0_u8; MAXBUFLEN];
16 Ok(rdr.read_exact(&mut buffer[0..n])?)
17 }
18}