com.teambytes.inflatable.raft

protocol

package protocol

Linear Supertypes
RaftStates, StateMetadata, RaftClusterMembershipProtocol, InternalProtocol, RaftProtocol, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. protocol
  2. RaftStates
  3. StateMetadata
  4. RaftClusterMembershipProtocol
  5. InternalProtocol
  6. RaftProtocol
  7. Serializable
  8. Serializable
  9. AnyRef
  10. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class AppendEntries[T] extends Message[Raft] with RaftMessage with Product with Serializable

    Definition Classes
    RaftProtocol
  2. case class AppendRejected extends Message[Internal] with AppendResponse with Product with Serializable

    Definition Classes
    InternalProtocol
  3. sealed trait AppendResponse extends Message[Internal] with FollowerResponse

    When the Leader has sent an append, for an unexpected number, the Follower replies with this

    When the Leader has sent an append, for an unexpected number, the Follower replies with this

    Definition Classes
    InternalProtocol
  4. case class AppendSuccessful extends Message[Internal] with AppendResponse with Product with Serializable

    Definition Classes
    InternalProtocol
  5. type Candidate = ActorRef

    Definition Classes
    StateMetadata
  6. case class ChangeConfiguration extends Message[Raft] with Product with Serializable

    Raft extension: Cluster Membership Changes / Joint Consensus

    Raft extension: Cluster Membership Changes / Joint Consensus

    There can take a while to propagate, and will only be applied when the config is passed on to all nodes, and the Leader (current, or new) is contained in the new cluster configuration - this may cause a re-election, if we're about to remove the current leader from the cluster.

    Definition Classes
    RaftProtocol
    See also

    §6 - Cluster Membership Changes

  7. case class ClientMessage[T] extends Message[Raft] with RaftMessage with Product with Serializable

    Wrap messages you want to send to the underlying replicated state machine

    Wrap messages you want to send to the underlying replicated state machine

    Definition Classes
    RaftProtocol
  8. case class DeclineCandidate extends Message[Internal] with ElectionMessage with Product with Serializable

    Definition Classes
    InternalProtocol
  9. sealed trait ElectionMessage extends Message[Internal]

    Definition Classes
    InternalProtocol
  10. case class ElectionMeta extends Metadata with Product with Serializable

    Definition Classes
    StateMetadata
  11. case class EntryCommitted extends Message[Testing] with Product with Serializable

    Definition Classes
    InternalProtocol
  12. sealed trait FollowerResponse extends Message[Internal]

    Definition Classes
    InternalProtocol
  13. case class InstallSnapshot extends Message[Raft] with Product with Serializable

    Raft extension: Snapshots Used by the Leader to install a snapshot onto an "catching up from very behind" Follower.

    Raft extension: Snapshots Used by the Leader to install a snapshot onto an "catching up from very behind" Follower. It's the Followers responsibility to load the snapshot data and apply it to it's state machine, by using akka-persistence provided mechanisms.

    Definition Classes
    RaftProtocol
    See also

    §7 - Log Compaction

  14. sealed trait InternalMessage extends Message[Internal]

    Definition Classes
    InternalProtocol
  15. case class LeaderIs extends Message[Raft] with Product with Serializable

    Used by Members to notify com.teambytes.inflatable.raft.RaftClientActor actors that they're sending their requests to a non-leader, and that they should update their internal leader ActorRef to the given one.

    Used by Members to notify com.teambytes.inflatable.raft.RaftClientActor actors that they're sending their requests to a non-leader, and that they should update their internal leader ActorRef to the given one.

    Upon receive of such message, all further communication should be done with the given actorRef.

    Definition Classes
    RaftProtocol
    See also

    §8 - Client Interaction

  16. sealed trait LeaderMessage extends Message[Internal]

    Definition Classes
    InternalProtocol
  17. case class LeaderMeta extends Metadata with Product with Serializable

    Definition Classes
    StateMetadata
  18. case class Meta extends Metadata with Product with Serializable

    Definition Classes
    StateMetadata
  19. sealed trait Metadata extends AnyRef

    Definition Classes
    StateMetadata
  20. sealed trait RaftMessage extends Message[Raft]

    Definition Classes
    RaftProtocol
  21. sealed trait RaftState extends AnyRef

    Definition Classes
    RaftStates
  22. case class RequestVote extends Message[Raft] with RaftMessage with Product with Serializable

    Message sent by a com.teambytes.inflatable.raft.Candidate in order to win an election (and become com.teambytes.inflatable.raft.Leader).

    Message sent by a com.teambytes.inflatable.raft.Candidate in order to win an election (and become com.teambytes.inflatable.raft.Leader).

    Definition Classes
    RaftProtocol
    See also

    §5.2 Leader Election and §5.4.1 - Election Restriction

  23. case class SnapshotWritten extends Message[Testing] with Product with Serializable

    Definition Classes
    InternalProtocol
  24. case class VoteCandidate extends Message[Internal] with ElectionMessage with Product with Serializable

    Definition Classes
    InternalProtocol

Abstract Value Members

  1. abstract def getClass(): Class[_]

    Definition Classes
    Any

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  2. final def ##(): Int

    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  4. object AppendEntries extends Serializable

    Definition Classes
    RaftProtocol
  5. object BeginElection extends Message[Internal] with ElectionMessage with Product with Serializable

    Definition Classes
    InternalProtocol
  6. object Candidate extends RaftState with Product with Serializable

    A Candidate tries to become a Leader, by issuing com.teambytes.inflatable.raft.protocol.RaftProtocol.RequestVote

    A Candidate tries to become a Leader, by issuing com.teambytes.inflatable.raft.protocol.RaftProtocol.RequestVote

    Definition Classes
    RaftStates
  7. object ElectedAsLeader extends Message[Internal] with ElectionMessage with Product with Serializable

    Definition Classes
    InternalProtocol
  8. object ElectionTimeout extends Message[Internal] with ElectionMessage with Product with Serializable

    Definition Classes
    InternalProtocol
  9. object Follower extends RaftState with Product with Serializable

    A Follower can take writes from a Leader; If doesn't get any heartbeat, may decide to become a Candidate

    A Follower can take writes from a Leader; If doesn't get any heartbeat, may decide to become a Candidate

    Definition Classes
    RaftStates
  10. object Init extends RaftState with Product with Serializable

    In this phase the member awaits to get it's com.teambytes.inflatable.raft.ClusterConfiguration

    In this phase the member awaits to get it's com.teambytes.inflatable.raft.ClusterConfiguration

    Definition Classes
    RaftStates
  11. object InitLogSnapshot extends Message[Internal] with Product with Serializable

    Internal msg sent to actor which should start a snapshotting process

    Internal msg sent to actor which should start a snapshotting process

    Definition Classes
    InternalProtocol
  12. object Leader extends RaftState with Product with Serializable

    The Leader is responsible for taking writes, and commiting entries, as well as keeping the heartbeat to all members

    The Leader is responsible for taking writes, and commiting entries, as well as keeping the heartbeat to all members

    Definition Classes
    RaftStates
  13. object Meta extends Serializable

    Definition Classes
    StateMetadata
  14. object RequestConfiguration extends Message[Internal] with Product with Serializable

    Message issued by freshly restarted actor after has crashed Leader reacts with sending com.teambytes.inflatable.raft.protocol.RaftProtocol.ChangeConfiguration

    Message issued by freshly restarted actor after has crashed Leader reacts with sending com.teambytes.inflatable.raft.protocol.RaftProtocol.ChangeConfiguration

    Definition Classes
    RaftProtocol
    See also

    §6 - Cluster Membership Changes

  15. object SendHeartbeat extends Message[Internal] with LeaderMessage with Product with Serializable

    Definition Classes
    InternalProtocol
  16. object WhoIsTheLeader extends Message[Raft] with Product with Serializable

    Definition Classes
    RaftProtocol
  17. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  18. def equals(arg0: Any): Boolean

    Definition Classes
    Any
  19. def hashCode(): Int

    Definition Classes
    Any
  20. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  21. def toString(): String

    Definition Classes
    Any

Inherited from RaftStates

Inherited from StateMetadata

Inherited from RaftClusterMembershipProtocol

Inherited from InternalProtocol

Inherited from RaftProtocol

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped