@@ -62,6 +62,11 @@ impl SocketDescriptor for TestDescriptor {
62
62
fn disconnect_socket ( & mut self ) { }
63
63
}
64
64
65
+ #[ cfg( c_bindings) ]
66
+ type LockingWrapper < T > = lightning:: routing:: scoring:: MultiThreadedLockableScore < T > ;
67
+ #[ cfg( not( c_bindings) ) ]
68
+ type LockingWrapper < T > = std:: sync:: Mutex < T > ;
69
+
65
70
type ChannelManager = channelmanager:: ChannelManager <
66
71
Arc < ChainMonitor > ,
67
72
Arc < test_utils:: TestBroadcaster > ,
@@ -74,7 +79,7 @@ type ChannelManager = channelmanager::ChannelManager<
74
79
Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > ,
75
80
Arc < test_utils:: TestLogger > ,
76
81
Arc < KeysManager > ,
77
- Arc < Mutex < TestScorer > > ,
82
+ Arc < LockingWrapper < TestScorer > > ,
78
83
( ) ,
79
84
TestScorer ,
80
85
> ,
@@ -136,7 +141,7 @@ pub(crate) struct Node {
136
141
pub ( crate ) network_graph : Arc < NetworkGraph < Arc < test_utils:: TestLogger > > > ,
137
142
pub ( crate ) logger : Arc < test_utils:: TestLogger > ,
138
143
pub ( crate ) best_block : BestBlock ,
139
- pub ( crate ) scorer : Arc < Mutex < TestScorer > > ,
144
+ pub ( crate ) scorer : Arc < LockingWrapper < TestScorer > > ,
140
145
}
141
146
142
147
impl Drop for Node {
@@ -371,6 +376,9 @@ impl ScoreUpdate for TestScorer {
371
376
fn time_passed ( & mut self , _: Duration ) { }
372
377
}
373
378
379
+ #[ cfg( c_bindings) ]
380
+ impl lightning:: routing:: scoring:: Score for TestScorer { }
381
+
374
382
impl Drop for TestScorer {
375
383
fn drop ( & mut self ) {
376
384
if std:: thread:: panicking ( ) {
@@ -400,7 +408,7 @@ pub(crate) fn create_liquidity_node(
400
408
let logger = Arc :: new ( test_utils:: TestLogger :: with_id ( format ! ( "node {}" , i) ) ) ;
401
409
let genesis_block = genesis_block ( network) ;
402
410
let network_graph = Arc :: new ( NetworkGraph :: new ( network, logger. clone ( ) ) ) ;
403
- let scorer = Arc :: new ( Mutex :: new ( TestScorer :: new ( ) ) ) ;
411
+ let scorer = Arc :: new ( LockingWrapper :: new ( TestScorer :: new ( ) ) ) ;
404
412
let now = Duration :: from_secs ( genesis_block. header . time as u64 ) ;
405
413
let seed = [ i as u8 ; 32 ] ;
406
414
let keys_manager = Arc :: new ( KeysManager :: new ( & seed, now. as_secs ( ) , now. subsec_nanos ( ) ) ) ;
0 commit comments