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%2FMessages.java;h=6f81fe8b32e3c30ddfa3325a0c9b81b2a3d6ca93;hb=e9fce74e37472296faa2faf1acbd110b74196032;hp=9a247d97c77d308ec1eba9329facc12dc0ba6a69;hpb=08d30cebbbec8da5596840c6ef830687a76d9d33;p=controller.git
diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Messages.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Messages.java
index 9a247d97c7..6f81fe8b32 100644
--- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Messages.java
+++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Messages.java
@@ -9,13 +9,13 @@ package org.opendaylight.controller.remote.rpc.registry.gossip;
import akka.actor.Address;
import com.google.common.base.Preconditions;
-
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+import org.opendaylight.controller.remote.rpc.registry.gossip.Messages.BucketStoreMessages.ContainsBucketVersions;
+import org.opendaylight.controller.remote.rpc.registry.gossip.Messages.BucketStoreMessages.ContainsBuckets;
/**
* These messages are used by {@link org.opendaylight.controller.remote.rpc.registry.gossip.BucketStore} and
@@ -23,122 +23,125 @@ import java.util.Set;
*/
public class Messages {
- public static class BucketStoreMessages{
-
- public static class GetLocalBucket implements Serializable{}
-
- public static class ContainsBucket implements Serializable {
- final private Bucket bucket;
-
- public ContainsBucket(Bucket bucket){
- Preconditions.checkArgument(bucket != null, "bucket can not be null");
- this.bucket = bucket;
- }
-
- public Bucket getBucket(){
- return bucket;
- }
-
- }
-
- public static class UpdateBucket extends ContainsBucket implements Serializable {
- public UpdateBucket(Bucket bucket){
- super(bucket);
- }
- }
+ public static class BucketStoreMessages {
- public static class GetLocalBucketReply extends ContainsBucket implements Serializable {
- public GetLocalBucketReply(Bucket bucket){
- super(bucket);
- }
+ public static final class GetAllBuckets implements Serializable {
+ private static final long serialVersionUID = 1L;
}
- public static class GetAllBuckets implements Serializable{}
-
- public static class GetBucketsByMembers implements Serializable{
- private Set
members;
+ public static final class GetBucketsByMembers implements Serializable {
+ private static final long serialVersionUID = 1L;
+ private final Set members;
- public GetBucketsByMembers(Set members){
+ public GetBucketsByMembers(final Set members) {
Preconditions.checkArgument(members != null, "members can not be null");
- this.members = members;
+ this.members = ImmutableSet.copyOf(members);
}
public Set getMembers() {
- return new HashSet<>(members);
+ return members;
}
}
- public static class ContainsBuckets implements Serializable{
- private Map buckets;
+ public static class ContainsBuckets> implements Serializable {
+ private static final long serialVersionUID = -4940160367495308286L;
- public ContainsBuckets(Map buckets){
+ private final Map> buckets;
+
+ protected ContainsBuckets(final Map> buckets) {
Preconditions.checkArgument(buckets != null, "buckets can not be null");
- this.buckets = buckets;
+ this.buckets = ImmutableMap.copyOf(buckets);
}
- public Map getBuckets() {
- Map copy = new HashMap<>(buckets.size());
-
- for (Map.Entry entry : buckets.entrySet()){
- //ignore null entries
- if ( (entry.getKey() == null) || (entry.getValue() == null) )
- continue;
- copy.put(entry.getKey(), entry.getValue());
- }
- return new HashMap<>(copy);
+ public final Map> getBuckets() {
+ return buckets;
}
}
- public static class GetAllBucketsReply extends ContainsBuckets implements Serializable{
- public GetAllBucketsReply(Map buckets) {
+ public static final class GetAllBucketsReply> extends ContainsBuckets {
+ private static final long serialVersionUID = 1L;
+
+ public GetAllBucketsReply(final Map> buckets) {
super(buckets);
}
}
- public static class GetBucketsByMembersReply extends ContainsBuckets implements Serializable{
- public GetBucketsByMembersReply(Map buckets) {
+ public static final class GetBucketsByMembersReply> extends ContainsBuckets {
+ private static final long serialVersionUID = 1L;
+
+ public GetBucketsByMembersReply(final Map> buckets) {
super(buckets);
}
}
- public static class GetBucketVersions implements Serializable{}
+ public static final class GetBucketVersions implements Serializable {
+ private static final long serialVersionUID = 1L;
+ }
+
+ public static class ContainsBucketVersions implements Serializable {
+ private static final long serialVersionUID = -8172148925383801613L;
- public static class ContainsBucketVersions implements Serializable{
Map versions;
- public ContainsBucketVersions(Map versions) {
- Preconditions.checkArgument(versions != null, "versions can not be null");
- this.versions = versions;
+ public ContainsBucketVersions(final Map versions) {
+ Preconditions.checkArgument(versions != null, "versions can not be null or empty");
+
+ this.versions = ImmutableMap.copyOf(versions);
}
public Map getVersions() {
- return Collections.unmodifiableMap(versions);
+ return versions;
}
-
}
- public static class GetBucketVersionsReply extends ContainsBucketVersions implements Serializable{
- public GetBucketVersionsReply(Map versions) {
+ public static final class GetBucketVersionsReply extends ContainsBucketVersions {
+ private static final long serialVersionUID = 1L;
+
+ public GetBucketVersionsReply(final Map versions) {
super(versions);
}
}
- public static class UpdateRemoteBuckets extends ContainsBuckets implements Serializable{
- public UpdateRemoteBuckets(Map buckets) {
+ public static final class UpdateRemoteBuckets> extends ContainsBuckets {
+ private static final long serialVersionUID = 1L;
+
+ public UpdateRemoteBuckets(final Map> buckets) {
super(buckets);
}
}
+
+ /**
+ * Message sent from the gossiper to its parent, therefore not Serializable, requesting removal
+ * of a bucket corresponding to an address.
+ */
+ public static final class RemoveRemoteBucket {
+ private final Address address;
+
+ public RemoveRemoteBucket(final Address address) {
+ this.address = Preconditions.checkNotNull(address);
+ }
+
+ public Address getAddress() {
+ return address;
+ }
+ }
}
- public static class GossiperMessages{
- public static class Tick implements Serializable {}
+ public static class GossiperMessages {
+ public static class Tick implements Serializable {
+ private static final long serialVersionUID = -4770935099506366773L;
+ }
+
+ public static final class GossipTick extends Tick {
+ private static final long serialVersionUID = 5803354404380026143L;
+ }
- public static final class GossipTick extends Tick {}
+ public static final class GossipStatus extends ContainsBucketVersions {
+ private static final long serialVersionUID = -593037395143883265L;
- public static final class GossipStatus extends BucketStoreMessages.ContainsBucketVersions implements Serializable{
- private Address from;
+ private final Address from;
- public GossipStatus(Address from, Map versions) {
+ public GossipStatus(final Address from, final Map versions) {
super(versions);
this.from = from;
}
@@ -148,12 +151,15 @@ public class Messages {
}
}
- public static final class GossipEnvelope extends BucketStoreMessages.ContainsBuckets implements Serializable {
+ public static final class GossipEnvelope> extends ContainsBuckets {
+ private static final long serialVersionUID = 8346634072582438818L;
+
private final Address from;
private final Address to;
- public GossipEnvelope(Address from, Address to, Map buckets) {
+ public GossipEnvelope(final Address from, final Address to, final Map> buckets) {
super(buckets);
+ Preconditions.checkArgument(to != null, "Recipient of message must not be null");
this.to = to;
this.from = from;
}