#[non_exhaustive]pub struct VertexOptions {
pub reserve_size: u32,
pub desired_group: Group,
}Expand description
Options attached to a vertex. Usually the vertex is a head. The head and its ancestors are going to be inserted to the graph. The options controls some details about the insertion.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.reserve_size: u32How many ids to reserve for this vertex. Suppose this vertex has id n,
then n+1..=n+reserve_size can only be used when inserting this vertex
and its ancestors in the same batch.
Note: if any id j in the n+1..=n+reserve_size range were already
taken, then the reserve range becomes n+1..j instead. This avoids
fragmentation.
desired_group: GroupThe desired Group for this vertex. Note a vertex’s group can be
moved down (ex. NON_MASTER to MASTER) but not moved up
(ex. MASTER to NON_MASTER).
- If the vertex does not exist, it will be inserted into the
desired_group. - If the vertex is already in a lower group than
desired_group, the vertex will stay in that lower group unchanged. - If the vertex is in a higher group than
desired_group, the implementation (ex.add_heads_and_flush) might move the vertex (and its ancestors) to a lower group, or error out.
Trait Implementations§
Source§impl Clone for VertexOptions
impl Clone for VertexOptions
Source§fn clone(&self) -> VertexOptions
fn clone(&self) -> VertexOptions
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 VertexOptions
impl Debug for VertexOptions
Source§impl Default for VertexOptions
impl Default for VertexOptions
Source§impl<'de> Deserialize<'de> for VertexOptions
impl<'de> Deserialize<'de> for VertexOptions
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 VertexOptions
impl RefUnwindSafe for VertexOptions
impl Send for VertexOptions
impl Sync for VertexOptions
impl Unpin for VertexOptions
impl UnsafeUnpin for VertexOptions
impl UnwindSafe for VertexOptions
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 more