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§
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
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.