Trait PagedObjectStore
Source pub trait PagedObjectStore {
// Required methods
fn create_object(&self, id: ObjID) -> Result<()>;
fn delete_object(&self, id: ObjID) -> Result<()>;
fn len(&self, id: ObjID) -> Result<u64>;
fn read_object(
&self,
id: ObjID,
offset: u64,
buf: &mut [u8],
) -> Result<usize>;
fn write_object(&self, id: ObjID, offset: u64, buf: &[u8]) -> Result<()>;
fn page_in_object<'a>(
&self,
id: ObjID,
reqs: &'a mut [PageRequest],
) -> Result<usize>;
fn page_out_object<'a>(
&self,
id: ObjID,
reqs: &'a mut [PageRequest],
) -> Result<usize>;
// Provided methods
fn get_config_id(&self) -> Result<ObjID> { ... }
fn set_config_id(&self, id: ObjID) -> Result<()> { ... }
fn flush(&self) -> Result<()> { ... }
fn enumerate_external(&self, _id: ObjID) -> Result<Vec<ExternalFile>> { ... }
fn find_external(&self, _id: ObjID) -> Result<usize> { ... }
}