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%2FTransactionRequest.java;h=15d98f91507990ddbcd499d28934a4330f93fb9d;hb=HEAD;hp=154d4b39e094fb557124b1cdbf5f956be0e2e736;hpb=c9d61ee66367d819319bb8ccfa9f9b0555264d86;p=controller.git diff --git a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/TransactionRequest.java b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/TransactionRequest.java index 154d4b39e0..15d98f9150 100644 --- a/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/TransactionRequest.java +++ b/opendaylight/md-sal/cds-access-api/src/main/java/org/opendaylight/controller/cluster/access/commands/TransactionRequest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (c) 2016, 2017 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -8,7 +8,8 @@ package org.opendaylight.controller.cluster.access.commands; import akka.actor.ActorRef; -import com.google.common.annotations.Beta; +import java.io.DataInput; +import java.io.IOException; import org.opendaylight.controller.cluster.access.ABIVersion; import org.opendaylight.controller.cluster.access.concepts.Request; import org.opendaylight.controller.cluster.access.concepts.RequestException; @@ -18,16 +19,22 @@ import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier * Abstract base class for {@link Request}s involving specific transaction. This class is visible outside of this * package solely for the ability to perform a unified instanceof check. * - * @author Robert Varga - * * @param Message type */ -@Beta public abstract class TransactionRequest> extends Request { + protected interface SerialForm> + extends Request.SerialForm { + @Override + default TransactionIdentifier readTarget(final DataInput in) throws IOException { + return TransactionIdentifier.readFrom(in); + } + } + + @java.io.Serial private static final long serialVersionUID = 1L; - TransactionRequest(final TransactionIdentifier identifier, final ActorRef replyTo) { - super(identifier, replyTo); + TransactionRequest(final TransactionIdentifier identifier, final long sequence, final ActorRef replyTo) { + super(identifier, sequence, replyTo); } TransactionRequest(final T request, final ABIVersion version) { @@ -36,9 +43,9 @@ public abstract class TransactionRequest> extend @Override public final TransactionFailure toRequestFailure(final RequestException cause) { - return new TransactionFailure(getTarget(), cause); + return new TransactionFailure(getTarget(), getSequence(), cause); } @Override - protected abstract AbstractTransactionRequestProxy externalizableProxy(final ABIVersion version); + protected abstract SerialForm externalizableProxy(ABIVersion version); }