avro_schema/write/
block.rs

1use std::io::Write;
2
3use crate::error::Error;
4
5use crate::file::CompressedBlock;
6
7use super::{encode::zigzag_encode, file::SYNC_NUMBER};
8
9/// Writes a [`CompressedBlock`] to `writer`
10pub fn write_block<W: Write>(writer: &mut W, block: &CompressedBlock) -> Result<(), Error> {
11    // write size and rows
12    zigzag_encode(block.number_of_rows as i64, writer)?;
13    zigzag_encode(block.data.len() as i64, writer)?;
14
15    writer.write_all(&block.data)?;
16
17    writer.write_all(&SYNC_NUMBER)?;
18
19    Ok(())
20}