pub struct IndexSnapshot {
pub entries: HashMap<u64, VectorEntry>,
pub seq: u64,
}Expand description
An immutable snapshot of the current index state.
Internally stored as a map from vector ID to VectorEntry for O(1) lookups.
Fields§
§entries: HashMap<u64, VectorEntry>All entries in this snapshot, keyed by vector ID
seq: u64Sequence number associated with this snapshot
Implementations§
Source§impl IndexSnapshot
impl IndexSnapshot
Sourcepub fn from_entries(entries: Vec<VectorEntry>, seq: u64) -> Self
pub fn from_entries(entries: Vec<VectorEntry>, seq: u64) -> Self
Create a snapshot with the given entries and sequence number.
Sourcepub fn upsert(&mut self, entry: VectorEntry)
pub fn upsert(&mut self, entry: VectorEntry)
Insert or update an entry.
Sourcepub fn remove(&mut self, id: u64) -> bool
pub fn remove(&mut self, id: u64) -> bool
Remove an entry by ID. Returns true if the entry was present.
Sourcepub fn get(&self, id: u64) -> Option<&VectorEntry>
pub fn get(&self, id: u64) -> Option<&VectorEntry>
Return the entry for the given ID, if present.
Trait Implementations§
Source§impl Clone for IndexSnapshot
impl Clone for IndexSnapshot
Source§fn clone(&self) -> IndexSnapshot
fn clone(&self) -> IndexSnapshot
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IndexSnapshot
impl Debug for IndexSnapshot
Source§impl Default for IndexSnapshot
impl Default for IndexSnapshot
Source§fn default() -> IndexSnapshot
fn default() -> IndexSnapshot
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for IndexSnapshot
impl<'de> Deserialize<'de> for IndexSnapshot
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for IndexSnapshot
impl RefUnwindSafe for IndexSnapshot
impl Send for IndexSnapshot
impl Sync for IndexSnapshot
impl Unpin for IndexSnapshot
impl UnsafeUnpin for IndexSnapshot
impl UnwindSafe for IndexSnapshot
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.