pub struct ObjectReadSnapshot { /* private fields */ }Expand description
Read-only object access for one operation’s lifetime (RFC 111 §6.1). Takes one decoded index
snapshot at construction and never re-decodes – correct because a reader never writes, so it can
never observe its own write as missing the way a writer holding a stale snapshot could (RFC 111
Q3). A snapshot taken here may miss an object a concurrent writer appends after construction; that
is verify’s own already-documented point-in-time semantics, unchanged by this type (RFC 111 Q4).
Implementations§
Source§impl ObjectReadSnapshot
impl ObjectReadSnapshot
Sourcepub fn open(layout: &RepositoryLayout) -> Result<Self>
pub fn open(layout: &RepositoryLayout) -> Result<Self>
Open a read-only snapshot of layout’s object index, decoding it exactly once.
Sourcepub fn contains_object(&self, object_type: ObjectType, id: ObjectId) -> bool
pub fn contains_object(&self, object_type: ObjectType, id: ObjectId) -> bool
Return true if an object with this id and type is indexed, as of when this snapshot was taken.
Trait Implementations§
Source§impl ObjectReader for ObjectReadSnapshot
impl ObjectReader for ObjectReadSnapshot
Source§fn read_object(&self, id: ObjectId) -> Result<Option<ObjectEnvelope>>
fn read_object(&self, id: ObjectId) -> Result<Option<ObjectEnvelope>>
Read an object by ID.
Source§fn read_typed(
&self,
id: ObjectId,
object_type: ObjectType,
) -> Result<Option<ObjectEnvelope>>
fn read_typed( &self, id: ObjectId, object_type: ObjectType, ) -> Result<Option<ObjectEnvelope>>
Read and require a specific object type. Default-implemented in terms of
read_object alone
(RFC 111 §6.1: every implementor – FileObjectStore, ObjectReadSnapshot,
ObjectWriteSession, MemoryObjectStore – gets this for free, and any function generic over
impl ObjectReader can call it without depending on a concrete type). One body, not one per
implementor (Stage 1 review v1 §3): every concrete type’s own read_typed delegates here too.Auto Trait Implementations§
impl Freeze for ObjectReadSnapshot
impl RefUnwindSafe for ObjectReadSnapshot
impl Send for ObjectReadSnapshot
impl Sync for ObjectReadSnapshot
impl Unpin for ObjectReadSnapshot
impl UnsafeUnpin for ObjectReadSnapshot
impl UnwindSafe for ObjectReadSnapshot
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