pub struct PreparedFlatSegments {
pub segments: BTreeSet<FlatSegment>,
}Expand description
These segments can be used directly in the build process of the IdDag.
They produced by IdMap::assign_head and IdDag::all_flat_segments.
Fields§
§segments: BTreeSet<FlatSegment>New flat segments.
Implementations§
Source§impl PreparedFlatSegments
impl PreparedFlatSegments
pub fn vertex_count(&self) -> u64
pub fn segment_count(&self) -> usize
Sourcepub fn parents_head_and_roots(&self) -> BTreeSet<Id>
pub fn parents_head_and_roots(&self) -> BTreeSet<Id>
Return set of all (unique) parents + head + roots of flat segments.
Used by the pull fast path to provide necessary “anchor” vertexes (“universally known”, and ones needed by the client to make decisions) in the IdMap.
Might return some extra Ids that are not part of parents, heads, or
roots. They are useful for the client to verify the graph is the same
as the server.
The size of the returned Ids is about O(segments).
Trait Implementations§
Source§impl Clone for PreparedFlatSegments
impl Clone for PreparedFlatSegments
Source§fn clone(&self) -> PreparedFlatSegments
fn clone(&self) -> PreparedFlatSegments
Returns a copy 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 PreparedFlatSegments
impl Debug for PreparedFlatSegments
Source§impl Default for PreparedFlatSegments
impl Default for PreparedFlatSegments
Source§fn default() -> PreparedFlatSegments
fn default() -> PreparedFlatSegments
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for PreparedFlatSegments
impl<'de> Deserialize<'de> for PreparedFlatSegments
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PreparedFlatSegments, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PreparedFlatSegments, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for PreparedFlatSegments
impl PartialEq for PreparedFlatSegments
Source§impl Serialize for PreparedFlatSegments
impl Serialize for PreparedFlatSegments
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for PreparedFlatSegments
impl StructuralPartialEq for PreparedFlatSegments
Auto Trait Implementations§
impl Freeze for PreparedFlatSegments
impl RefUnwindSafe for PreparedFlatSegments
impl Send for PreparedFlatSegments
impl Sync for PreparedFlatSegments
impl Unpin for PreparedFlatSegments
impl UnwindSafe for PreparedFlatSegments
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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 more