You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Decorate the user-supplied EventHandler with NetworkUpdateHandler in
the BackgroundProcessor. The resulting handler will intercept
PaymentFailed events in order to update the NetworkGraph in the
background before delegating to the user's event handler.
log_trace!(logger,"Calling ChannelManager's timer_tick_occurred on startup");
167
168
channel_manager.timer_tick_occurred();
168
169
170
+
let event_handler = NetworkUpdateHandler::new(network_graph,&*logger, event_handler);
169
171
letmut last_freshness_call = Instant::now();
170
172
letmut last_ping_call = Instant::now();
171
173
loop{
@@ -271,6 +273,7 @@ mod tests {
271
273
use lightning::ln::features::InitFeatures;
272
274
use lightning::ln::msgs::{ChannelMessageHandler,Init};
273
275
use lightning::ln::peer_handler::{PeerManager,MessageHandler,SocketDescriptor,IgnoringMessageHandler};
276
+
use lightning::routing::network_graph::NetworkGraph;
274
277
use lightning::util::config::UserConfig;
275
278
use lightning::util::events::{Event,MessageSendEventsProvider,MessageSendEvent};
276
279
use lightning::util::ser::Writeable;
@@ -302,6 +305,7 @@ mod tests {
302
305
chain_monitor:Arc<ChainMonitor>,
303
306
persister:Arc<FilesystemPersister>,
304
307
tx_broadcaster:Arc<test_utils::TestBroadcaster>,
308
+
network_graph:Arc<NetworkGraph>,
305
309
logger:Arc<test_utils::TestLogger>,
306
310
best_block:BestBlock,
307
311
}
@@ -332,6 +336,7 @@ mod tests {
332
336
let persister = Arc::new(FilesystemPersister::new(format!("{}_persister_{}", persist_dir, i)));
333
337
let seed = [i asu8;32];
334
338
let network = Network::Testnet;
339
+
let network_graph = Arc::new(NetworkGraph::new(genesis_block(network).block_hash()));
335
340
let now = Duration::from_secs(genesis_block(network).header.timeasu64);
336
341
let keys_manager = Arc::new(KeysManager::new(&seed, now.as_secs(), now.subsec_nanos()));
337
342
let chain_monitor = Arc::new(chainmonitor::ChainMonitor::new(Some(chain_source.clone()), tx_broadcaster.clone(), logger.clone(), fee_estimator.clone(), persister.clone()));
@@ -340,7 +345,7 @@ mod tests {
340
345
let manager = Arc::new(ChannelManager::new(fee_estimator.clone(), chain_monitor.clone(), tx_broadcaster.clone(), logger.clone(), keys_manager.clone(),UserConfig::default(), params));
341
346
let msg_handler = MessageHandler{chan_handler:Arc::new(test_utils::TestChannelMessageHandler::new()),route_handler:Arc::new(test_utils::TestRoutingMessageHandler::new())};
342
347
let peer_manager = Arc::new(PeerManager::new(msg_handler, keys_manager.get_node_secret(),&seed, logger.clone(),IgnoringMessageHandler{}));
0 commit comments