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.