pub struct BlockObjectStore { /* private fields */ }Expand description
Durable object store backed by leased block storage.
Objects are appended sequentially starting after the superblock. An in-memory index maps URIs to their block locations. The index is checkpointed to reserved blocks at the end of the device.
Deleted objects are tombstoned in the index but their blocks are not reclaimed (append-only).
Implementations§
Trait Implementations§
Source§impl ObjectStore for BlockObjectStore
impl ObjectStore for BlockObjectStore
Source§fn put(
&mut self,
uri: &FabricUri,
data: &[u8],
opts: Option<PutOptions>,
) -> Result<()>
fn put( &mut self, uri: &FabricUri, data: &[u8], opts: Option<PutOptions>, ) -> Result<()>
Store an object at the given URI. Read more
Source§fn get(&self, uri: &FabricUri) -> Result<Option<ObjectData>>
fn get(&self, uri: &FabricUri) -> Result<Option<ObjectData>>
Retrieve an object by URI. Read more
Source§fn head(&self, uri: &FabricUri) -> Result<Option<ObjectInfo>>
fn head(&self, uri: &FabricUri) -> Result<Option<ObjectInfo>>
Retrieve object metadata without reading the data.
Auto Trait Implementations§
impl Freeze for BlockObjectStore
impl !RefUnwindSafe for BlockObjectStore
impl !Send for BlockObjectStore
impl !Sync for BlockObjectStore
impl Unpin for BlockObjectStore
impl !UnwindSafe for BlockObjectStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more