pub fn read_i16<B: ByteSlice>(buf: B) -> Result<(i16, usize), Error>