@@ -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 ;
@@ -342,6 +343,7 @@ pub async fn process_events_async<
342
343
T : ' static + Deref + Send + Sync ,
343
344
K : ' static + Deref + Send + Sync ,
344
345
F : ' static + Deref + Send + Sync ,
346
+ R : ' static + Deref + Send + Sync ,
345
347
G : ' static + Deref < Target = NetworkGraph < L > > + Send + Sync ,
346
348
L : ' static + Deref + Send + Sync ,
347
349
P : ' static + Deref + Send + Sync ,
@@ -353,7 +355,7 @@ pub async fn process_events_async<
353
355
EventHandler : Fn ( Event ) -> EventHandlerFuture ,
354
356
PS : ' static + Deref + Send ,
355
357
M : ' static + Deref < Target = ChainMonitor < <K :: Target as KeysInterface >:: Signer , CF , T , F , L , P > > + Send + Sync ,
356
- CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , L > > + Send + Sync ,
358
+ CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , R , L > > + Send + Sync ,
357
359
PGS : ' static + Deref < Target = P2PGossipSync < G , CA , L > > + Send + Sync ,
358
360
RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
359
361
UMH : ' static + Deref + Send + Sync ,
@@ -374,13 +376,14 @@ where
374
376
T :: Target : ' static + BroadcasterInterface ,
375
377
K :: Target : ' static + KeysInterface ,
376
378
F :: Target : ' static + FeeEstimator ,
379
+ R :: Target : ' static + Router ,
377
380
L :: Target : ' static + Logger ,
378
381
P :: Target : ' static + Persist < <K :: Target as KeysInterface >:: Signer > ,
379
382
CMH :: Target : ' static + ChannelMessageHandler ,
380
383
OMH :: Target : ' static + OnionMessageHandler ,
381
384
RMH :: Target : ' static + RoutingMessageHandler ,
382
385
UMH :: Target : ' static + CustomMessageHandler ,
383
- PS :: Target : ' static + Persister < ' a , CW , T , K , F , L , SC > ,
386
+ PS :: Target : ' static + Persister < ' a , CW , T , K , F , R , L , SC > ,
384
387
{
385
388
let mut should_break = true ;
386
389
let async_event_handler = |event| {
@@ -460,6 +463,7 @@ impl BackgroundProcessor {
460
463
T : ' static + Deref + Send + Sync ,
461
464
K : ' static + Deref + Send + Sync ,
462
465
F : ' static + Deref + Send + Sync ,
466
+ R : ' static + Deref + Send + Sync ,
463
467
G : ' static + Deref < Target = NetworkGraph < L > > + Send + Sync ,
464
468
L : ' static + Deref + Send + Sync ,
465
469
P : ' static + Deref + Send + Sync ,
@@ -470,7 +474,7 @@ impl BackgroundProcessor {
470
474
EH : ' static + EventHandler + Send ,
471
475
PS : ' static + Deref + Send ,
472
476
M : ' static + Deref < Target = ChainMonitor < <K :: Target as KeysInterface >:: Signer , CF , T , F , L , P > > + Send + Sync ,
473
- CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , L > > + Send + Sync ,
477
+ CM : ' static + Deref < Target = ChannelManager < CW , T , K , F , R , L > > + Send + Sync ,
474
478
PGS : ' static + Deref < Target = P2PGossipSync < G , CA , L > > + Send + Sync ,
475
479
RGS : ' static + Deref < Target = RapidGossipSync < G , L > > + Send ,
476
480
UMH : ' static + Deref + Send + Sync ,
@@ -488,13 +492,14 @@ impl BackgroundProcessor {
488
492
T :: Target : ' static + BroadcasterInterface ,
489
493
K :: Target : ' static + KeysInterface ,
490
494
F :: Target : ' static + FeeEstimator ,
495
+ R :: Target : ' static + Router ,
491
496
L :: Target : ' static + Logger ,
492
497
P :: Target : ' static + Persist < <K :: Target as KeysInterface >:: Signer > ,
493
498
CMH :: Target : ' static + ChannelMessageHandler ,
494
499
OMH :: Target : ' static + OnionMessageHandler ,
495
500
RMH :: Target : ' static + RoutingMessageHandler ,
496
501
UMH :: Target : ' static + CustomMessageHandler ,
497
- PS :: Target : ' static + Persister < ' a , CW , T , K , F , L , SC > ,
502
+ PS :: Target : ' static + Persister < ' a , CW , T , K , F , R , L , SC > ,
498
503
{
499
504
let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
500
505
let stop_thread_clone = stop_thread. clone ( ) ;
@@ -615,7 +620,7 @@ mod tests {
615
620
type RGS = Arc < RapidGossipSync < Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > , Arc < test_utils:: TestLogger > > > ;
616
621
617
622
struct Node {
618
- node : Arc < SimpleArcChannelManager < ChainMonitor , test_utils:: TestBroadcaster , test_utils:: TestFeeEstimator , test_utils:: TestLogger > > ,
623
+ node : Arc < SimpleArcChannelManager < ChainMonitor , test_utils:: TestBroadcaster , test_utils:: TestFeeEstimator , test_utils:: TestRouter , test_utils :: TestLogger > > ,
619
624
p2p_gossip_sync : PGS ,
620
625
rapid_gossip_sync : RGS ,
621
626
peer_manager : Arc < PeerManager < TestDescriptor , Arc < test_utils:: TestChannelMessageHandler > , Arc < test_utils:: TestRoutingMessageHandler > , IgnoringMessageHandler , Arc < test_utils:: TestLogger > , IgnoringMessageHandler > > ,
@@ -722,6 +727,7 @@ mod tests {
722
727
for i in 0 ..num_nodes {
723
728
let tx_broadcaster = Arc :: new ( test_utils:: TestBroadcaster { txn_broadcasted : Mutex :: new ( Vec :: new ( ) ) , blocks : Arc :: new ( Mutex :: new ( Vec :: new ( ) ) ) } ) ;
724
729
let fee_estimator = Arc :: new ( test_utils:: TestFeeEstimator { sat_per_kw : Mutex :: new ( 253 ) } ) ;
730
+ let router = Arc :: new ( test_utils:: TestRouter { } ) ;
725
731
let chain_source = Arc :: new ( test_utils:: TestChainSource :: new ( Network :: Testnet ) ) ;
726
732
let logger = Arc :: new ( test_utils:: TestLogger :: with_id ( format ! ( "node {}" , i) ) ) ;
727
733
let persister = Arc :: new ( FilesystemPersister :: new ( format ! ( "{}_persister_{}" , persist_dir, i) ) ) ;
@@ -733,7 +739,7 @@ mod tests {
733
739
let chain_monitor = Arc :: new ( chainmonitor:: ChainMonitor :: new ( Some ( chain_source. clone ( ) ) , tx_broadcaster. clone ( ) , logger. clone ( ) , fee_estimator. clone ( ) , persister. clone ( ) ) ) ;
734
740
let best_block = BestBlock :: from_genesis ( network) ;
735
741
let params = ChainParameters { network, best_block } ;
736
- let manager = Arc :: new ( ChannelManager :: new ( fee_estimator. clone ( ) , chain_monitor. clone ( ) , tx_broadcaster. clone ( ) , logger. clone ( ) , keys_manager. clone ( ) , UserConfig :: default ( ) , params) ) ;
742
+ 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) ) ;
737
743
let network_graph = Arc :: new ( NetworkGraph :: new ( genesis_block. header . block_hash ( ) , logger. clone ( ) ) ) ;
738
744
let p2p_gossip_sync = Arc :: new ( P2PGossipSync :: new ( network_graph. clone ( ) , Some ( chain_source. clone ( ) ) , logger. clone ( ) ) ) ;
739
745
let rapid_gossip_sync = Arc :: new ( RapidGossipSync :: new ( network_graph. clone ( ) ) ) ;
0 commit comments