Struct snarkos_node_consensus::Consensus
source · pub struct Consensus<N: Network> { /* private fields */ }Implementations§
source§impl<N: Network> Consensus<N>
impl<N: Network> Consensus<N>
sourcepub fn new(
account: Account<N>,
ledger: Arc<dyn LedgerService<N>>,
ip: Option<SocketAddr>,
trusted_validators: &[SocketAddr],
dev: Option<u16>
) -> Result<Self>
pub fn new( account: Account<N>, ledger: Arc<dyn LedgerService<N>>, ip: Option<SocketAddr>, trusted_validators: &[SocketAddr], dev: Option<u16> ) -> Result<Self>
Initializes a new instance of consensus.
sourcepub async fn run(
&mut self,
primary_sender: PrimarySender<N>,
primary_receiver: PrimaryReceiver<N>
) -> Result<()>
pub async fn run( &mut self, primary_sender: PrimarySender<N>, primary_receiver: PrimaryReceiver<N> ) -> Result<()>
Run the consensus instance.
sourcepub const fn ledger(&self) -> &Arc<dyn LedgerService<N>>
pub const fn ledger(&self) -> &Arc<dyn LedgerService<N>>
Returns the ledger.
sourcepub fn primary_sender(&self) -> &PrimarySender<N>
pub fn primary_sender(&self) -> &PrimarySender<N>
Returns the primary sender.
source§impl<N: Network> Consensus<N>
impl<N: Network> Consensus<N>
sourcepub fn num_unconfirmed_transmissions(&self) -> usize
pub fn num_unconfirmed_transmissions(&self) -> usize
Returns the number of unconfirmed transmissions.
sourcepub fn num_unconfirmed_ratifications(&self) -> usize
pub fn num_unconfirmed_ratifications(&self) -> usize
Returns the number of unconfirmed ratifications.
sourcepub fn num_unconfirmed_solutions(&self) -> usize
pub fn num_unconfirmed_solutions(&self) -> usize
Returns the number of solutions.
sourcepub fn num_unconfirmed_transactions(&self) -> usize
pub fn num_unconfirmed_transactions(&self) -> usize
Returns the number of unconfirmed transactions.
source§impl<N: Network> Consensus<N>
impl<N: Network> Consensus<N>
sourcepub fn unconfirmed_transmission_ids(
&self
) -> impl '_ + Iterator<Item = TransmissionID<N>>
pub fn unconfirmed_transmission_ids( &self ) -> impl '_ + Iterator<Item = TransmissionID<N>>
Returns the unconfirmed transmission IDs.
sourcepub fn unconfirmed_transmissions(
&self
) -> impl '_ + Iterator<Item = (TransmissionID<N>, Transmission<N>)>
pub fn unconfirmed_transmissions( &self ) -> impl '_ + Iterator<Item = (TransmissionID<N>, Transmission<N>)>
Returns the unconfirmed transmissions.
sourcepub fn unconfirmed_solutions(
&self
) -> impl '_ + Iterator<Item = (PuzzleCommitment<N>, Data<ProverSolution<N>>)>
pub fn unconfirmed_solutions( &self ) -> impl '_ + Iterator<Item = (PuzzleCommitment<N>, Data<ProverSolution<N>>)>
Returns the unconfirmed solutions.
sourcepub fn unconfirmed_transactions(
&self
) -> impl '_ + Iterator<Item = (N::TransactionID, Data<Transaction<N>>)>
pub fn unconfirmed_transactions( &self ) -> impl '_ + Iterator<Item = (N::TransactionID, Data<Transaction<N>>)>
Returns the unconfirmed transactions.
source§impl<N: Network> Consensus<N>
impl<N: Network> Consensus<N>
sourcepub async fn add_unconfirmed_solution(
&self,
solution: ProverSolution<N>
) -> Result<()>
pub async fn add_unconfirmed_solution( &self, solution: ProverSolution<N> ) -> Result<()>
Adds the given unconfirmed solution to the memory pool.
sourcepub async fn add_unconfirmed_transaction(
&self,
transaction: Transaction<N>
) -> Result<()>
pub async fn add_unconfirmed_transaction( &self, transaction: Transaction<N> ) -> Result<()>
Adds the given unconfirmed transaction to the memory pool.
Trait Implementations§
Auto Trait Implementations§
impl<N> !RefUnwindSafe for Consensus<N>
impl<N> Send for Consensus<N>
impl<N> Sync for Consensus<N>
impl<N> Unpin for Consensus<N>
impl<N> !UnwindSafe for Consensus<N>
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