Skip to content

Commit 88a3034

Browse files
committed
f - Add example to NetworkUpdateHandler docs
1 parent 797ab30 commit 88a3034

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

lightning/src/routing/network_graph.rs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,34 @@ impl_writeable_tlv_based_enum_upgradable!(NetworkUpdate,
112112

113113
/// An [`EventHandler`] decorator for applying updates from [`Event::PaymentFailed`] to the
114114
/// [`NetworkGraph`].
115+
///
116+
/// # Example
117+
///
118+
/// ```
119+
/// # extern crate bitcoin;
120+
/// #
121+
/// # use bitcoin::blockdata::constants::genesis_block;
122+
/// # use bitcoin::network::constants::Network;
123+
/// # use lightning::routing::network_graph::{NetworkGraph, NetworkUpdateHandler};
124+
/// # use lightning::util::events::Event;
125+
/// # use lightning::util::logger::{Logger, Record};
126+
/// #
127+
/// # struct NullLogger;
128+
/// # impl Logger for NullLogger {
129+
/// # fn log(&self, _record: &Record) {}
130+
/// # }
131+
/// let network_graph = NetworkGraph::new(genesis_block(Network::Testnet).header.block_hash());
132+
/// let logger = NullLogger {};
133+
/// let event_handler = |event: &Event| {
134+
/// // Handle event
135+
/// };
136+
/// let event_handler = NetworkUpdateHandler::new(&network_graph, &logger, event_handler);
137+
/// ```
138+
///
139+
/// Once `event_handler` has been decorated, use it with any implementation of [`EventsProvider`] as
140+
/// usual.
141+
///
142+
/// [`EventsProvider`]: crate::util::events::EventsProvider
115143
pub struct NetworkUpdateHandler<G: Deref<Target=NetworkGraph>, L: Deref, E: EventHandler>
116144
where L::Target: Logger {
117145
secp_ctx: Secp256k1<secp256k1::VerifyOnly>,

0 commit comments

Comments
 (0)