import akka.actor.ActorSystem;
import akka.actor.Props;
import akka.japi.Procedure;
-
-import com.google.protobuf.GeneratedMessage;
-
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
-
import org.opendaylight.controller.cluster.NonPersistentDataProvider;
+import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior;
import org.opendaylight.controller.cluster.raft.policy.RaftPolicy;
import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
-import org.opendaylight.controller.protobuff.messages.cluster.raft.AppendEntriesMessages;
-import org.opendaylight.controller.protobuff.messages.cluster.raft.test.MockPayloadMessages;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public MockRaftActorContext(){
super(null, null, "test", newElectionTerm(), -1, -1, new HashMap<String, String>(),
new DefaultConfigParamsImpl(), new NonPersistentDataProvider(), LOG);
+ setReplicatedLog(new MockReplicatedLogBuilder().build());
}
public MockRaftActorContext(String id, ActorSystem system, ActorRef actor){
replicatedLog.append(new MockReplicatedLogEntry(term, 0, new MockPayload("1")));
replicatedLog.append(new MockReplicatedLogEntry(term, 1, new MockPayload("2")));
setReplicatedLog(replicatedLog);
+ setCommitIndex(replicatedLog.lastIndex());
}
@Override public ActorRef actorOf(Props props) {
@Override
public SnapshotManager getSnapshotManager() {
SnapshotManager snapshotManager = super.getSnapshotManager();
- snapshotManager.setCreateSnapshotCallable(NoopProcedure.<Void>instance());
+ snapshotManager.setCreateSnapshotRunnable(() -> { });
return snapshotManager;
}
public void captureSnapshotIfReady(ReplicatedLogEntry replicatedLogEntry) {
}
- @Override public void removeFromAndPersist(long index) {
- removeFrom(index);
+ @Override
+ public boolean removeFromAndPersist(long index) {
+ return removeFrom(index) >= 0;
}
@Override
this.size = size;
}
- @Override public Map<GeneratedMessage.GeneratedExtension<?, ?>, String> encode() {
- Map<GeneratedMessage.GeneratedExtension<?, ?>, String> map = new HashMap<>();
- map.put(MockPayloadMessages.value, value);
- return map;
- }
-
- @Override public Payload decode(
- AppendEntriesMessages.AppendEntries.ReplicatedLogEntry.Payload payloadProtoBuff) {
- String value = payloadProtoBuff.getExtension(MockPayloadMessages.value);
- this.value = value;
- return this;
- }
-
@Override
public int size() {
return size;
}
- @Override public String getClientPayloadClassName() {
- return MockPayload.class.getName();
- }
-
@Override
public String toString() {
return value;
return this.mockLog;
}
}
+
+ @Override
+ public void setCurrentBehavior(final RaftActorBehavior behavior) {
+ super.setCurrentBehavior(behavior);
+ }
}