X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fbase%2Fmessages%2FSendInstallSnapshot.java;h=cdb94d44ee2914319ad9c652ccf8cde1e6e544cf;hb=HEAD;hp=6c3313f316623c10fcdf7468e1181d5941044201;hpb=c222e37f2a0f0f3f6266242fbea2d3b018f4e6e3;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/SendInstallSnapshot.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/SendInstallSnapshot.java index 6c3313f316..cdb94d44ee 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/SendInstallSnapshot.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/SendInstallSnapshot.java @@ -5,10 +5,32 @@ * 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.base.messages; -import java.io.Serializable; +import static java.util.Objects.requireNonNull; + +import com.google.common.io.ByteSource; +import org.eclipse.jdt.annotation.NonNull; +import org.opendaylight.controller.cluster.raft.persisted.Snapshot; + +/** + * Internal message sent from the SnapshotManager to its associated leader when a snapshot capture is complete to + * prompt the leader to install the snapshot on its followers as needed. + */ +public final class SendInstallSnapshot { + private final @NonNull Snapshot snapshot; + private final @NonNull ByteSource snapshotBytes; + + public SendInstallSnapshot(@NonNull Snapshot snapshot, @NonNull ByteSource snapshotBytes) { + this.snapshot = requireNonNull(snapshot); + this.snapshotBytes = requireNonNull(snapshotBytes); + } + + public @NonNull Snapshot getSnapshot() { + return snapshot; + } -public class SendInstallSnapshot implements Serializable { + public @NonNull ByteSource getSnapshotBytes() { + return snapshotBytes; + } }