pub struct VersionVector {
pub entries: HashMap<u32, SequenceNumber>,
}Fields§
§entries: HashMap<u32, SequenceNumber>Implementations§
Source§impl VersionVector
impl VersionVector
pub fn new() -> Self
pub fn update(&mut self, node_id: NodeId, seq: SequenceNumber)
pub fn get(&self, node_id: NodeId) -> SequenceNumber
Sourcepub fn find_gaps(&self, other: &VersionVector) -> Vec<(NodeId, SequenceNumber)>
pub fn find_gaps(&self, other: &VersionVector) -> Vec<(NodeId, SequenceNumber)>
Returns the first sequence number this VV needs from other, for each node where
other is ahead. The returned SequenceNumber is the inclusive start of the gap
(i.e. events_since(node, start) should return events with seq >= start).
Trait Implementations§
Source§impl Archive for VersionVector
impl Archive for VersionVector
Source§type Archived = ArchivedVersionVector
type Archived = ArchivedVersionVector
The archived representation of this type. Read more
Source§type Resolver = VersionVectorResolver
type Resolver = VersionVectorResolver
The resolver for this type. It must contain all the additional information from serializing
needed to make the archived type from the normal type.
Source§impl Clone for VersionVector
impl Clone for VersionVector
Source§fn clone(&self) -> VersionVector
fn clone(&self) -> VersionVector
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 VersionVector
impl Debug for VersionVector
Source§impl Default for VersionVector
impl Default for VersionVector
Source§fn default() -> VersionVector
fn default() -> VersionVector
Returns the “default value” for a type. Read more
Source§impl<__D: Fallible + ?Sized> Deserialize<VersionVector, __D> for Archived<VersionVector>where
HashMap<u32, SequenceNumber>: Archive,
Archived<HashMap<u32, SequenceNumber>>: Deserialize<HashMap<u32, SequenceNumber>, __D>,
impl<__D: Fallible + ?Sized> Deserialize<VersionVector, __D> for Archived<VersionVector>where
HashMap<u32, SequenceNumber>: Archive,
Archived<HashMap<u32, SequenceNumber>>: Deserialize<HashMap<u32, SequenceNumber>, __D>,
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<VersionVector, __D::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<VersionVector, __D::Error>
Deserializes using the given deserializer
impl Eq for VersionVector
Source§impl PartialEq for VersionVector
impl PartialEq for VersionVector
Source§fn eq(&self, other: &VersionVector) -> bool
fn eq(&self, other: &VersionVector) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for VersionVector
Auto Trait Implementations§
impl Freeze for VersionVector
impl RefUnwindSafe for VersionVector
impl Send for VersionVector
impl Sync for VersionVector
impl Unpin for VersionVector
impl UnsafeUnpin for VersionVector
impl UnwindSafe for VersionVector
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be unsized. Read moreSource§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
Source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.