Skip to content

Commit f357700

Browse files
committed
fix sweeper kvstore sync
1 parent ba946ab commit f357700

File tree

3 files changed

+21
-11
lines changed

3 files changed

+21
-11
lines changed

lightning-background-processor/src/lib.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -997,9 +997,7 @@ impl BackgroundProcessor {
997997
D: 'static + Deref,
998998
O: 'static + Deref,
999999
K: 'static + Deref,
1000-
OS: 'static
1001-
+ Deref<Target = OutputSweeperSync<T, D, F, CF, Arc<KVStoreSyncWrapper<K>>, L, O>>
1002-
+ Send,
1000+
OS: 'static + Deref<Target = OutputSweeperSync<T, D, F, CF, K, L, O>> + Send,
10031001
FS: FutureSpawner,
10041002
>(
10051003
persister: PS, event_handler: EH, chain_monitor: M, channel_manager: CM,

lightning/src/util/persist.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ pub trait KVStoreSync {
215215
}
216216

217217
/// A wrapper around a [`KVStoreSync`] that implements the [`KVStore`] trait.
218-
pub struct KVStoreSyncWrapper<K: Deref>(Arc<K>)
218+
pub struct KVStoreSyncWrapper<K: Deref>(K)
219219
where
220220
K::Target: KVStoreSync;
221221

@@ -224,7 +224,7 @@ where
224224
K::Target: KVStoreSync,
225225
{
226226
/// Constructs a new [`KVStoreSyncWrapper`].
227-
pub fn new(kv_store: Arc<K>) -> Self {
227+
pub fn new(kv_store: K) -> Self {
228228
Self(kv_store)
229229
}
230230
}

lightning/src/util/sweep.rs

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ use crate::sync::Arc;
2323
use crate::sync::Mutex;
2424
use crate::util::logger::Logger;
2525
use crate::util::persist::{
26-
KVStore, OUTPUT_SWEEPER_PERSISTENCE_KEY, OUTPUT_SWEEPER_PERSISTENCE_PRIMARY_NAMESPACE,
27-
OUTPUT_SWEEPER_PERSISTENCE_SECONDARY_NAMESPACE,
26+
KVStore, KVStoreSync, KVStoreSyncWrapper, OUTPUT_SWEEPER_PERSISTENCE_KEY,
27+
OUTPUT_SWEEPER_PERSISTENCE_PRIMARY_NAMESPACE, OUTPUT_SWEEPER_PERSISTENCE_SECONDARY_NAMESPACE,
2828
};
2929
use crate::util::ser::{Readable, ReadableArgs, Writeable};
3030
use crate::{impl_writeable_tlv_based, log_debug, log_error};
@@ -916,11 +916,21 @@ where
916916
D::Target: ChangeDestinationSourceSync,
917917
E::Target: FeeEstimator,
918918
F::Target: Filter,
919-
K::Target: KVStore,
919+
K::Target: KVStoreSync,
920920
L::Target: Logger,
921921
O::Target: OutputSpender,
922922
{
923-
sweeper: Arc<OutputSweeper<B, Arc<ChangeDestinationSourceSyncWrapper<D>>, E, F, K, L, O>>,
923+
sweeper: Arc<
924+
OutputSweeper<
925+
B,
926+
Arc<ChangeDestinationSourceSyncWrapper<D>>,
927+
E,
928+
F,
929+
Arc<KVStoreSyncWrapper<K>>,
930+
L,
931+
O,
932+
>,
933+
>,
924934
}
925935

926936
impl<B: Deref, D: Deref, E: Deref, F: Deref, K: Deref, L: Deref, O: Deref>
@@ -930,7 +940,7 @@ where
930940
D::Target: ChangeDestinationSourceSync,
931941
E::Target: FeeEstimator,
932942
F::Target: Filter,
933-
K::Target: KVStore,
943+
K::Target: KVStoreSync,
934944
L::Target: Logger,
935945
O::Target: OutputSpender,
936946
{
@@ -942,6 +952,8 @@ where
942952
let change_destination_source =
943953
Arc::new(ChangeDestinationSourceSyncWrapper::new(change_destination_source));
944954

955+
let kv_store = Arc::new(KVStoreSyncWrapper::new(kv_store));
956+
945957
let sweeper = OutputSweeper::new(
946958
best_block,
947959
broadcaster,
@@ -1006,7 +1018,7 @@ where
10061018
D::Target: ChangeDestinationSourceSync,
10071019
E::Target: FeeEstimator,
10081020
F::Target: Filter + Sync + Send,
1009-
K::Target: KVStore,
1021+
K::Target: KVStoreSync,
10101022
L::Target: Logger,
10111023
O::Target: OutputSpender,
10121024
{

0 commit comments

Comments
 (0)