Struct lightning::routing::utxo::UtxoFuture

source ·
pub struct UtxoFuture { /* private fields */ }
Expand description

Represents a future resolution of a UtxoLookup::get_utxo query resolving async.

See UtxoResult::Async and UtxoFuture::resolve for more info.

Implementations§

source§

impl UtxoFuture

source

pub fn new() -> Self

Builds a new future for later resolution.

source

pub fn resolve_without_forwarding<L: Deref>( &self, graph: &NetworkGraph<L>, result: Result<TxOut, UtxoLookupError> )
where L::Target: Logger,

Resolves this future against the given graph and with the given result.

This is identical to calling UtxoFuture::resolve with a dummy gossip, disabling forwarding the validated gossip message onwards to peers.

Because this may cause the NetworkGraph’s processing_queue_high to flip, in order to allow us to interact with peers again, you should call PeerManager::process_events after this.

source

pub fn resolve<L: Deref, G: Deref<Target = NetworkGraph<L>>, U: Deref, GS: Deref<Target = P2PGossipSync<G, U, L>>>( &self, graph: &NetworkGraph<L>, gossip: GS, result: Result<TxOut, UtxoLookupError> )
where L::Target: Logger, U::Target: UtxoLookup,

Resolves this future against the given graph and with the given result.

The given gossip is used to broadcast any validated messages onwards to all peers which have available buffer space.

Because this may cause the NetworkGraph’s processing_queue_high to flip, in order to allow us to interact with peers again, you should call PeerManager::process_events after this.

Trait Implementations§

source§

impl Clone for UtxoFuture

source§

fn clone(&self) -> UtxoFuture

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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>,

§

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.