Loosen Kryo config only for DistributedIntentStore
Change-Id: Ie3f05e2d894b0d44f7c0ad645b77c65d1f2ce02b
diff --git a/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java b/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
index d44ed14..55368ad 100644
--- a/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
+++ b/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
@@ -56,6 +56,7 @@
public static final class Builder {
private final List<Pair<Class<?>, Serializer<?>>> types = new ArrayList<>();
+ private boolean registrationRequired = true;
/**
* Builds a {@link KryoNamespace} instance.
@@ -63,7 +64,7 @@
* @return KryoNamespace
*/
public KryoNamespace build() {
- return new KryoNamespace(types);
+ return new KryoNamespace(types, registrationRequired);
}
/**
@@ -101,6 +102,11 @@
types.addAll(pool.registeredTypes);
return this;
}
+
+ public Builder setRegistrationRequired(boolean registrationRequired) {
+ this.registrationRequired = registrationRequired;
+ return this;
+ }
}
/**
@@ -116,11 +122,11 @@
* Creates a Kryo instance pool.
*
* @param registeredTypes types to register
+ * @param registrationRequired
*/
- private KryoNamespace(final List<Pair<Class<?>, Serializer<?>>> registeredTypes) {
+ private KryoNamespace(final List<Pair<Class<?>, Serializer<?>>> registeredTypes, boolean registrationRequired) {
this.registeredTypes = ImmutableList.copyOf(registeredTypes);
- // always true for now
- this.registrationRequired = true;
+ this.registrationRequired = registrationRequired;
}
/**