Struct GraphNode

Source
pub struct GraphNode<Id: TransactionId> {
    pub edges: Vec<Id>,
    /* private fields */
}
Expand description

A single node in a priority graph that is associated with a Transaction. When a node reaches the main queue, the top-level prioritization function can use a reference to this node to calculate a modified priority for the node, which is only used for prioritization for the main queue.

Fields§

§edges: Vec<Id>

Unique edges from this node. The number of edges is the same as the number of forks.

Implementations§

Source§

impl<Id: TransactionId> GraphNode<Id>

Source

pub fn try_add_edge(&mut self, id: Id) -> bool

Returns true if the edge was added successfully. Edges are only added if the edge is unique. Because we always add edges as we insert, the edge is unique if the id does not match the last element in the edges vector.

Auto Trait Implementations§

§

impl<Id> Freeze for GraphNode<Id>

§

impl<Id> RefUnwindSafe for GraphNode<Id>
where Id: RefUnwindSafe,

§

impl<Id> Send for GraphNode<Id>
where Id: Send,

§

impl<Id> Sync for GraphNode<Id>
where Id: Sync,

§

impl<Id> Unpin for GraphNode<Id>
where Id: Unpin,

§

impl<Id> UnwindSafe for GraphNode<Id>
where Id: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.