X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2FRaftActorContext.java;h=7198876ca685fbab60c7983df909c0f05551a0f9;hp=7150ec0e6e8fd889f383a4aaace4b250a44061bc;hb=1fcab79755eb00756ad947f2369d82efb0b5a55c;hpb=b66641aff093e1e2ac0719aba6b0194c2fd48e36 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 7150ec0e6e..7198876ca6 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 @@ -12,9 +12,11 @@ import akka.actor.ActorRef; import akka.actor.ActorSelection; import akka.actor.ActorSystem; import akka.actor.Props; -import akka.event.LoggingAdapter; - +import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Supplier; import java.util.Map; +import org.opendaylight.controller.cluster.DataPersistenceProvider; +import org.slf4j.Logger; /** * The RaftActorContext contains that portion of the RaftActors state that @@ -85,6 +87,12 @@ public interface RaftActorContext { */ void setLastApplied(long lastApplied); + /** + * + * @param replicatedLog + */ + void setReplicatedLog(ReplicatedLog replicatedLog); + /** * @return A representation of the log */ @@ -96,21 +104,27 @@ public interface RaftActorContext { ActorSystem getActorSystem(); /** + * Get the logger to be used for logging messages * * @return */ - LoggingAdapter getLogger(); + Logger getLogger(); /** - * Get a mapping of peer id's their addresses + * Get a mapping of peerId's to their addresses + * * @return + * */ Map getPeerAddresses(); /** + * Get the address of the peer as a String. This is the same format in + * which a consumer would provide the address * * @param peerId - * @return + * @return The address of the peer or null if the address has not yet been + * resolved */ String getPeerAddress(String peerId); @@ -125,5 +139,45 @@ public interface RaftActorContext { * * @param name */ - public void removePeer(String name); + void removePeer(String name); + + /** + * Given a peerId return the corresponding actor + *

+ * + * + * @param peerId + * @return The actorSelection corresponding to the peer or null if the + * address has not yet been resolved + */ + ActorSelection getPeerActorSelection(String peerId); + + /** + * Set Peer Address can be called at a later time to change the address of + * a known peer. + * + *

+ * Throws an IllegalStateException if the peer is unknown + * + * @param peerId + * @param peerAddress + */ + void setPeerAddress(String peerId, String peerAddress); + + /** + * @return ConfigParams + */ + ConfigParams getConfigParams(); + + SnapshotManager getSnapshotManager(); + + DataPersistenceProvider getPersistenceProvider(); + + boolean hasFollowers(); + + long getTotalMemory(); + + @VisibleForTesting + void setTotalMemoryRetriever(Supplier retriever); + }