Trait lightning::chain::Listen [−][src]
pub trait Listen { fn block_connected(&self, block: &Block, height: u32); fn block_disconnected(&self, header: &BlockHeader, height: u32); }
The Listen
trait is used to notify when blocks have been connected or disconnected from the
chain.
Useful when needing to replay chain data upon startup or as new chain events occur. Clients
sourcing chain data using a block-oriented API should prefer this interface over Confirm
.
Such clients fetch the entire header chain whereas clients using Confirm
only fetch headers
when needed.
Required methods
fn block_connected(&self, block: &Block, height: u32)
[src]
Notifies the listener that a block was added at the given height.
fn block_disconnected(&self, header: &BlockHeader, height: u32)
[src]
Notifies the listener that a block was removed at the given height.
Implementations on Foreign Types
impl<Signer: Sign, T: Deref, F: Deref, L: Deref> Listen for (ChannelMonitor<Signer>, T, F, L) where
T::Target: BroadcasterInterface,
F::Target: FeeEstimator,
L::Target: Logger,
[src]
impl<Signer: Sign, T: Deref, F: Deref, L: Deref> Listen for (ChannelMonitor<Signer>, T, F, L) where
T::Target: BroadcasterInterface,
F::Target: FeeEstimator,
L::Target: Logger,
[src]fn block_connected(&self, block: &Block, height: u32)
[src]
fn block_disconnected(&self, header: &BlockHeader, height: u32)
[src]
impl<T: Listen> Listen for dyn Deref<Target = T>
[src]
impl<T: Listen> Listen for dyn Deref<Target = T>
[src]fn block_connected(&self, block: &Block, height: u32)
[src]
fn block_disconnected(&self, header: &BlockHeader, height: u32)
[src]
impl<T: Deref, U: Deref> Listen for (T, U) where
T::Target: Listen,
U::Target: Listen,
[src]
impl<T: Deref, U: Deref> Listen for (T, U) where
T::Target: Listen,
U::Target: Listen,
[src]fn block_connected(&self, block: &Block, height: u32)
[src]
fn block_disconnected(&self, header: &BlockHeader, height: u32)
[src]
Implementors
impl<ChannelSigner: Sign, C: Deref, T: Deref, F: Deref, L: Deref, P: Deref> Listen for ChainMonitor<ChannelSigner, C, T, F, L, P> where
C::Target: Filter,
T::Target: BroadcasterInterface,
F::Target: FeeEstimator,
L::Target: Logger,
P::Target: Persist<ChannelSigner>,
[src]
impl<ChannelSigner: Sign, C: Deref, T: Deref, F: Deref, L: Deref, P: Deref> Listen for ChainMonitor<ChannelSigner, C, T, F, L, P> where
C::Target: Filter,
T::Target: BroadcasterInterface,
F::Target: FeeEstimator,
L::Target: Logger,
P::Target: Persist<ChannelSigner>,
[src]fn block_connected(&self, block: &Block, height: u32)
[src]
fn block_disconnected(&self, header: &BlockHeader, height: u32)
[src]
impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> Listen for ChannelManager<Signer, M, T, K, F, L> where
M::Target: Watch<Signer>,
T::Target: BroadcasterInterface,
K::Target: KeysInterface<Signer = Signer>,
F::Target: FeeEstimator,
L::Target: Logger,
[src]
impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> Listen for ChannelManager<Signer, M, T, K, F, L> where
M::Target: Watch<Signer>,
T::Target: BroadcasterInterface,
K::Target: KeysInterface<Signer = Signer>,
F::Target: FeeEstimator,
L::Target: Logger,
[src]