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>
impl<Id: TransactionId> GraphNode<Id>
Sourcepub fn try_add_edge(&mut self, id: Id) -> bool
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> 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