anni_common/
encode.rs

1use byteorder::{BigEndian, LittleEndian, WriteBytesExt};
2use std::io::{Result, Write};
3
4pub fn btoken_w<W: Write>(writer: &mut W, tag: &[u8]) -> Result<()> {
5    writer.write_all(tag)
6}
7
8#[inline]
9pub fn u32_le_w<W: Write>(writer: &mut W, n: u32) -> Result<()> {
10    writer.write_u32::<LittleEndian>(n)?;
11    Ok(())
12}
13
14#[inline]
15pub fn u32_be_w<W: Write>(writer: &mut W, n: u32) -> Result<()> {
16    writer.write_u32::<BigEndian>(n)?;
17    Ok(())
18}
19
20#[inline]
21pub fn u24_le_w<W: Write>(writer: &mut W, n: u32) -> Result<()> {
22    writer.write_u24::<LittleEndian>(n)?;
23    Ok(())
24}
25
26#[inline]
27pub fn u24_be_w<W: Write>(writer: &mut W, n: u32) -> Result<()> {
28    writer.write_u24::<BigEndian>(n)?;
29    Ok(())
30}
31
32#[inline]
33pub fn u16_le_w<W: Write>(writer: &mut W, n: u16) -> Result<()> {
34    writer.write_u16::<LittleEndian>(n)?;
35    Ok(())
36}
37
38#[inline]
39pub fn u16_be_w<W: Write>(writer: &mut W, n: u16) -> Result<()> {
40    writer.write_u16::<BigEndian>(n)?;
41    Ok(())
42}