pub trait BucketItemSerializer {
type InputElementType<'a>: ?Sized;
type ExtraData;
type ReadBuffer;
type ExtraDataBuffer;
type ReadType<'a>;
// Required methods
fn new() -> Self;
fn reset(&mut self);
fn write_to(
&mut self,
element: &Self::InputElementType<'_>,
bucket: &mut Vec<u8>,
extra_data: &Self::ExtraData,
extra_read_buffer: &Self::ExtraDataBuffer
);
fn read_from<'a, S: Read>(
&mut self,
stream: S,
read_buffer: &'a mut Self::ReadBuffer,
extra_read_buffer: &mut Self::ExtraDataBuffer
) -> Option<Self::ReadType<'a>>;
fn get_size(
&self,
element: &Self::InputElementType<'_>,
extra: &Self::ExtraData
) -> usize;
}Required Associated Types§
type InputElementType<'a>: ?Sized
type ExtraData
type ReadBuffer
type ExtraDataBuffer
type ReadType<'a>
Required Methods§
fn write_to( &mut self, element: &Self::InputElementType<'_>, bucket: &mut Vec<u8>, extra_data: &Self::ExtraData, extra_read_buffer: &Self::ExtraDataBuffer )
fn read_from<'a, S: Read>( &mut self, stream: S, read_buffer: &'a mut Self::ReadBuffer, extra_read_buffer: &mut Self::ExtraDataBuffer ) -> Option<Self::ReadType<'a>>
fn get_size( &self, element: &Self::InputElementType<'_>, extra: &Self::ExtraData ) -> usize
Object Safety§
This trait is not object safe.