Skip to content

Commit c5c196b

Browse files
committed
Use struct wrappers to implement event handling on InvoicePayer
Since we also need a variant of InvoicePayer that can handle events asynchronously, we remove its EventHandler generic bound, and instead implement each event handling variant on struct wrappers that consume it.
1 parent 67c2932 commit c5c196b

File tree

2 files changed

+178
-71
lines changed

2 files changed

+178
-71
lines changed

lightning-background-processor/src/lib.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,7 @@ mod tests {
590590
use lightning::util::ser::Writeable;
591591
use lightning::util::test_utils;
592592
use lightning::util::persist::KVStorePersister;
593-
use lightning_invoice::payment::{InvoicePayer, Retry};
593+
use lightning_invoice::payment::{InvoicePayer, InvoicePayerEventHandler, Retry};
594594
use lightning_invoice::utils::DefaultRouter;
595595
use lightning_persister::FilesystemPersister;
596596
use std::fs;
@@ -600,7 +600,7 @@ mod tests {
600600
use std::time::Duration;
601601
use bitcoin::hashes::Hash;
602602
use bitcoin::TxMerkleNode;
603-
use lightning::routing::scoring::{FixedPenaltyScorer};
603+
use lightning::routing::scoring::FixedPenaltyScorer;
604604
use lightning_rapid_gossip_sync::RapidGossipSync;
605605
use super::{BackgroundProcessor, GossipSync, FRESHNESS_TIMER};
606606

@@ -1125,7 +1125,10 @@ mod tests {
11251125
let data_dir = nodes[0].persister.get_data_dir();
11261126
let persister = Arc::new(Persister::new(data_dir));
11271127
let router = DefaultRouter::new(Arc::clone(&nodes[0].network_graph), Arc::clone(&nodes[0].logger), random_seed_bytes, Arc::clone(&nodes[0].scorer));
1128-
let invoice_payer = Arc::new(InvoicePayer::new(Arc::clone(&nodes[0].node), router, Arc::clone(&nodes[0].logger), |_: _| {}, Retry::Attempts(2)));
1128+
let invoice_payer = Arc::new(InvoicePayerEventHandler(
1129+
InvoicePayer::new(Arc::clone(&nodes[0].node), router, Arc::clone(&nodes[0].logger), Retry::Attempts(2)),
1130+
|_: _| {}
1131+
));
11291132
let event_handler = Arc::clone(&invoice_payer);
11301133
let bg_processor = BackgroundProcessor::start(persister, event_handler, nodes[0].chain_monitor.clone(), nodes[0].node.clone(), nodes[0].no_gossip_sync(), nodes[0].peer_manager.clone(), nodes[0].logger.clone(), Some(nodes[0].scorer.clone()));
11311134
assert!(bg_processor.stop().is_ok());

0 commit comments

Comments
 (0)