@@ -40,12 +40,14 @@ use lightning::sign::ChangeDestinationSourceSync;
40
40
use lightning:: sign:: EntropySource ;
41
41
use lightning:: sign:: OutputSpender ;
42
42
use lightning:: util:: logger:: Logger ;
43
+ use lightning:: util:: persist:: KVStore ;
43
44
use lightning:: util:: persist:: KVStoreSync ;
44
45
use lightning:: util:: persist:: Persister ;
45
46
use lightning:: util:: persist:: PersisterSync ;
46
47
use lightning:: util:: sweep:: OutputSweeper ;
47
48
#[ cfg( feature = "std" ) ]
48
49
use lightning:: util:: sweep:: OutputSweeperSync ;
50
+ use lightning:: util:: sweep:: OutputSweeperSyncKVStore ;
49
51
#[ cfg( feature = "std" ) ]
50
52
use lightning:: util:: wakers:: Sleeper ;
51
53
use lightning_rapid_gossip_sync:: RapidGossipSync ;
@@ -698,7 +700,7 @@ use futures_util::{dummy_waker, OptionalSelector, Selector, SelectorOutput};
698
700
/// # type LiquidityManager<B, F, FE> = lightning_liquidity::LiquidityManager<Arc<lightning::sign::KeysManager>, Arc<ChannelManager<B, F, FE>>, Arc<F>>;
699
701
/// # type Scorer = RwLock<lightning::routing::scoring::ProbabilisticScorer<Arc<NetworkGraph>, Arc<Logger>>>;
700
702
/// # type PeerManager<B, F, FE, UL> = lightning::ln::peer_handler::SimpleArcPeerManager<SocketDescriptor, ChainMonitor<B, F, FE>, B, FE, Arc<UL>, Logger, F, StoreSync>;
701
- /// # type OutputSweeper<B, D, FE, F, O> = lightning::util::sweep::OutputSweeper<Arc<B>, Arc<D>, Arc<FE>, Arc<F>, Arc<StoreSync >, Arc<Logger>, Arc<O>>;
703
+ /// # type OutputSweeper<B, D, FE, F, O> = lightning::util::sweep::OutputSweeper<Arc<B>, Arc<D>, Arc<FE>, Arc<F>, Arc<Store >, Arc<Logger>, Arc<O>>;
702
704
///
703
705
/// # struct Node<
704
706
/// # B: lightning::chain::chaininterface::BroadcasterInterface + Send + Sync + 'static,
@@ -842,7 +844,7 @@ where
842
844
LM :: Target : ALiquidityManager ,
843
845
O :: Target : ' static + OutputSpender ,
844
846
D :: Target : ' static + ChangeDestinationSource ,
845
- K :: Target : ' static + KVStoreSync ,
847
+ K :: Target : ' static + KVStore ,
846
848
{
847
849
let mut should_break = false ;
848
850
let async_event_handler = |event| {
@@ -1020,7 +1022,7 @@ pub async fn process_events_async<
1020
1022
D : ' static + Deref ,
1021
1023
O : ' static + Deref ,
1022
1024
K : ' static + Deref ,
1023
- OS : ' static + Deref < Target = OutputSweeper < T , D , F , CF , K , L , O > > ,
1025
+ OS : ' static + Deref < Target = OutputSweeperSyncKVStore < T , D , F , CF , K , L , O > > ,
1024
1026
S : ' static + Deref < Target = SC > + Send + Sync ,
1025
1027
SC : for < ' b > WriteableScore < ' b > ,
1026
1028
SleepFuture : core:: future:: Future < Output = bool > + core:: marker:: Unpin ,
@@ -1050,6 +1052,7 @@ where
1050
1052
K :: Target : ' static + KVStoreSync ,
1051
1053
{
1052
1054
let persister = PersisterSyncWrapper :: < ' static , PS , CM , L , S > :: new ( persister) ;
1055
+ let sweeper = sweeper. map ( |s| s. sweeper_async ( ) ) ;
1053
1056
process_events_full_async (
1054
1057
persister,
1055
1058
event_handler,
@@ -1302,6 +1305,7 @@ impl Drop for BackgroundProcessor {
1302
1305
#[ cfg( all( feature = "std" , test) ) ]
1303
1306
mod tests {
1304
1307
use super :: { BackgroundProcessor , GossipSync , FRESHNESS_TIMER } ;
1308
+ use crate :: PersisterSyncWrapper ;
1305
1309
use bitcoin:: constants:: { genesis_block, ChainHash } ;
1306
1310
use bitcoin:: hashes:: Hash ;
1307
1311
use bitcoin:: locktime:: absolute:: LockTime ;
@@ -2255,11 +2259,12 @@ mod tests {
2255
2259
open_channel ! ( nodes[ 0 ] , nodes[ 1 ] , 100000 ) ;
2256
2260
2257
2261
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
2258
- let persister = Arc :: new (
2262
+ let persister_sync = Arc :: new (
2259
2263
PersisterSync :: new ( data_dir) . with_manager_error ( std:: io:: ErrorKind :: Other , "test" ) ,
2260
2264
) ;
2265
+ let persister = PersisterSyncWrapper :: new ( persister_sync) ;
2261
2266
2262
- let bp_future = super :: process_events_async (
2267
+ let bp_future = super :: process_events_full_async (
2263
2268
persister,
2264
2269
|_: _ | async { Ok ( ( ) ) } ,
2265
2270
Arc :: clone ( & nodes[ 0 ] . chain_monitor ) ,
@@ -2766,11 +2771,12 @@ mod tests {
2766
2771
let ( _, nodes) =
2767
2772
create_nodes ( 2 , "test_not_pruning_network_graph_until_graph_sync_completion_async" ) ;
2768
2773
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
2769
- let persister =
2774
+ let persister_sync =
2770
2775
Arc :: new ( PersisterSync :: new ( data_dir) . with_graph_persistence_notifier ( sender) ) ;
2776
+ let persister = PersisterSyncWrapper :: new ( persister_sync) ;
2771
2777
2772
2778
let ( exit_sender, exit_receiver) = tokio:: sync:: watch:: channel ( ( ) ) ;
2773
- let bp_future = super :: process_events_async (
2779
+ let bp_future = super :: process_events_full_async (
2774
2780
persister,
2775
2781
|_: _ | async { Ok ( ( ) ) } ,
2776
2782
Arc :: clone ( & nodes[ 0 ] . chain_monitor ) ,
@@ -2983,11 +2989,12 @@ mod tests {
2983
2989
2984
2990
let ( _, nodes) = create_nodes ( 1 , "test_payment_path_scoring_async" ) ;
2985
2991
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
2986
- let persister = Arc :: new ( PersisterSync :: new ( data_dir) ) ;
2992
+ let persister_sync = Arc :: new ( PersisterSync :: new ( data_dir) ) ;
2993
+ let persister = PersisterSyncWrapper :: new ( persister_sync) ;
2987
2994
2988
2995
let ( exit_sender, exit_receiver) = tokio:: sync:: watch:: channel ( ( ) ) ;
2989
2996
2990
- let bp_future = super :: process_events_async (
2997
+ let bp_future = super :: process_events_full_async (
2991
2998
persister,
2992
2999
event_handler,
2993
3000
Arc :: clone ( & nodes[ 0 ] . chain_monitor ) ,
0 commit comments