You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuweni.apache.org by to...@apache.org on 2020/02/16 07:27:30 UTC
[incubator-tuweni] branch master updated: Make the proxy key value
store provide key and value for puts
This is an automated email from the ASF dual-hosted git repository.
toulmean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tuweni.git
The following commit(s) were added to refs/heads/master by this push:
new da8f85b Make the proxy key value store provide key and value for puts
da8f85b is described below
commit da8f85b2d075593ae2e53d4c4be38d8a63647e97
Author: Antoine Toulme <an...@lunar-ocean.com>
AuthorDate: Sat Feb 15 23:27:12 2020 -0800
Make the proxy key value store provide key and value for puts
---
kv/src/main/kotlin/org/apache/tuweni/kv/ProxyKeyValueStore.kt | 7 ++++---
kv/src/test/java/org/apache/tuweni/kv/KeyValueStoreTest.java | 4 ++--
kv/src/test/kotlin/org/apache/tuweni/kv/KeyValueStoreSpec.kt | 2 +-
3 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/kv/src/main/kotlin/org/apache/tuweni/kv/ProxyKeyValueStore.kt b/kv/src/main/kotlin/org/apache/tuweni/kv/ProxyKeyValueStore.kt
index 4ab3933..0e5aee2 100644
--- a/kv/src/main/kotlin/org/apache/tuweni/kv/ProxyKeyValueStore.kt
+++ b/kv/src/main/kotlin/org/apache/tuweni/kv/ProxyKeyValueStore.kt
@@ -16,6 +16,7 @@
*/
package org.apache.tuweni.kv
+import java.util.function.BiFunction
import kotlin.coroutines.CoroutineContext
import java.util.function.Function
@@ -30,7 +31,7 @@ class ProxyKeyValueStore<K, V, E, R>(
private val unproxyKey: (E) -> K,
private val proxyKey: (K) -> E,
private val unproxyValue: (R) -> V,
- private val proxyValue: (V) -> R,
+ private val proxyValue: (K, V) -> R,
override val coroutineContext: CoroutineContext = store.coroutineContext
) : KeyValueStore<K, V> {
@@ -51,7 +52,7 @@ class ProxyKeyValueStore<K, V, E, R>(
unproxyKey: Function<E, K>,
proxyKey: Function<K, E>,
unproxyValue: Function<R, V>,
- proxyValue: Function<V, R>
+ proxyValue: BiFunction<K, V, R>
) =
ProxyKeyValueStore(store, unproxyKey::apply, proxyKey::apply, unproxyValue::apply, proxyValue::apply)
}
@@ -65,7 +66,7 @@ class ProxyKeyValueStore<K, V, E, R>(
}
}
- override suspend fun put(key: K, value: V) = store.put(proxyKey(key), proxyValue(value))
+ override suspend fun put(key: K, value: V) = store.put(proxyKey(key), proxyValue(key, value))
override suspend fun keys(): Iterable<K> = store.keys().map(unproxyKey)
diff --git a/kv/src/test/java/org/apache/tuweni/kv/KeyValueStoreTest.java b/kv/src/test/java/org/apache/tuweni/kv/KeyValueStoreTest.java
index 3fc8285..584b6a5 100644
--- a/kv/src/test/java/org/apache/tuweni/kv/KeyValueStoreTest.java
+++ b/kv/src/test/java/org/apache/tuweni/kv/KeyValueStoreTest.java
@@ -66,8 +66,8 @@ class KeyValueStoreTest {
void testPutAndGetProxied(@TempDirectory Path tmpDir) throws Exception {
KeyValueStore<Bytes, Bytes> store = MapDBKeyValueStore
.open(tmpDir.resolve("mapdbproxy"), bytesIdentityFn, bytesIdentityFn, bytesIdentityFn, bytesIdentityFn);
- try (ProxyKeyValueStore<String, String, Bytes, Bytes> proxy =
- ProxyKeyValueStore.open(store, Base64::encode, Base64::decode, Base64::encode, Base64::decode)) {
+ try (ProxyKeyValueStore<String, String, Bytes, Bytes> proxy = ProxyKeyValueStore
+ .open(store, Base64::encode, Base64::decode, Base64::encode, (key, value) -> Base64.decode(value))) {
AsyncCompletion completion = proxy.putAsync(Base64.encode(Bytes.of(123)), Base64.encode(Bytes.of(10, 12, 13)));
completion.join();
String value = proxy.getAsync(Base64.encode(Bytes.of(123))).get();
diff --git a/kv/src/test/kotlin/org/apache/tuweni/kv/KeyValueStoreSpec.kt b/kv/src/test/kotlin/org/apache/tuweni/kv/KeyValueStoreSpec.kt
index b388a70..ec2ab53 100644
--- a/kv/src/test/kotlin/org/apache/tuweni/kv/KeyValueStoreSpec.kt
+++ b/kv/src/test/kotlin/org/apache/tuweni/kv/KeyValueStoreSpec.kt
@@ -439,7 +439,7 @@ object ProxyKeyValueStoreSpec : Spek({
Base64::decode,
Base64::encode,
Base64::decode,
- Base64::encode
+ { _: Bytes, value: Bytes -> Base64.encode(value) }
)
afterGroup {
proxy.close()
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tuweni.apache.org
For additional commands, e-mail: commits-help@tuweni.apache.org