*/
package org.opendaylight.controller.cluster.raft.base.messages;
+import static java.util.Objects.requireNonNull;
-public class CaptureSnapshotReply {
- private final byte [] snapshot;
+import akka.dispatch.ControlMessage;
+import java.io.OutputStream;
+import java.util.Optional;
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.controller.cluster.raft.persisted.Snapshot;
- public CaptureSnapshotReply(byte [] snapshot) {
- this.snapshot = snapshot;
+public class CaptureSnapshotReply implements ControlMessage {
+ private final Snapshot.State snapshotState;
+ private final Optional<OutputStream> installSnapshotStream;
+
+ public CaptureSnapshotReply(final Snapshot.@NonNull State snapshotState,
+ final @NonNull Optional<OutputStream> installSnapshotStream) {
+ this.snapshotState = requireNonNull(snapshotState);
+ this.installSnapshotStream = requireNonNull(installSnapshotStream);
+ }
+
+ public Snapshot.@NonNull State getSnapshotState() {
+ return snapshotState;
}
- public byte [] getSnapshot() {
- return snapshot;
+ public @NonNull Optional<OutputStream> getInstallSnapshotStream() {
+ return installSnapshotStream;
}
}