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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".