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%2FRaftActorContext.java;h=1d59ed1f85da6b5d572d71bbe550ac608eea2ec0;hp=2896c44a2cef79ef12e002a5332b414e3368e4db;hb=d796a8de8b208ca24bb57aebfc689f8be8bc2c7b;hpb=b0f8283587b5cc8573d29f66219cbe7f70e21e1b diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorContext.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorContext.java index 2896c44a2c..1d59ed1f85 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorContext.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorContext.java @@ -16,10 +16,13 @@ import akka.cluster.Cluster; import com.google.common.annotations.VisibleForTesting; import java.util.Collection; import java.util.Optional; +import java.util.function.Consumer; import java.util.function.LongSupplier; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.controller.cluster.DataPersistenceProvider; +import org.opendaylight.controller.cluster.io.FileBackedOutputStream; +import org.opendaylight.controller.cluster.raft.base.messages.ApplyState; import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior; import org.opendaylight.controller.cluster.raft.persisted.ServerConfigurationPayload; import org.opendaylight.controller.cluster.raft.policy.RaftPolicy; @@ -316,4 +319,20 @@ public interface RaftActorContext { * @return current behavior. */ RaftActorBehavior getCurrentBehavior(); + + /** + * Returns the consumer of ApplyState operations. This is invoked by a behavior when a log entry needs to be + * applied to the state. + * + * @return the Consumer + */ + Consumer getApplyStateConsumer(); + + /** + * Creates a FileBackedOutputStream with a common configuration. + * + * @return a FileBackedOutputStream instance + */ + @Nonnull + FileBackedOutputStream newFileBackedOutputStream(); }