Formatter

Trait Formatter 

Source
pub trait Formatter:
    Send
    + 'static
    + Copy {
    // Required methods
    fn row_header_size(&self) -> usize;
    fn net_row_size<K: AsRef<[u8]>, V: Deref<Target = [u8]>>(
        &self,
        row: &RowToWrite<K, V>,
    ) -> usize;
    fn encode_row<K: AsRef<[u8]>, V: Deref<Target = [u8]>>(
        &self,
        row: &RowToWrite<K, V>,
        output: &mut [u8],
    ) -> usize;
    fn decode_row_header(&self, bs: &[u8]) -> RowHeader;
    fn validate_key_value(&self, header: &RowHeader, kv: &[u8]) -> Result<()>;
    fn encode_row_hint(&self, hint: &RowHint, output: &mut [u8]) -> usize;
    fn row_hint_header_size(&self) -> usize;
    fn decode_row_hint_header(&self, header_bs: &[u8]) -> RowHintHeader;
    fn merge_meta_size(&self) -> usize;
    fn encode_merge_meta(&self, meta: &MergeMeta) -> Bytes;
    fn decode_merge_meta(&self, meta: Bytes) -> MergeMeta;
}

Required Methods§

Source

fn row_header_size(&self) -> usize

Source

fn net_row_size<K: AsRef<[u8]>, V: Deref<Target = [u8]>>( &self, row: &RowToWrite<K, V>, ) -> usize

Source

fn encode_row<K: AsRef<[u8]>, V: Deref<Target = [u8]>>( &self, row: &RowToWrite<K, V>, output: &mut [u8], ) -> usize

Source

fn decode_row_header(&self, bs: &[u8]) -> RowHeader

Source

fn validate_key_value(&self, header: &RowHeader, kv: &[u8]) -> Result<()>

Source

fn encode_row_hint(&self, hint: &RowHint, output: &mut [u8]) -> usize

Source

fn row_hint_header_size(&self) -> usize

Source

fn decode_row_hint_header(&self, header_bs: &[u8]) -> RowHintHeader

Source

fn merge_meta_size(&self) -> usize

Source

fn encode_merge_meta(&self, meta: &MergeMeta) -> Bytes

Source

fn decode_merge_meta(&self, meta: Bytes) -> MergeMeta

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§