X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcds-access-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Faccess%2Fcommands%2FIncrementTransactionSequenceRequest.java;h=5695860e17cd7b0ba48d3dada038baf63c7620d8;hb=HEAD;hp=5e85316c413d75b9040355c4d10b65b334fab496;hpb=17072677c1de88e6864ae8828efd7b2f9037ef21;p=controller.git diff --git a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/IncrementTransactionSequenceRequest.java b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/IncrementTransactionSequenceRequest.java index 5e85316c41..5695860e17 100644 --- a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/IncrementTransactionSequenceRequest.java +++ b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/IncrementTransactionSequenceRequest.java @@ -7,30 +7,55 @@ */ package org.opendaylight.controller.cluster.access.commands; +import static com.google.common.base.Preconditions.checkArgument; + import akka.actor.ActorRef; -import com.google.common.base.Preconditions; -import java.io.Serial; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; import org.opendaylight.controller.cluster.access.ABIVersion; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; +import org.opendaylight.yangtools.concepts.WritableObjects; /** * A blank transaction request. This is used to provide backfill requests in converted retransmit scenarios, such as * when a initial request to a transaction (such as a {@link ReadTransactionRequest}) is satisfied by the backend * before the need to replay the transaction to a different remote backend. - * - * @author Robert Varga */ public final class IncrementTransactionSequenceRequest extends AbstractReadTransactionRequest { - @Serial + interface SerialForm extends AbstractReadTransactionRequest.SerialForm { + @Override + default void writeExternal(final ObjectOutput out, final IncrementTransactionSequenceRequest msg) + throws IOException { + AbstractReadTransactionRequest.SerialForm.super.writeExternal(out, msg); + WritableObjects.writeLong(out, msg.getIncrement()); + } + + @Override + default IncrementTransactionSequenceRequest readExternal(final ObjectInput in, + final TransactionIdentifier target, final long sequence, final ActorRef replyTo, + final boolean snapshotOnly) throws IOException { + return new IncrementTransactionSequenceRequest(target, sequence, replyTo, snapshotOnly, + WritableObjects.readLong(in)); + } + } + + @java.io.Serial private static final long serialVersionUID = 1L; private final long increment; + public IncrementTransactionSequenceRequest(final IncrementTransactionSequenceRequest request, + final ABIVersion version) { + super(request, version); + increment = request.increment; + } + public IncrementTransactionSequenceRequest(final TransactionIdentifier identifier, final long sequence, final ActorRef replyTo, final boolean snapshotOnly, final long increment) { super(identifier, sequence, replyTo, snapshotOnly); - Preconditions.checkArgument(increment >= 0); + checkArgument(increment >= 0, "Unexpected increment %s", increment); this.increment = increment; } @@ -44,12 +69,12 @@ public final class IncrementTransactionSequenceRequest extends } @Override - protected IncrementTransactionSequenceRequestProxyV1 externalizableProxy(final ABIVersion version) { - return new IncrementTransactionSequenceRequestProxyV1(this); + protected SerialForm externalizableProxy(final ABIVersion version) { + return new ITSR(this); } @Override protected IncrementTransactionSequenceRequest cloneAsVersion(final ABIVersion targetVersion) { - return this; + return new IncrementTransactionSequenceRequest(this, targetVersion); } }