Skip to content

Commit d110099

Browse files
committed
Refactor InvoicePayer to allow use of AsyncEventHandler
Previously, an InvoicePayer's event_handler was only used in one place, handle_event. We now keep the event interception intact, but create two different wrapper structs that allow the InvoicePayer to implement both EventHandler and AsyncEventHandler.
1 parent 14e1803 commit d110099

File tree

2 files changed

+218
-101
lines changed

2 files changed

+218
-101
lines changed

lightning-background-processor/src/lib.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,7 @@ mod tests {
643643
use lightning::util::ser::Writeable;
644644
use lightning::util::test_utils;
645645
use lightning::util::persist::KVStorePersister;
646-
use lightning_invoice::payment::{InvoicePayer, Retry};
646+
use lightning_invoice::payment::{InvoicePayer, InvoicePayerEventHandler, Retry};
647647
use lightning_invoice::utils::DefaultRouter;
648648
use lightning_persister::FilesystemPersister;
649649
use std::fs;
@@ -653,7 +653,7 @@ mod tests {
653653
use std::time::Duration;
654654
use bitcoin::hashes::Hash;
655655
use bitcoin::TxMerkleNode;
656-
use lightning::routing::scoring::{FixedPenaltyScorer};
656+
use lightning::routing::scoring::FixedPenaltyScorer;
657657
use lightning_rapid_gossip_sync::RapidGossipSync;
658658
use super::{BackgroundProcessor, GossipSync, FRESHNESS_TIMER};
659659

@@ -1170,7 +1170,10 @@ mod tests {
11701170
let data_dir = nodes[0].persister.get_data_dir();
11711171
let persister = Arc::new(Persister::new(data_dir));
11721172
let router = DefaultRouter::new(Arc::clone(&nodes[0].network_graph), Arc::clone(&nodes[0].logger), random_seed_bytes, Arc::clone(&nodes[0].scorer));
1173-
let invoice_payer = Arc::new(InvoicePayer::new(Arc::clone(&nodes[0].node), router, Arc::clone(&nodes[0].logger), |_: _| {}, Retry::Attempts(2)));
1173+
let invoice_payer = Arc::new(InvoicePayerEventHandler {
1174+
invoice_payer: InvoicePayer::new(Arc::clone(&nodes[0].node), router, Arc::clone(&nodes[0].logger), Retry::Attempts(2)),
1175+
event_handler: |_: _| {},
1176+
});
11741177
let event_handler = Arc::clone(&invoice_payer);
11751178
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()));
11761179
assert!(bg_processor.stop().is_ok());

0 commit comments

Comments
 (0)