X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2FClientRequestTracker.java;fp=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2FClientRequestTracker.java;h=c69decdd14d8578dcba92d608ca55018a8b34b21;hp=0f14844d5666e5ee6f73f3d7cb005b607c41b3a7;hb=53fe636c7e44c4dcd98ec7d4c3dc23553a9144f4;hpb=806f4dba9ba3db54d5320221a337f1906e6c0b1f diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ClientRequestTracker.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ClientRequestTracker.java index 0f14844d56..c69decdd14 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ClientRequestTracker.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ClientRequestTracker.java @@ -5,33 +5,19 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.controller.cluster.raft; import akka.actor.ActorRef; import org.opendaylight.yangtools.concepts.Identifier; -public interface ClientRequestTracker { - /** - * Returns the client actor that should be sent a response when consensus is achieved. - * - * @return the client actor - */ - ActorRef getClientActor(); - - /** - * Returns the identifier of the object that is to be replicated. For example a transaction identifier in the case - * of a transaction. - * - * @return the identifier - */ - Identifier getIdentifier(); - - /** - * Returns the index of the log entry that is to be replicated. - * - * @return the index - */ - long getIndex(); +/** + * Consensus forwarding tracker. + * + * @param clientActor the client actor that should be sent a response when consensus is achieved + * @param identifier the identifier of the object that is to be replicated. For example a transaction identifier in the + * case of a transaction + * @param logIndex the index of the log entry that is to be replicated + */ +public record ClientRequestTracker(long logIndex, ActorRef clientActor, Identifier identifier) { }