Skip to content

Commit 992e342

Browse files
committed
f Account for KVStore::write taking buf by value
1 parent 7ea2c21 commit 992e342

File tree

8 files changed

+31
-28
lines changed

8 files changed

+31
-28
lines changed

src/data_store.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -143,18 +143,18 @@ where
143143
let store_key = object.id().encode_to_hex_str();
144144
let data = object.encode();
145145
self.kv_store
146-
.write(&self.primary_namespace, &self.secondary_namespace, &store_key, &data)
146+
.write(&self.primary_namespace, &self.secondary_namespace, &store_key, data)
147147
.map_err(|e| {
148-
log_error!(
149-
self.logger,
150-
"Write for key {}/{}/{} failed due to: {}",
151-
&self.primary_namespace,
152-
&self.secondary_namespace,
153-
store_key,
154-
e
155-
);
156-
Error::PersistenceFailed
157-
})?;
148+
log_error!(
149+
self.logger,
150+
"Write for key {}/{}/{} failed due to: {}",
151+
&self.primary_namespace,
152+
&self.secondary_namespace,
153+
store_key,
154+
e
155+
);
156+
Error::PersistenceFailed
157+
})?;
158158
Ok(())
159159
}
160160
}

src/event.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ where
358358
EVENT_QUEUE_PERSISTENCE_PRIMARY_NAMESPACE,
359359
EVENT_QUEUE_PERSISTENCE_SECONDARY_NAMESPACE,
360360
EVENT_QUEUE_PERSISTENCE_KEY,
361-
&data,
361+
data,
362362
)
363363
.map_err(|e| {
364364
log_error!(

src/io/sqlite_store/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ impl KVStoreSync for SqliteStore {
180180
}
181181

182182
fn write(
183-
&self, primary_namespace: &str, secondary_namespace: &str, key: &str, buf: &[u8],
183+
&self, primary_namespace: &str, secondary_namespace: &str, key: &str, buf: Vec<u8>,
184184
) -> io::Result<()> {
185185
check_namespace_key_validity(primary_namespace, secondary_namespace, Some(key), "write")?;
186186

src/io/test_utils.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,22 +30,23 @@ pub(crate) fn random_storage_path() -> PathBuf {
3030
}
3131

3232
pub(crate) fn do_read_write_remove_list_persist<K: KVStoreSync + RefUnwindSafe>(kv_store: &K) {
33-
let data = [42u8; 32];
33+
let data = vec![42u8; 32];
3434

3535
let primary_namespace = "testspace";
3636
let secondary_namespace = "testsubspace";
3737
let key = "testkey";
3838

3939
// Test the basic KVStore operations.
40-
kv_store.write(primary_namespace, secondary_namespace, key, &data).unwrap();
40+
kv_store.write(primary_namespace, secondary_namespace, key, data.clone()).unwrap();
4141

4242
// Test empty primary/secondary namespaces are allowed, but not empty primary namespace and non-empty
4343
// secondary primary_namespace, and not empty key.
44-
kv_store.write("", "", key, &data).unwrap();
45-
let res = std::panic::catch_unwind(|| kv_store.write("", secondary_namespace, key, &data));
44+
kv_store.write("", "", key, data.clone()).unwrap();
45+
let res =
46+
std::panic::catch_unwind(|| kv_store.write("", secondary_namespace, key, data.clone()));
4647
assert!(res.is_err());
4748
let res = std::panic::catch_unwind(|| {
48-
kv_store.write(primary_namespace, secondary_namespace, "", &data)
49+
kv_store.write(primary_namespace, secondary_namespace, "", data.clone())
4950
});
5051
assert!(res.is_err());
5152

@@ -63,7 +64,7 @@ pub(crate) fn do_read_write_remove_list_persist<K: KVStoreSync + RefUnwindSafe>(
6364

6465
// Ensure we have no issue operating with primary_namespace/secondary_namespace/key being KVSTORE_NAMESPACE_KEY_MAX_LEN
6566
let max_chars: String = std::iter::repeat('A').take(KVSTORE_NAMESPACE_KEY_MAX_LEN).collect();
66-
kv_store.write(&max_chars, &max_chars, &max_chars, &data).unwrap();
67+
kv_store.write(&max_chars, &max_chars, &max_chars, data.clone()).unwrap();
6768

6869
let listed_keys = kv_store.list(&max_chars, &max_chars).unwrap();
6970
assert_eq!(listed_keys.len(), 1);

src/io/utils.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ where
287287
NODE_METRICS_PRIMARY_NAMESPACE,
288288
NODE_METRICS_SECONDARY_NAMESPACE,
289289
NODE_METRICS_KEY,
290-
&data,
290+
data,
291291
)
292292
.map_err(|e| {
293293
log_error!(
@@ -442,7 +442,7 @@ macro_rules! impl_read_write_change_set_type {
442442
L::Target: LdkLogger,
443443
{
444444
let data = ChangeSetSerWrapper(value).encode();
445-
kv_store.write($primary_namespace, $secondary_namespace, $key, &data).map_err(|e| {
445+
kv_store.write($primary_namespace, $secondary_namespace, $key, data).map_err(|e| {
446446
log_error!(
447447
logger,
448448
"Writing data to key {}/{}/{} failed due to: {}",

src/io/vss_store.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,11 @@ impl KVStoreSync for VssStore {
163163
}
164164

165165
fn write(
166-
&self, primary_namespace: &str, secondary_namespace: &str, key: &str, buf: &[u8],
166+
&self, primary_namespace: &str, secondary_namespace: &str, key: &str, buf: Vec<u8>,
167167
) -> io::Result<()> {
168168
check_namespace_key_validity(primary_namespace, secondary_namespace, Some(key), "write")?;
169169
let version = -1;
170-
let storable = self.storable_builder.build(buf.to_vec(), version);
170+
let storable = self.storable_builder.build(buf, version);
171171
let request = PutObjectRequest {
172172
store_id: self.store_id.clone(),
173173
global_version: None,

src/peer_store.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ where
7373
PEER_INFO_PERSISTENCE_PRIMARY_NAMESPACE,
7474
PEER_INFO_PERSISTENCE_SECONDARY_NAMESPACE,
7575
PEER_INFO_PERSISTENCE_KEY,
76-
&data,
76+
data,
7777
)
7878
.map_err(|e| {
7979
log_error!(

tests/common/mod.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1157,12 +1157,14 @@ impl KVStoreSync for TestSyncStore {
11571157
}
11581158

11591159
fn write(
1160-
&self, primary_namespace: &str, secondary_namespace: &str, key: &str, buf: &[u8],
1160+
&self, primary_namespace: &str, secondary_namespace: &str, key: &str, buf: Vec<u8>,
11611161
) -> lightning::io::Result<()> {
11621162
let _guard = self.serializer.write().unwrap();
1163-
let fs_res = self.fs_store.write(primary_namespace, secondary_namespace, key, buf);
1164-
let sqlite_res = self.sqlite_store.write(primary_namespace, secondary_namespace, key, buf);
1165-
let test_res = self.test_store.write(primary_namespace, secondary_namespace, key, buf);
1163+
let fs_res = self.fs_store.write(primary_namespace, secondary_namespace, key, buf.clone());
1164+
let sqlite_res =
1165+
self.sqlite_store.write(primary_namespace, secondary_namespace, key, buf.clone());
1166+
let test_res =
1167+
self.test_store.write(primary_namespace, secondary_namespace, key, buf.clone());
11661168

11671169
assert!(self
11681170
.do_list(primary_namespace, secondary_namespace)

0 commit comments

Comments
 (0)