pub trait ClientDatabaseStorageBackend:
Debug
+ Send
+ Sync
+ 'static {
// Required methods
fn num_pages(&self) -> u32;
fn read(
&self,
buffer: Vec<AlignedPage>,
length: u32,
offset: u32,
) -> Receiver<Result<Vec<AlignedPage>>>;
fn write(
&self,
buffer: Vec<AlignedPage>,
offset: u32,
) -> Receiver<Result<Vec<AlignedPage>>>;
}Expand description
Storage backend to be used by ClientDatabase
Required Methods§
Sourcefn read(
&self,
buffer: Vec<AlignedPage>,
length: u32,
offset: u32,
) -> Receiver<Result<Vec<AlignedPage>>>
fn read( &self, buffer: Vec<AlignedPage>, length: u32, offset: u32, ) -> Receiver<Result<Vec<AlignedPage>>>
Reading into aligned memory.
length is the number of AlignedPage units (pages) to read into (append to)
buffer. offset is in pages too.
Sourcefn write(
&self,
buffer: Vec<AlignedPage>,
offset: u32,
) -> Receiver<Result<Vec<AlignedPage>>>
fn write( &self, buffer: Vec<AlignedPage>, offset: u32, ) -> Receiver<Result<Vec<AlignedPage>>>
Writing from aligned memory.
offset is in AlignedPage units (pages). After successful writing returns allocated
pages back to the caller.