@@ -22,6 +22,7 @@ use lightning::ln::channelmanager::ChannelManager;
22
22
use lightning:: ln:: msgs:: { ChannelMessageHandler , OnionMessageHandler , RoutingMessageHandler } ;
23
23
use lightning:: ln:: peer_handler:: { CustomMessageHandler , PeerManager , SocketDescriptor } ;
24
24
use lightning:: routing:: gossip:: { NetworkGraph , P2PGossipSync } ;
25
+ use lightning:: routing:: router:: Router ;
25
26
use lightning:: routing:: scoring:: WriteableScore ;
26
27
use lightning:: util:: events:: { Event , EventHandler , EventsProvider } ;
27
28
use lightning:: util:: logger:: Logger ;
@@ -372,6 +373,7 @@ pub async fn process_events_async<
372
373
T : ' static + Deref + Send + Sync ,
373
374
K : ' static + Deref + Send + Sync ,
374
375
F : ' static + Deref + Send + Sync ,
376
+ R : ' static + Deref + Send + Sync ,
375
377
G : ' static + Deref < Target = NetworkGraph < L > > + Send + Sync ,
376
378
L : ' static + Deref + Send + Sync ,
377
379
P : ' static + Deref + Send + Sync ,
@@ -382,7 +384,7 @@ pub async fn process_events_async<
382
384
EH : ' static + EventHandler + Send ,
383
385
PS : ' static + Deref + Send ,
384
386
M : ' static + Deref < Target = ChainMonitor < Signer , CF , T , F , L , P > > + Send + Sync ,
385
- CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , L > > + Send + Sync ,
387
+ CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , R , L > > + Send + Sync ,
386
388
PGS : ' static + Deref < Target = P2PGossipSync < G , CA , L > > + Send + Sync ,
387
389
RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
388
390
UMH : ' static + Deref + Send + Sync ,
@@ -403,13 +405,14 @@ where
403
405
T :: Target : ' static + BroadcasterInterface ,
404
406
K :: Target : ' static + KeysInterface < Signer = Signer > ,
405
407
F :: Target : ' static + FeeEstimator ,
408
+ R :: Target : ' static + Router ,
406
409
L :: Target : ' static + Logger ,
407
410
P :: Target : ' static + Persist < Signer > ,
408
411
CMH :: Target : ' static + ChannelMessageHandler ,
409
412
OMH :: Target : ' static + OnionMessageHandler ,
410
413
RMH :: Target : ' static + RoutingMessageHandler ,
411
414
UMH :: Target : ' static + CustomMessageHandler ,
412
- PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , L , SC > ,
415
+ PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , R , L , SC > ,
413
416
{
414
417
let mut should_continue = true ;
415
418
define_run_body ! ( persister, event_handler, chain_monitor, channel_manager,
@@ -478,6 +481,7 @@ impl BackgroundProcessor {
478
481
T : ' static + Deref + Send + Sync ,
479
482
K : ' static + Deref + Send + Sync ,
480
483
F : ' static + Deref + Send + Sync ,
484
+ R : ' static + Deref + Send + Sync ,
481
485
G : ' static + Deref < Target = NetworkGraph < L > > + Send + Sync ,
482
486
L : ' static + Deref + Send + Sync ,
483
487
P : ' static + Deref + Send + Sync ,
@@ -488,7 +492,7 @@ impl BackgroundProcessor {
488
492
EH : ' static + EventHandler + Send ,
489
493
PS : ' static + Deref + Send ,
490
494
M : ' static + Deref < Target = ChainMonitor < Signer , CF , T , F , L , P > > + Send + Sync ,
491
- CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , L > > + Send + Sync ,
495
+ CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , R , L > > + Send + Sync ,
492
496
PGS : ' static + Deref < Target = P2PGossipSync < G , CA , L > > + Send + Sync ,
493
497
RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
494
498
UMH : ' static + Deref + Send + Sync ,
@@ -506,13 +510,14 @@ impl BackgroundProcessor {
506
510
T :: Target : ' static + BroadcasterInterface ,
507
511
K :: Target : ' static + KeysInterface < Signer = Signer > ,
508
512
F :: Target : ' static + FeeEstimator ,
513
+ R :: Target : ' static + Router ,
509
514
L :: Target : ' static + Logger ,
510
515
P :: Target : ' static + Persist < Signer > ,
511
516
CMH :: Target : ' static + ChannelMessageHandler ,
512
517
OMH :: Target : ' static + OnionMessageHandler ,
513
518
RMH :: Target : ' static + RoutingMessageHandler ,
514
519
UMH :: Target : ' static + CustomMessageHandler ,
515
- PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , L , SC > ,
520
+ PS :: Target : ' static + Persister < ' a , Signer , CW , T , K , F , R , L , SC > ,
516
521
{
517
522
let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
518
523
let stop_thread_clone = stop_thread. clone ( ) ;
@@ -625,7 +630,7 @@ mod tests {
625
630
type RGS = Arc < RapidGossipSync < Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > , Arc < test_utils:: TestLogger > > > ;
626
631
627
632
struct Node {
628
- node : Arc < SimpleArcChannelManager < ChainMonitor , test_utils:: TestBroadcaster , test_utils:: TestFeeEstimator , test_utils:: TestLogger > > ,
633
+ node : Arc < SimpleArcChannelManager < ChainMonitor , test_utils:: TestBroadcaster , test_utils:: TestFeeEstimator , test_utils:: TestRouter , test_utils :: TestLogger > > ,
629
634
p2p_gossip_sync : PGS ,
630
635
rapid_gossip_sync : RGS ,
631
636
peer_manager : Arc < PeerManager < TestDescriptor , Arc < test_utils:: TestChannelMessageHandler > , Arc < test_utils:: TestRoutingMessageHandler > , IgnoringMessageHandler , Arc < test_utils:: TestLogger > , IgnoringMessageHandler > > ,
@@ -732,6 +737,7 @@ mod tests {
732
737
for i in 0 ..num_nodes {
733
738
let tx_broadcaster = Arc :: new ( test_utils:: TestBroadcaster { txn_broadcasted : Mutex :: new ( Vec :: new ( ) ) , blocks : Arc :: new ( Mutex :: new ( Vec :: new ( ) ) ) } ) ;
734
739
let fee_estimator = Arc :: new ( test_utils:: TestFeeEstimator { sat_per_kw : Mutex :: new ( 253 ) } ) ;
740
+ let router = Arc :: new ( test_utils:: TestRouter { } ) ;
735
741
let chain_source = Arc :: new ( test_utils:: TestChainSource :: new ( Network :: Testnet ) ) ;
736
742
let logger = Arc :: new ( test_utils:: TestLogger :: with_id ( format ! ( "node {}" , i) ) ) ;
737
743
let persister = Arc :: new ( FilesystemPersister :: new ( format ! ( "{}_persister_{}" , persist_dir, i) ) ) ;
@@ -743,7 +749,7 @@ mod tests {
743
749
let chain_monitor = Arc :: new ( chainmonitor:: ChainMonitor :: new ( Some ( chain_source. clone ( ) ) , tx_broadcaster. clone ( ) , logger. clone ( ) , fee_estimator. clone ( ) , persister. clone ( ) ) ) ;
744
750
let best_block = BestBlock :: from_genesis ( network) ;
745
751
let params = ChainParameters { network, best_block } ;
746
- let manager = Arc :: new ( ChannelManager :: new ( fee_estimator. clone ( ) , chain_monitor. clone ( ) , tx_broadcaster. clone ( ) , logger. clone ( ) , keys_manager. clone ( ) , UserConfig :: default ( ) , params) ) ;
752
+ let manager = Arc :: new ( ChannelManager :: new ( fee_estimator. clone ( ) , chain_monitor. clone ( ) , tx_broadcaster. clone ( ) , router . clone ( ) , logger. clone ( ) , keys_manager. clone ( ) , UserConfig :: default ( ) , params) ) ;
747
753
let network_graph = Arc :: new ( NetworkGraph :: new ( genesis_block. header . block_hash ( ) , logger. clone ( ) ) ) ;
748
754
let p2p_gossip_sync = Arc :: new ( P2PGossipSync :: new ( network_graph. clone ( ) , Some ( chain_source. clone ( ) ) , logger. clone ( ) ) ) ;
749
755
let rapid_gossip_sync = Arc :: new ( RapidGossipSync :: new ( network_graph. clone ( ) ) ) ;
0 commit comments