X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fremote%2Frpc%2Fregistry%2Fgossip%2FBucketImpl.java;h=535d5c7cd68d58928c14e439eb6ca889f8aa1c22;hb=refs%2Fchanges%2F11%2F80211%2F6;hp=0031962f82ffffcbc5c1fa460c61fb71db6d8845;hpb=2418a6052d7eba917d5972f0630cf746d22f690c;p=controller.git diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketImpl.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketImpl.java index 0031962f82..535d5c7cd6 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketImpl.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketImpl.java @@ -7,32 +7,27 @@ */ package org.opendaylight.controller.remote.rpc.registry.gossip; -import java.io.Serializable; +import static com.google.common.base.Verify.verifyNotNull; +import static java.util.Objects.requireNonNull; -public final class BucketImpl> implements Bucket, Serializable { - private static final long serialVersionUID = 294779770032719196L; +import java.io.Serializable; - private Long version = System.currentTimeMillis(); +final class BucketImpl> implements Bucket, Serializable { + private static final long serialVersionUID = 1L; - private T data; + private final long version; - public BucketImpl(final T data) { - this.data = data; - } + // Guaranteed to be non-null + private final T data; - public BucketImpl(final Bucket other) { - this.version = other.getVersion(); - this.data = other.getData(); - } - - public void setData(final T data) { - this.data = data; - this.version = System.currentTimeMillis() + 1; + BucketImpl(final long version, final T data) { + this.version = version; + this.data = requireNonNull(data); } @Override public long getVersion() { - return version.longValue(); + return version; } @Override @@ -44,4 +39,9 @@ public final class BucketImpl> implements Bucket, Seriali public String toString() { return "BucketImpl{" + "version=" + version + ", data=" + data + '}'; } + + private Object readResolve() { + verifyNotNull(data); + return this; + } }