X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2FRaftActorContext.java;h=0fe6cf1e2fecbfd1529a85bc50a1d769fdcd6d9d;hb=bfe4439155b27fbf9ae300252420c8a81fcbdb80;hp=74a214f90ae14715c8053b2c9dcec204c6b2b80b;hpb=913ae866cd0cc82991e1f66ac80f6a42b0daaa48;p=controller.git 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 74a214f90a..0fe6cf1e2f 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 @@ -21,6 +21,7 @@ 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; @@ -326,4 +327,27 @@ public interface RaftActorContext { * @return the Consumer */ Consumer getApplyStateConsumer(); + + /** + * Creates a FileBackedOutputStream with a common configuration. + * + * @return a FileBackedOutputStream instance + */ + @Nonnull + FileBackedOutputStream newFileBackedOutputStream(); + + /** + * Returns the RaftActorLeadershipTransferCohort if leadership transfer is in progress. + * + * @return the RaftActorLeadershipTransferCohort if leadership transfer is in progress, null otherwise + */ + @Nullable + RaftActorLeadershipTransferCohort getRaftActorLeadershipTransferCohort(); + + /** + * Sets the RaftActorLeadershipTransferCohort for transferring leadership. + * + * @param leadershipTransferCohort the RaftActorLeadershipTransferCohort or null to clear the existing one + */ + void setRaftActorLeadershipTransferCohort(@Nullable RaftActorLeadershipTransferCohort leadershipTransferCohort); }