@@ -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| {
@@ -1018,7 +1020,7 @@ pub async fn process_events_async<
1018
1020
D : ' static + Deref ,
1019
1021
O : ' static + Deref ,
1020
1022
K : ' static + Deref ,
1021
- OS : ' static + Deref < Target = OutputSweeper < T , D , F , CF , K , L , O > > ,
1023
+ OS : ' static + Deref < Target = OutputSweeperSyncKVStore < T , D , F , CF , K , L , O > > ,
1022
1024
S : ' static + Deref < Target = SC > + Send + Sync ,
1023
1025
SC : for < ' b > WriteableScore < ' b > ,
1024
1026
SleepFuture : core:: future:: Future < Output = bool > + core:: marker:: Unpin ,
@@ -1048,6 +1050,7 @@ where
1048
1050
K :: Target : ' static + KVStoreSync ,
1049
1051
{
1050
1052
let persister = PersisterSyncWrapper :: < ' static , PS , CM , L , S > :: new ( persister) ;
1053
+ let sweeper = sweeper. map ( |s| s. sweeper_async ( ) ) ;
1051
1054
process_events_full_async (
1052
1055
persister,
1053
1056
event_handler,
@@ -1300,6 +1303,7 @@ impl Drop for BackgroundProcessor {
1300
1303
#[ cfg( all( feature = "std" , test) ) ]
1301
1304
mod tests {
1302
1305
use super :: { BackgroundProcessor , GossipSync , FRESHNESS_TIMER } ;
1306
+ use crate :: PersisterSyncWrapper ;
1303
1307
use bitcoin:: constants:: { genesis_block, ChainHash } ;
1304
1308
use bitcoin:: hashes:: Hash ;
1305
1309
use bitcoin:: locktime:: absolute:: LockTime ;
@@ -2253,11 +2257,12 @@ mod tests {
2253
2257
open_channel ! ( nodes[ 0 ] , nodes[ 1 ] , 100000 ) ;
2254
2258
2255
2259
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
2256
- let persister = Arc :: new (
2260
+ let persister_sync = Arc :: new (
2257
2261
PersisterSync :: new ( data_dir) . with_manager_error ( std:: io:: ErrorKind :: Other , "test" ) ,
2258
2262
) ;
2263
+ let persister = PersisterSyncWrapper :: new ( persister_sync) ;
2259
2264
2260
- let bp_future = super :: process_events_async (
2265
+ let bp_future = super :: process_events_full_async (
2261
2266
persister,
2262
2267
|_: _ | async { Ok ( ( ) ) } ,
2263
2268
Arc :: clone ( & nodes[ 0 ] . chain_monitor ) ,
@@ -2764,11 +2769,12 @@ mod tests {
2764
2769
let ( _, nodes) =
2765
2770
create_nodes ( 2 , "test_not_pruning_network_graph_until_graph_sync_completion_async" ) ;
2766
2771
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
2767
- let persister =
2772
+ let persister_sync =
2768
2773
Arc :: new ( PersisterSync :: new ( data_dir) . with_graph_persistence_notifier ( sender) ) ;
2774
+ let persister = PersisterSyncWrapper :: new ( persister_sync) ;
2769
2775
2770
2776
let ( exit_sender, exit_receiver) = tokio:: sync:: watch:: channel ( ( ) ) ;
2771
- let bp_future = super :: process_events_async (
2777
+ let bp_future = super :: process_events_full_async (
2772
2778
persister,
2773
2779
|_: _ | async { Ok ( ( ) ) } ,
2774
2780
Arc :: clone ( & nodes[ 0 ] . chain_monitor ) ,
@@ -2981,11 +2987,12 @@ mod tests {
2981
2987
2982
2988
let ( _, nodes) = create_nodes ( 1 , "test_payment_path_scoring_async" ) ;
2983
2989
let data_dir = nodes[ 0 ] . kv_store . get_data_dir ( ) ;
2984
- let persister = Arc :: new ( PersisterSync :: new ( data_dir) ) ;
2990
+ let persister_sync = Arc :: new ( PersisterSync :: new ( data_dir) ) ;
2991
+ let persister = PersisterSyncWrapper :: new ( persister_sync) ;
2985
2992
2986
2993
let ( exit_sender, exit_receiver) = tokio:: sync:: watch:: channel ( ( ) ) ;
2987
2994
2988
- let bp_future = super :: process_events_async (
2995
+ let bp_future = super :: process_events_full_async (
2989
2996
persister,
2990
2997
event_handler,
2991
2998
Arc :: clone ( & nodes[ 0 ] . chain_monitor ) ,
0 commit comments