use crate::checksum::Checksum;
use byteorder::WriteBytesExt;
pub const TRAILER_MAGIC: &[u8] = b"SFA!";
pub struct TrailerWriter;
impl TrailerWriter {
pub fn write_into<W: std::io::Write>(
mut writer: W,
toc_checksum: Checksum,
toc_pos: u64,
toc_len: u64,
) -> crate::Result<()> {
use byteorder::LE;
log::trace!("Writing trailer");
writer.write_all(TRAILER_MAGIC)?;
writer.write_u8(0x1)?; writer.write_u8(0x0)?; writer.write_u128::<LE>(toc_checksum.into_u128())?;
writer.write_u64::<LE>(toc_pos)?;
writer.write_u64::<LE>(toc_len)?;
Ok(())
}
}