Support for a distributed counter
Change-Id: I346e9baa28556fac13e53771021f5f6fbcd75ac9
diff --git a/core/api/src/main/java/org/onosproject/store/service/Serializer.java b/core/api/src/main/java/org/onosproject/store/service/Serializer.java
index 466943e..32ae585 100644
--- a/core/api/src/main/java/org/onosproject/store/service/Serializer.java
+++ b/core/api/src/main/java/org/onosproject/store/service/Serializer.java
@@ -16,6 +16,8 @@
package org.onosproject.store.service;
+import org.onlab.util.KryoNamespace;
+
/**
* Interface for serialization for store artifacts.
*/
@@ -35,4 +37,24 @@
* @param <T> decoded type
*/
<T> T decode(byte[] bytes);
+
+ /**
+ * Creates a new Serializer instance from a KryoNamespace.
+ *
+ * @param kryo kryo namespace
+ * @return Serializer instance
+ */
+ public static Serializer using(KryoNamespace kryo) {
+ return new Serializer() {
+ @Override
+ public <T> byte[] encode(T object) {
+ return kryo.serialize(object);
+ }
+
+ @Override
+ public <T> T decode(byte[] bytes) {
+ return kryo.deserialize(bytes);
+ }
+ };
+ }
}
\ No newline at end of file