pub struct Dag { /* private fields */ }
Expand description

The publicly exposed Dag handle, to which one can send commands

Implementations

Inserts a Certificate in the Dag.

Note: the caller is responsible for validation of the certificate, including, but not limited to:

  • the certificate’s signatures are valid,
  • the certificate has a valid number of parents by stake,
  • the certificate is well-formed (e.g. hashes match),
  • all the parents’ certificates are recursively valid and have been inserted in the Dag.

Returns whether the node is still in the Dag as a strong reference, i.e. that it hasn’t ben removed through compression. For the purposes of this memory-conscious graph, this is just “contains” semantics.

Returns whether the dag has ever contained a node with the provided digest. The method will return true either when the node is live (uncompressed) or has been already compressed as still exists as weak reference.

Returns the oldest and newest rounds for which a validator has (live) certificates in the DAG

Returns a breadth first traversal of the Dag, starting with the certified collection passed as argument.

Returns a breadth first traversal of the Dag, starting with the certified collection passed as argument.

Removes certificates from the Dag, reclaiming memory in the process.

Note: If some digests are unkown to the Dag, this will return an error, but will nonetheless delete the certificates for known digests which are removable.

Returns the certificate for the digest by waiting until it is avaialable in the dag

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Converts self into T using Into<T>. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

Wrap the input message T in a tonic::Request
Wrap the input message T in a Request
Pipes by value. This is generally the method you want to use. Read more
Borrows self and passes that borrow into the pipe function. Read more
Mutably borrows self and passes that borrow into the pipe function. Read more
Borrows self, then passes self.borrow() into the pipe function. Read more
Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Borrows self, then passes self.as_ref() into the pipe function.
Mutably borrows self, then passes self.as_mut() into the pipe function. Read more
Borrows self, then passes self.deref() into the pipe function.
Mutably borrows self, then passes self.deref_mut() into the pipe function. Read more
The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
Should always be Self
Immutable access to a value. Read more
Mutable access to a value. Read more
Immutable access to the Borrow<B> of a value. Read more
Mutable access to the BorrowMut<B> of a value. Read more
Immutable access to the AsRef<R> view of a value. Read more
Mutable access to the AsMut<R> view of a value. Read more
Immutable access to the Deref::Target of a value. Read more
Mutable access to the Deref::Target of a value. Read more
Calls .tap() only in debug builds, and is erased in release builds.
Calls .tap_mut() only in debug builds, and is erased in release builds. Read more
Calls .tap_borrow() only in debug builds, and is erased in release builds. Read more
Calls .tap_borrow_mut() only in debug builds, and is erased in release builds. Read more
Calls .tap_ref() only in debug builds, and is erased in release builds. Read more
Calls .tap_ref_mut() only in debug builds, and is erased in release builds. Read more
Calls .tap_deref() only in debug builds, and is erased in release builds. Read more
Calls .tap_deref_mut() only in debug builds, and is erased in release builds. Read more
Attempts to convert self into T using TryInto<T>. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more