@@ -32,6 +32,7 @@ use lightning::events::EventsProvider;
32
32
33
33
use lightning:: ln:: channelmanager:: AChannelManager ;
34
34
use lightning:: ln:: msgs:: OnionMessageHandler ;
35
+ use lightning:: onion_message:: messenger:: AOnionMessenger ;
35
36
use lightning:: ln:: peer_handler:: APeerManager ;
36
37
use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
37
38
use lightning:: routing:: utxo:: UtxoLookup ;
@@ -281,7 +282,8 @@ macro_rules! define_run_body {
281
282
(
282
283
$persister: ident, $chain_monitor: ident, $process_chain_monitor_events: expr,
283
284
$channel_manager: ident, $process_channel_manager_events: expr,
284
- $peer_manager: ident, $process_onion_message_handler_events: expr, $gossip_sync: ident,
285
+ $onion_messenger: ident, $process_onion_message_handler_events: expr,
286
+ $peer_manager: ident, $gossip_sync: ident,
285
287
$logger: ident, $scorer: ident, $loop_exit_check: expr, $await: expr, $get_timer: expr,
286
288
$timer_elapsed: expr, $check_slow_await: expr, $time_fetch: expr,
287
289
) => { {
@@ -347,8 +349,10 @@ macro_rules! define_run_body {
347
349
last_freshness_call = $get_timer( FRESHNESS_TIMER ) ;
348
350
}
349
351
if $timer_elapsed( & mut last_onion_message_handler_call, ONION_MESSAGE_HANDLER_TIMER ) {
350
- log_trace!( $logger, "Calling OnionMessageHandler's timer_tick_occurred" ) ;
351
- $peer_manager. onion_message_handler( ) . timer_tick_occurred( ) ;
352
+ if let Some ( om) = & $onion_messenger {
353
+ log_trace!( $logger, "Calling OnionMessageHandler's timer_tick_occurred" ) ;
354
+ om. get_om( ) . timer_tick_occurred( ) ;
355
+ }
352
356
last_onion_message_handler_call = $get_timer( ONION_MESSAGE_HANDLER_TIMER ) ;
353
357
}
354
358
if await_slow {
@@ -651,6 +655,7 @@ pub async fn process_events_async<
651
655
PS : ' static + Deref + Send ,
652
656
M : ' static + Deref < Target = ChainMonitor < <CM :: Target as AChannelManager >:: Signer , CF , T , F , L , P > > + Send + Sync ,
653
657
CM : ' static + Deref + Send + Sync ,
658
+ OM : ' static + Deref + Send + Sync ,
654
659
PGS : ' static + Deref < Target = P2PGossipSync < G , UL , L > > + Send + Sync ,
655
660
RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
656
661
PM : ' static + Deref + Send + Sync ,
@@ -661,6 +666,7 @@ pub async fn process_events_async<
661
666
FetchTime : Fn ( ) -> Option < Duration > ,
662
667
> (
663
668
persister : PS , event_handler : EventHandler , chain_monitor : M , channel_manager : CM ,
669
+ onion_messenger : Option < OM > ,
664
670
gossip_sync : GossipSync < PGS , RGS , G , UL , L > , peer_manager : PM , logger : L , scorer : Option < S > ,
665
671
sleeper : Sleeper , mobile_interruptable_platform : bool , fetch_time : FetchTime ,
666
672
) -> Result < ( ) , lightning:: io:: Error >
@@ -673,6 +679,7 @@ where
673
679
P :: Target : ' static + Persist < <CM :: Target as AChannelManager >:: Signer > ,
674
680
PS :: Target : ' static + Persister < ' a , CM , L , SC > ,
675
681
CM :: Target : AChannelManager + Send + Sync ,
682
+ OM :: Target : AOnionMessenger + Send + Sync ,
676
683
PM :: Target : APeerManager + Send + Sync ,
677
684
{
678
685
let mut should_break = false ;
@@ -704,8 +711,8 @@ where
704
711
persister, chain_monitor,
705
712
chain_monitor. process_pending_events_async( async_event_handler) . await ,
706
713
channel_manager, channel_manager. get_cm( ) . process_pending_events_async( async_event_handler) . await ,
707
- peer_manager , process_onion_message_handler_events_async ( & peer_manager , async_event_handler) . await ,
708
- gossip_sync, logger, scorer, should_break, {
714
+ onion_messegner , if let Some ( om ) = & onion_messenger { om . get_om ( ) . process_pending_events_async ( async_event_handler) . await } ,
715
+ peer_manager , gossip_sync, logger, scorer, should_break, {
709
716
let fut = Selector {
710
717
a: channel_manager. get_cm( ) . get_event_or_persistence_needed_future( ) ,
711
718
b: chain_monitor. get_update_future( ) ,
@@ -729,25 +736,6 @@ where
729
736
)
730
737
}
731
738
732
- #[ cfg( feature = "futures" ) ]
733
- async fn process_onion_message_handler_events_async <
734
- EventHandlerFuture : core:: future:: Future < Output = ( ) > ,
735
- EventHandler : Fn ( Event ) -> EventHandlerFuture ,
736
- PM : ' static + Deref + Send + Sync ,
737
- > (
738
- peer_manager : & PM , handler : EventHandler
739
- )
740
- where
741
- PM :: Target : APeerManager + Send + Sync ,
742
- {
743
- let events = core:: cell:: RefCell :: new ( Vec :: new ( ) ) ;
744
- peer_manager. onion_message_handler ( ) . process_pending_events ( & |e| events. borrow_mut ( ) . push ( e) ) ;
745
-
746
- for event in events. into_inner ( ) {
747
- handler ( event) . await
748
- }
749
- }
750
-
751
739
#[ cfg( feature = "std" ) ]
752
740
impl BackgroundProcessor {
753
741
/// Start a background thread that takes care of responsibilities enumerated in the [top-level
@@ -807,13 +795,15 @@ impl BackgroundProcessor {
807
795
PS : ' static + Deref + Send ,
808
796
M : ' static + Deref < Target = ChainMonitor < <CM :: Target as AChannelManager >:: Signer , CF , T , F , L , P > > + Send + Sync ,
809
797
CM : ' static + Deref + Send + Sync ,
798
+ OM : ' static + Deref + Send + Sync ,
810
799
PGS : ' static + Deref < Target = P2PGossipSync < G , UL , L > > + Send + Sync ,
811
800
RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
812
801
PM : ' static + Deref + Send + Sync ,
813
802
S : ' static + Deref < Target = SC > + Send + Sync ,
814
803
SC : for < ' b > WriteableScore < ' b > ,
815
804
> (
816
805
persister : PS , event_handler : EH , chain_monitor : M , channel_manager : CM ,
806
+ onion_messenger : Option < OM > ,
817
807
gossip_sync : GossipSync < PGS , RGS , G , UL , L > , peer_manager : PM , logger : L , scorer : Option < S > ,
818
808
) -> Self
819
809
where
@@ -825,6 +815,7 @@ impl BackgroundProcessor {
825
815
P :: Target : ' static + Persist < <CM :: Target as AChannelManager >:: Signer > ,
826
816
PS :: Target : ' static + Persister < ' a , CM , L , SC > ,
827
817
CM :: Target : AChannelManager + Send + Sync ,
818
+ OM :: Target : AOnionMessenger + Send + Sync ,
828
819
PM :: Target : APeerManager + Send + Sync ,
829
820
{
830
821
let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
@@ -851,9 +842,8 @@ impl BackgroundProcessor {
851
842
define_run_body ! (
852
843
persister, chain_monitor, chain_monitor. process_pending_events( & event_handler) ,
853
844
channel_manager, channel_manager. get_cm( ) . process_pending_events( & event_handler) ,
854
- peer_manager,
855
- peer_manager. onion_message_handler( ) . process_pending_events( & event_handler) ,
856
- gossip_sync, logger, scorer, stop_thread. load( Ordering :: Acquire ) ,
845
+ onion_messenger, if let Some ( om) = & onion_messenger { om. get_om( ) . process_pending_events( & event_handler) } ,
846
+ peer_manager, gossip_sync, logger, scorer, stop_thread. load( Ordering :: Acquire ) ,
857
847
{ Sleeper :: from_two_futures(
858
848
& channel_manager. get_cm( ) . get_event_or_persistence_needed_future( ) ,
859
849
& chain_monitor. get_update_future( )
@@ -939,6 +929,7 @@ mod tests {
939
929
use lightning:: ln:: functional_test_utils:: * ;
940
930
use lightning:: ln:: msgs:: { ChannelMessageHandler , Init } ;
941
931
use lightning:: ln:: peer_handler:: { PeerManager , MessageHandler , SocketDescriptor , IgnoringMessageHandler } ;
932
+ use lightning:: onion_message:: messenger:: { DefaultMessageRouter , OnionMessenger } ;
942
933
use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
943
934
use lightning:: routing:: scoring:: { ChannelUsage , ScoreUpdate , ScoreLookUp , LockableScore } ;
944
935
use lightning:: routing:: router:: { DefaultRouter , Path , RouteHop , CandidateRouteHop } ;
@@ -1000,11 +991,14 @@ mod tests {
1000
991
type PGS = Arc < P2PGossipSync < Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > , Arc < test_utils:: TestChainSource > , Arc < test_utils:: TestLogger > > > ;
1001
992
type RGS = Arc < RapidGossipSync < Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > , Arc < test_utils:: TestLogger > > > ;
1002
993
994
+ type OM = OnionMessenger < Arc < KeysManager > , Arc < KeysManager > , Arc < test_utils:: TestLogger > , Arc < ChannelManager > , Arc < DefaultMessageRouter < Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > , Arc < test_utils:: TestLogger > , Arc < KeysManager > > > , IgnoringMessageHandler , IgnoringMessageHandler > ;
995
+
1003
996
struct Node {
1004
997
node : Arc < ChannelManager > ,
998
+ messenger : Arc < OM > ,
1005
999
p2p_gossip_sync : PGS ,
1006
1000
rapid_gossip_sync : RGS ,
1007
- peer_manager : Arc < PeerManager < TestDescriptor , Arc < test_utils:: TestChannelMessageHandler > , Arc < test_utils:: TestRoutingMessageHandler > , IgnoringMessageHandler , Arc < test_utils:: TestLogger > , IgnoringMessageHandler , Arc < KeysManager > > > ,
1001
+ peer_manager : Arc < PeerManager < TestDescriptor , Arc < test_utils:: TestChannelMessageHandler > , Arc < test_utils:: TestRoutingMessageHandler > , Arc < OM > , Arc < test_utils:: TestLogger > , IgnoringMessageHandler , Arc < KeysManager > > > ,
1008
1002
chain_monitor : Arc < ChainMonitor > ,
1009
1003
kv_store : Arc < FilesystemStore > ,
1010
1004
tx_broadcaster : Arc < test_utils:: TestBroadcaster > ,
@@ -1283,6 +1277,7 @@ mod tests {
1283
1277
let seed = [ i as u8 ; 32 ] ;
1284
1278
let keys_manager = Arc :: new ( KeysManager :: new ( & seed, now. as_secs ( ) , now. subsec_nanos ( ) ) ) ;
1285
1279
let router = Arc :: new ( DefaultRouter :: new ( network_graph. clone ( ) , logger. clone ( ) , Arc :: clone ( & keys_manager) , scorer. clone ( ) , Default :: default ( ) ) ) ;
1280
+ let msg_router = Arc :: new ( DefaultMessageRouter :: new ( network_graph. clone ( ) , Arc :: clone ( & keys_manager) ) ) ;
1286
1281
let chain_source = Arc :: new ( test_utils:: TestChainSource :: new ( Network :: Bitcoin ) ) ;
1287
1282
let kv_store = Arc :: new ( FilesystemStore :: new ( format ! ( "{}_persister_{}" , & persist_dir, i) . into ( ) ) ) ;
1288
1283
let now = Duration :: from_secs ( genesis_block. header . time as u64 ) ;
@@ -1291,6 +1286,7 @@ mod tests {
1291
1286
let best_block = BestBlock :: from_network ( network) ;
1292
1287
let params = ChainParameters { network, best_block } ;
1293
1288
let manager = Arc :: new ( ChannelManager :: new ( fee_estimator. clone ( ) , chain_monitor. clone ( ) , tx_broadcaster. clone ( ) , router. clone ( ) , logger. clone ( ) , keys_manager. clone ( ) , keys_manager. clone ( ) , keys_manager. clone ( ) , UserConfig :: default ( ) , params, genesis_block. header . time ) ) ;
1289
+ let messenger = Arc :: new ( OnionMessenger :: new ( keys_manager. clone ( ) , keys_manager. clone ( ) , logger. clone ( ) , manager. clone ( ) , msg_router. clone ( ) , IgnoringMessageHandler { } , IgnoringMessageHandler { } ) ) ;
1294
1290
let wallet = Arc :: new ( TestWallet { } ) ;
1295
1291
let sweeper = Arc :: new ( OutputSweeper :: new ( best_block, Arc :: clone ( & tx_broadcaster) , Arc :: clone ( & fee_estimator) ,
1296
1292
None :: < Arc < dyn Filter + Sync + Send > > , Arc :: clone ( & keys_manager) , wallet, Arc :: clone ( & kv_store) , Arc :: clone ( & logger) ) ) ;
@@ -1299,10 +1295,10 @@ mod tests {
1299
1295
let msg_handler = MessageHandler {
1300
1296
chan_handler : Arc :: new ( test_utils:: TestChannelMessageHandler :: new ( ChainHash :: using_genesis_block ( Network :: Testnet ) ) ) ,
1301
1297
route_handler : Arc :: new ( test_utils:: TestRoutingMessageHandler :: new ( ) ) ,
1302
- onion_message_handler : IgnoringMessageHandler { } , custom_message_handler : IgnoringMessageHandler { }
1298
+ onion_message_handler : messenger . clone ( ) , custom_message_handler : IgnoringMessageHandler { }
1303
1299
} ;
1304
1300
let peer_manager = Arc :: new ( PeerManager :: new ( msg_handler, 0 , & seed, logger. clone ( ) , keys_manager. clone ( ) ) ) ;
1305
- let node = Node { node : manager, p2p_gossip_sync, rapid_gossip_sync, peer_manager, chain_monitor, kv_store, tx_broadcaster, network_graph, logger, best_block, scorer, sweeper } ;
1301
+ let node = Node { node : manager, p2p_gossip_sync, rapid_gossip_sync, peer_manager, chain_monitor, kv_store, tx_broadcaster, network_graph, logger, best_block, scorer, sweeper, messenger } ;
1306
1302
nodes. push ( node) ;
1307
1303
}
1308
1304
@@ -1425,7 +1421,7 @@ mod tests {
1425
1421
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1426
1422
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1427
1423
let event_handler = |_: _ | { } ;
1428
- let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . p2p_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1424
+ let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , Some ( nodes [ 0 ] . messenger . clone ( ) ) , nodes[ 0 ] . p2p_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1429
1425
1430
1426
macro_rules! check_persisted_data {
1431
1427
( $node: expr, $filepath: expr) => {
@@ -1492,7 +1488,7 @@ mod tests {
1492
1488
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1493
1489
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1494
1490
let event_handler = |_: _ | { } ;
1495
- 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 ( ) ) ) ;
1491
+ let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , Some ( nodes [ 0 ] . messenger . clone ( ) ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1496
1492
loop {
1497
1493
let log_entries = nodes[ 0 ] . logger . lines . lock ( ) . unwrap ( ) ;
1498
1494
let desired_log_1 = "Calling ChannelManager's timer_tick_occurred" . to_string ( ) ;
@@ -1521,7 +1517,7 @@ mod tests {
1521
1517
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1522
1518
let persister = Arc :: new ( Persister :: new ( data_dir) . with_manager_error ( std:: io:: ErrorKind :: Other , "test" ) ) ;
1523
1519
let event_handler = |_: _ | { } ;
1524
- 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 ( ) ) ) ;
1520
+ let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , Some ( nodes [ 0 ] . messenger . clone ( ) ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1525
1521
match bg_processor. join ( ) {
1526
1522
Ok ( _) => panic ! ( "Expected error persisting manager" ) ,
1527
1523
Err ( e) => {
@@ -1542,7 +1538,7 @@ mod tests {
1542
1538
let persister = Arc :: new ( Persister :: new ( data_dir) . with_manager_error ( std:: io:: ErrorKind :: Other , "test" ) ) ;
1543
1539
1544
1540
let bp_future = super :: process_events_async (
1545
- persister, |_: _ | { async { } } , nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) ,
1541
+ persister, |_: _ | { async { } } , nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , Some ( nodes [ 0 ] . messenger . clone ( ) ) ,
1546
1542
nodes[ 0 ] . rapid_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) ,
1547
1543
Some ( nodes[ 0 ] . scorer . clone ( ) ) , move |dur : Duration | {
1548
1544
Box :: pin ( async move {
@@ -1567,7 +1563,7 @@ mod tests {
1567
1563
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1568
1564
let persister = Arc :: new ( Persister :: new ( data_dir) . with_graph_error ( std:: io:: ErrorKind :: Other , "test" ) ) ;
1569
1565
let event_handler = |_: _ | { } ;
1570
- let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . p2p_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1566
+ let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , Some ( nodes [ 0 ] . messenger . clone ( ) ) , nodes[ 0 ] . p2p_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1571
1567
1572
1568
match bg_processor. stop ( ) {
1573
1569
Ok ( _) => panic ! ( "Expected error persisting network graph" ) ,
@@ -1585,7 +1581,7 @@ mod tests {
1585
1581
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1586
1582
let persister = Arc :: new ( Persister :: new ( data_dir) . with_scorer_error ( std:: io:: ErrorKind :: Other , "test" ) ) ;
1587
1583
let event_handler = |_: _ | { } ;
1588
- 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 ( ) ) ) ;
1584
+ let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , Some ( nodes [ 0 ] . messenger . clone ( ) ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1589
1585
1590
1586
match bg_processor. stop ( ) {
1591
1587
Ok ( _) => panic ! ( "Expected error persisting scorer" ) ,
@@ -1613,7 +1609,7 @@ mod tests {
1613
1609
_ => panic ! ( "Unexpected event: {:?}" , event) ,
1614
1610
} ;
1615
1611
1616
- 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 ( ) ) ) ;
1612
+ let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , Some ( nodes [ 0 ] . messenger . clone ( ) ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1617
1613
1618
1614
// Open a channel and check that the FundingGenerationReady event was handled.
1619
1615
begin_open_channel ! ( nodes[ 0 ] , nodes[ 1 ] , channel_value) ;
@@ -1653,7 +1649,7 @@ mod tests {
1653
1649
_ => panic ! ( "Unexpected event: {:?}" , event) ,
1654
1650
} ;
1655
1651
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1656
- 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 ( ) ) ) ;
1652
+ let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , Some ( nodes [ 0 ] . messenger . clone ( ) ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1657
1653
1658
1654
// Force close the channel and check that the SpendableOutputs event was handled.
1659
1655
nodes[ 0 ] . node . force_close_broadcasting_latest_txn ( & nodes[ 0 ] . node . list_channels ( ) [ 0 ] . channel_id , & nodes[ 1 ] . node . get_our_node_id ( ) ) . unwrap ( ) ;
@@ -1764,7 +1760,7 @@ mod tests {
1764
1760
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1765
1761
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1766
1762
let event_handler = |_: _ | { } ;
1767
- 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 ( ) ) ) ;
1763
+ let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , Some ( nodes [ 0 ] . messenger . clone ( ) ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1768
1764
1769
1765
loop {
1770
1766
let log_entries = nodes[ 0 ] . logger . lines . lock ( ) . unwrap ( ) ;
@@ -1837,7 +1833,7 @@ mod tests {
1837
1833
let persister = Arc :: new ( Persister :: new ( data_dir) . with_graph_persistence_notifier ( sender) ) ;
1838
1834
1839
1835
let event_handler = |_: _ | { } ;
1840
- let background_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . rapid_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1836
+ let background_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , Some ( nodes [ 0 ] . messenger . clone ( ) ) , nodes[ 0 ] . rapid_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1841
1837
1842
1838
do_test_not_pruning_network_graph_until_graph_sync_completion ! ( nodes,
1843
1839
receiver. recv_timeout( Duration :: from_secs( super :: FIRST_NETWORK_PRUNE_TIMER * 5 ) ) ,
@@ -1995,7 +1991,7 @@ mod tests {
1995
1991
let ( _, nodes) = create_nodes ( 1 , "test_payment_path_scoring" ) ;
1996
1992
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
1997
1993
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1998
- 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 ( ) ) ) ;
1994
+ let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , Some ( nodes [ 0 ] . messenger . clone ( ) ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
1999
1995
2000
1996
do_test_payment_path_scoring ! ( nodes, receiver. recv_timeout( Duration :: from_secs( EVENT_DEADLINE ) ) ) ;
2001
1997
0 commit comments