import com.google.common.base.Supplier;
import com.google.protobuf.GeneratedMessage;
import java.io.Serializable;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.opendaylight.controller.cluster.DataPersistenceProvider;
import org.opendaylight.controller.cluster.NonPersistentDataProvider;
+import org.opendaylight.controller.cluster.raft.policy.DefaultRaftPolicy;
+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;
private boolean snapshotCaptureInitiated;
private SnapshotManager snapshotManager;
private DataPersistenceProvider persistenceProvider = new NonPersistentDataProvider();
+ private short payloadVersion;
+ private RaftPolicy raftPolicy = DefaultRaftPolicy.INSTANCE;
public MockRaftActorContext(){
electionTerm = new ElectionTerm() {
return peerAddresses;
}
+ @Override
+ public Collection<String> getPeerIds() {
+ return peerAddresses.keySet();
+ }
+
@Override public String getPeerAddress(String peerId) {
return peerAddresses.get(peerId);
}
public SnapshotManager getSnapshotManager() {
if(this.snapshotManager == null){
this.snapshotManager = new SnapshotManager(this, getLogger());
+ this.snapshotManager.setCreateSnapshotCallable(NoopProcedure.<Void>instance());
}
return this.snapshotManager;
}
@Override
public boolean hasFollowers() {
- return getPeerAddresses().keySet().size() > 0;
+ return getPeerIds().size() > 0;
}
@Override
this.persistenceProvider = persistenceProvider;
}
+ @Override
+ public short getPayloadVersion() {
+ return payloadVersion;
+ }
+
+ @Override
+ public RaftPolicy getRaftPolicy() {
+ return this.raftPolicy;
+ }
+
+ public void setRaftPolicy(RaftPolicy raftPolicy){
+ this.raftPolicy = raftPolicy;
+ }
+
+ public void setPayloadVersion(short payloadVersion) {
+ this.payloadVersion = payloadVersion;
+ }
+
public static class SimpleReplicatedLog extends AbstractReplicatedLogImpl {
- @Override public void appendAndPersist(
+ @Override
+ public void appendAndPersist(
ReplicatedLogEntry replicatedLogEntry) {
append(replicatedLogEntry);
}
return -1;
}
+ @Override
+ public void captureSnapshotIfReady(ReplicatedLogEntry replicatedLogEntry) {
+ }
+
@Override public void removeFromAndPersist(long index) {
removeFrom(index);
}
public MockReplicatedLogBuilder createEntries(int start, int end, int term) {
for (int i=start; i<end; i++) {
- this.mockLog.append(new ReplicatedLogImplEntry(i, term, new MockRaftActorContext.MockPayload("foo" + i)));
+ this.mockLog.append(new ReplicatedLogImplEntry(i, term, new MockRaftActorContext.MockPayload(Integer.toString(i))));
}
return this;
}