X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fremote%2Frpc%2Fregistry%2Fgossip%2FBucketImpl.java;h=daf945289c42b65b6adc1d0c8d31529749a378b5;hp=01c77f1f085823928c91dc1feb451ad6a2158c0d;hb=5b66dd8f5e3467a07e77b20fe696b29993ce5565;hpb=71ef4097b2cb06531766c053c3486745e3a5b6ee 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 01c77f1f08..daf945289c 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,38 +7,40 @@ */ package org.opendaylight.controller.remote.rpc.registry.gossip; +import com.google.common.base.Preconditions; +import com.google.common.base.Verify; import java.io.Serializable; -public class BucketImpl> implements Bucket, Serializable { +final class BucketImpl> implements Bucket, Serializable { private static final long serialVersionUID = 1L; - private Long version = System.currentTimeMillis(); + private final long version; - private T data; + // Guaranteed to be non-null + private final T data; + + BucketImpl(final long version, final T data) { + this.version = version; + this.data = Preconditions.checkNotNull(data); + } @Override - public Long getVersion() { + public long getVersion() { return version; } @Override public T getData() { - if (this.data == null) - return null; - - return data.copy(); - } - - public void setData(T data){ - this.version = System.currentTimeMillis()+1; - this.data = data; + return data; } @Override public String toString() { - return "BucketImpl{" + - "version=" + version + - ", data=" + data + - '}'; + return "BucketImpl{" + "version=" + version + ", data=" + data + '}'; + } + + private Object readResolve() { + Verify.verifyNotNull(data); + return this; } }