@@ -1190,14 +1190,51 @@ pub(crate) fn do_channel_full_cycle<E: ElectrumApi>(
1190
1190
1191
1191
// A `KVStore` impl for testing purposes that wraps all our `KVStore`s and asserts their synchronicity.
1192
1192
pub ( crate ) struct TestSyncStore {
1193
+ inner : Arc < TestSyncStoreInner > ,
1194
+ }
1195
+
1196
+ impl TestSyncStore {
1197
+ pub ( crate ) fn new ( dest_dir : PathBuf ) -> Self {
1198
+ let inner = Arc :: new ( TestSyncStoreInner :: new ( dest_dir) ) ;
1199
+ Self { inner }
1200
+ }
1201
+ }
1202
+
1203
+ impl KVStoreSync for TestSyncStore {
1204
+ fn read (
1205
+ & self , primary_namespace : & str , secondary_namespace : & str , key : & str ,
1206
+ ) -> lightning:: io:: Result < Vec < u8 > > {
1207
+ self . inner . read_internal ( primary_namespace, secondary_namespace, key)
1208
+ }
1209
+
1210
+ fn write (
1211
+ & self , primary_namespace : & str , secondary_namespace : & str , key : & str , buf : Vec < u8 > ,
1212
+ ) -> lightning:: io:: Result < ( ) > {
1213
+ self . inner . write_internal ( primary_namespace, secondary_namespace, key, buf)
1214
+ }
1215
+
1216
+ fn remove (
1217
+ & self , primary_namespace : & str , secondary_namespace : & str , key : & str , lazy : bool ,
1218
+ ) -> lightning:: io:: Result < ( ) > {
1219
+ self . inner . remove_internal ( primary_namespace, secondary_namespace, key, lazy)
1220
+ }
1221
+
1222
+ fn list (
1223
+ & self , primary_namespace : & str , secondary_namespace : & str ,
1224
+ ) -> lightning:: io:: Result < Vec < String > > {
1225
+ self . inner . list_internal ( primary_namespace, secondary_namespace)
1226
+ }
1227
+ }
1228
+
1229
+ struct TestSyncStoreInner {
1193
1230
serializer : RwLock < ( ) > ,
1194
1231
test_store : TestStore ,
1195
1232
fs_store : FilesystemStore ,
1196
1233
sqlite_store : SqliteStore ,
1197
1234
}
1198
1235
1199
- impl TestSyncStore {
1200
- pub ( crate ) fn new ( dest_dir : PathBuf ) -> Self {
1236
+ impl TestSyncStoreInner {
1237
+ fn new ( dest_dir : PathBuf ) -> Self {
1201
1238
let serializer = RwLock :: new ( ( ) ) ;
1202
1239
let mut fs_dir = dest_dir. clone ( ) ;
1203
1240
fs_dir. push ( "fs_store" ) ;
@@ -1332,29 +1369,3 @@ impl TestSyncStore {
1332
1369
self . do_list ( primary_namespace, secondary_namespace)
1333
1370
}
1334
1371
}
1335
-
1336
- impl KVStoreSync for TestSyncStore {
1337
- fn read (
1338
- & self , primary_namespace : & str , secondary_namespace : & str , key : & str ,
1339
- ) -> lightning:: io:: Result < Vec < u8 > > {
1340
- self . read_internal ( primary_namespace, secondary_namespace, key)
1341
- }
1342
-
1343
- fn write (
1344
- & self , primary_namespace : & str , secondary_namespace : & str , key : & str , buf : Vec < u8 > ,
1345
- ) -> lightning:: io:: Result < ( ) > {
1346
- self . write_internal ( primary_namespace, secondary_namespace, key, buf)
1347
- }
1348
-
1349
- fn remove (
1350
- & self , primary_namespace : & str , secondary_namespace : & str , key : & str , lazy : bool ,
1351
- ) -> lightning:: io:: Result < ( ) > {
1352
- self . remove_internal ( primary_namespace, secondary_namespace, key, lazy)
1353
- }
1354
-
1355
- fn list (
1356
- & self , primary_namespace : & str , secondary_namespace : & str ,
1357
- ) -> lightning:: io:: Result < Vec < String > > {
1358
- self . list_internal ( primary_namespace, secondary_namespace)
1359
- }
1360
- }
0 commit comments