Properly handle RequestVote in all states
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / main / java / org / opendaylight / controller / cluster / raft / RaftActorContextImpl.java
index 9ec8dddf6a11773cb07f1206350cd9175e6c8b9d..845011a7e372548999c9b643d26630528543e473 100644 (file)
@@ -10,11 +10,10 @@ package org.opendaylight.controller.cluster.raft;
 
 import akka.actor.ActorRef;
 import akka.actor.ActorSelection;
+import akka.actor.ActorSystem;
 import akka.actor.Props;
 import akka.actor.UntypedActorContext;
 
-import java.util.concurrent.atomic.AtomicLong;
-
 public class RaftActorContextImpl implements RaftActorContext{
 
     private final ActorRef actor;
@@ -25,16 +24,16 @@ public class RaftActorContextImpl implements RaftActorContext{
 
     private final ElectionTerm termInformation;
 
-    private final AtomicLong commitIndex;
+    private long commitIndex;
 
-    private final AtomicLong lastApplied;
+    private long lastApplied;
 
     private final ReplicatedLog replicatedLog;
 
     public RaftActorContextImpl(ActorRef actor, UntypedActorContext context,
         String id,
-        ElectionTerm termInformation, AtomicLong commitIndex,
-        AtomicLong lastApplied, ReplicatedLog replicatedLog) {
+        ElectionTerm termInformation, long commitIndex,
+        long lastApplied, ReplicatedLog replicatedLog) {
         this.actor = actor;
         this.context = context;
         this.id = id;
@@ -64,15 +63,27 @@ public class RaftActorContextImpl implements RaftActorContext{
         return termInformation;
     }
 
-    public AtomicLong getCommitIndex() {
+    public long getCommitIndex() {
         return commitIndex;
     }
 
-    public AtomicLong getLastApplied() {
+    @Override public void setCommitIndex(long commitIndex) {
+        this.commitIndex = commitIndex;
+    }
+
+    public long getLastApplied() {
         return lastApplied;
     }
 
+    @Override public void setLastApplied(long lastApplied) {
+        this.lastApplied = lastApplied;
+    }
+
     @Override public ReplicatedLog getReplicatedLog() {
         return replicatedLog;
     }
+
+    @Override public ActorSystem getActorSystem() {
+        return context.system();
+    }
 }