use core::fmt;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(u8)]
pub enum CommandType {
Read = 0,
ReadModifyWrite = 1,
}
pub type RawStringFn = fn(&[&[u8]]) -> Vec<u8>;
pub type CustomNeedInitialFn = fn(&[&[u8]], &mut Vec<u8>) -> bool;
pub type CustomUpdaterFn = fn(&mut Vec<u8>, &[&[u8]], &mut Vec<u8>) -> bool;
pub type CustomReaderFn = fn(&[u8], &[&[u8]], &mut Vec<u8>) -> bool;
pub type CustomNotFoundFn = fn(&[&[u8]], &mut Vec<u8>);
pub type CustomIsEmptyFn = fn(&[u8]) -> bool;
#[derive(Clone, Copy)]
pub struct CustomObjectFns {
pub need_initial_update: CustomNeedInitialFn,
pub updater: CustomUpdaterFn,
pub reader: CustomReaderFn,
pub not_found: CustomNotFoundFn,
pub is_empty: CustomIsEmptyFn,
}
impl fmt::Debug for CustomObjectFns {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str("CustomObjectFns")
}
}