pub trait Encoder {
// Required methods
fn write(&mut self, value: &IoTDBValue) -> Result<(), TsFileError>;
fn size(&mut self) -> u32;
fn get_max_byte_size(&self) -> u32;
fn serialize(&mut self, buffer: &mut Vec<u8>);
fn reset(&mut self);
}