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%2FGetSnapshotReplyActor.java;h=d1e0b5c286e609259a5837d3c4e1c08667478caf;hp=3aac07f6da8ae1a54d1e4aa7273b7dd92b6ffb0f;hb=6ef0b898f2117a4bb3a510c0df7af340f4fc8eca;hpb=c9943f5bc72d4cde9356d3bd4cf73d36f4b2f754 diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/GetSnapshotReplyActor.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/GetSnapshotReplyActor.java index 3aac07f6da..d1e0b5c286 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/GetSnapshotReplyActor.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/GetSnapshotReplyActor.java @@ -7,42 +7,44 @@ */ package org.opendaylight.controller.cluster.raft; +import static java.util.Objects.requireNonNull; + import akka.actor.ActorRef; import akka.actor.PoisonPill; import akka.actor.Props; import akka.actor.ReceiveTimeout; -import akka.actor.UntypedActor; -import com.google.common.base.Preconditions; +import akka.actor.UntypedAbstractActor; import java.util.concurrent.TimeoutException; -import org.apache.commons.lang3.SerializationUtils; import org.opendaylight.controller.cluster.raft.base.messages.CaptureSnapshot; import org.opendaylight.controller.cluster.raft.base.messages.CaptureSnapshotReply; import org.opendaylight.controller.cluster.raft.client.messages.GetSnapshotReply; import org.opendaylight.controller.cluster.raft.persisted.ServerConfigurationPayload; +import org.opendaylight.controller.cluster.raft.persisted.Snapshot; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import scala.concurrent.duration.Duration; +import scala.concurrent.duration.FiniteDuration; /** * Temporary actor used to receive a CaptureSnapshotReply message and return a GetSnapshotReply instance. * * @author Thomas Pantelis */ -class GetSnapshotReplyActor extends UntypedActor { +class GetSnapshotReplyActor extends UntypedAbstractActor { private static final Logger LOG = LoggerFactory.getLogger(GetSnapshotReplyActor.class); private final Params params; - private GetSnapshotReplyActor(Params params) { + GetSnapshotReplyActor(final Params params) { this.params = params; getContext().setReceiveTimeout(params.receiveTimeout); } @Override - public void onReceive(Object message) { + public void onReceive(final Object message) { if (message instanceof CaptureSnapshotReply) { - Snapshot snapshot = Snapshot.create(((CaptureSnapshotReply)message).getSnapshot(), + Snapshot snapshot = Snapshot.create( + ((CaptureSnapshotReply)message).getSnapshotState(), params.captureSnapshot.getUnAppliedEntries(), params.captureSnapshot.getLastIndex(), params.captureSnapshot.getLastTerm(), params.captureSnapshot.getLastAppliedIndex(), params.captureSnapshot.getLastAppliedTerm(), @@ -51,8 +53,7 @@ class GetSnapshotReplyActor extends UntypedActor { LOG.debug("{}: Received CaptureSnapshotReply, sending {}", params.id, snapshot); - params.replyToActor.tell(new GetSnapshotReply(params.id, SerializationUtils.serialize(snapshot)), - getSelf()); + params.replyToActor.tell(new GetSnapshotReply(params.id, snapshot), getSelf()); getSelf().tell(PoisonPill.getInstance(), getSelf()); } else if (message instanceof ReceiveTimeout) { LOG.warn("{}: Got ReceiveTimeout for inactivity - did not receive CaptureSnapshotReply within {} ms", @@ -65,8 +66,9 @@ class GetSnapshotReplyActor extends UntypedActor { } } - public static Props props(CaptureSnapshot captureSnapshot, ElectionTerm electionTerm, ActorRef replyToActor, - Duration receiveTimeout, String id, ServerConfigurationPayload updatedPeerInfo) { + public static Props props(final CaptureSnapshot captureSnapshot, final ElectionTerm electionTerm, + final ActorRef replyToActor, final FiniteDuration receiveTimeout, final String id, + final ServerConfigurationPayload updatedPeerInfo) { return Props.create(GetSnapshotReplyActor.class, new Params(captureSnapshot, electionTerm, replyToActor, receiveTimeout, id, updatedPeerInfo)); } @@ -75,17 +77,17 @@ class GetSnapshotReplyActor extends UntypedActor { final CaptureSnapshot captureSnapshot; final ActorRef replyToActor; final ElectionTerm electionTerm; - final Duration receiveTimeout; + final FiniteDuration receiveTimeout; final String id; final ServerConfigurationPayload peerInformation; - Params(CaptureSnapshot captureSnapshot, ElectionTerm electionTerm, ActorRef replyToActor, - Duration receiveTimeout, String id, ServerConfigurationPayload peerInfo) { - this.captureSnapshot = Preconditions.checkNotNull(captureSnapshot); - this.electionTerm = Preconditions.checkNotNull(electionTerm); - this.replyToActor = Preconditions.checkNotNull(replyToActor); - this.receiveTimeout = Preconditions.checkNotNull(receiveTimeout); - this.id = Preconditions.checkNotNull(id); + Params(final CaptureSnapshot captureSnapshot, final ElectionTerm electionTerm, final ActorRef replyToActor, + final FiniteDuration receiveTimeout, final String id, final ServerConfigurationPayload peerInfo) { + this.captureSnapshot = requireNonNull(captureSnapshot); + this.electionTerm = requireNonNull(electionTerm); + this.replyToActor = requireNonNull(replyToActor); + this.receiveTimeout = requireNonNull(receiveTimeout); + this.id = requireNonNull(id); this.peerInformation = peerInfo; } }