X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-client%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fclient%2FBackendInfo.java;h=85d9f14e1710dcf6220f84d0514f56df75cd2d3c;hb=8265c26f7692086677fa943976824966f32eecf6;hp=efdfa04b1613feec35894f9899a13445c206ea40;hpb=b0067e0a4bfa955f15c6259e019f954687264eff;p=controller.git diff --git a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/BackendInfo.java b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/BackendInfo.java index efdfa04b16..85d9f14e17 100644 --- a/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/BackendInfo.java +++ b/opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/BackendInfo.java @@ -17,19 +17,25 @@ import org.opendaylight.controller.cluster.access.ABIVersion; * Basic information about how to talk to the backend. ClientActorBehavior uses this information to dispatch requests * to the backend. * + *

* This class is not final so concrete actor behavior implementations may subclass it and track more information about * the backend. The {@link #hashCode()} and {@link #equals(Object)} methods are made final to ensure subclasses compare - * on identity. + * on object identity. * * @author Robert Varga */ public class BackendInfo { private final ABIVersion version; private final ActorRef actor; + private final int maxMessages; + private final long sessionId; - protected BackendInfo(final ActorRef actor, final ABIVersion version) { + protected BackendInfo(final ActorRef actor, final long sessionId, final ABIVersion version, final int maxMessages) { this.version = Preconditions.checkNotNull(version); this.actor = Preconditions.checkNotNull(actor); + Preconditions.checkArgument(maxMessages > 0, "Maximum messages has to be positive, not %s", maxMessages); + this.maxMessages = maxMessages; + this.sessionId = sessionId; } public final ActorRef getActor() { @@ -40,6 +46,14 @@ public class BackendInfo { return version; } + public final int getMaxMessages() { + return maxMessages; + } + + public final long getSessionId() { + return sessionId; + } + @Override public final int hashCode() { return super.hashCode(); @@ -56,6 +70,7 @@ public class BackendInfo { } protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) { - return toStringHelper.add("actor", actor).add("version", version); + return toStringHelper.add("actor", actor).add("sessionId", sessionId).add("version", version) + .add("maxMessages", maxMessages); } }