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%2FReplicatedLog.java;h=0ad1df3c33bb6433e5ddf0afca46f5f4920d2882;hb=6e4a2530fbd24f87b47a756bcc281cb825616e2a;hp=82d0839bee772bd8efba88a8d1392ab1d336ff1c;hpb=b5e3b3f436f8534ddb6c7f326ccbef995b96ddc3;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLog.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLog.java index 82d0839bee..0ad1df3c33 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLog.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLog.java @@ -8,6 +8,7 @@ package org.opendaylight.controller.cluster.raft; +import akka.japi.Procedure; import java.util.List; /** @@ -50,8 +51,9 @@ public interface ReplicatedLog { * information * * @param index the index of the log entry + * @return the adjusted index of the first log entry removed or -1 if log entry not found. */ - void removeFrom(long index); + long removeFrom(long index); /** @@ -85,6 +87,8 @@ public interface ReplicatedLog { */ void appendAndPersist(final ReplicatedLogEntry replicatedLogEntry); + void appendAndPersist(ReplicatedLogEntry replicatedLogEntry, Procedure callback); + /** * * @param index the index of the log entry @@ -177,4 +181,10 @@ public interface ReplicatedLog { */ int dataSize(); + /** + * We decide if snapshot need to be captured based on the count/memory consumed. + * @param replicatedLogEntry + */ + void captureSnapshotIfReady(ReplicatedLogEntry replicatedLogEntry); + }