Packages

p

riff.raft

client

package client

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. case class EarlyTerminationOnErrorState(status: AppendStatus) extends SingleAppendFSM with Product with Serializable
  2. case class EntryCommitted(committed: LogCoords) extends StateUpdateMsg with Product with Serializable
  3. case class ErrorState(err: Exception) extends SingleAppendFSM with Product with Serializable
  4. case class FilteringState(status: AppendStatus, nextUpdate: Option[AppendStatus]) extends SingleAppendFSM with Product with Serializable

    We're actively updating an append status based on inputs from committed logs, log appends and node responses

  5. case class InitialLogAppend(appendResult: LogAppendResult) extends StateUpdateMsg with Product with Serializable
  6. case class InitialState(nodeId: NodeId, clusterSize: Int) extends SingleAppendFSM with Product with Serializable
  7. case class LogAppend(appendResult: LogAppendResult) extends StateUpdateMsg with Product with Serializable
  8. case class NodeResponded(responseFrom: NodeId, appendResponse: AppendEntriesResponse) extends StateUpdateMsg with Product with Serializable
  9. sealed trait SingleAppendFSM extends AnyRef

    This finite state machine represents states which can occur while a single append request's data is acked, committed, etc.

    This finite state machine represents states which can occur while a single append request's data is acked, committed, etc. It contains the logic needed to support observing a stream of AppendStatus events associated with appending some data.

    This is done by combining input events from :

    1) the AppendResponse messages coming into the node which processed the append 2) a receiving node's log append results - both the initial one from the newly appended data, as well as all future appends. This is needed to see if any new appends result in needed to roll back our append, e.g. in the situation where we've appended while a disconnected leader and a new leader w/o that data has won an election. 3) the node's log's commits, so we can add that information to the AppendStatus

    This state machine is updated via StateUpdateMsg messages.

    The states are:

    initial

  10. sealed trait StateUpdateMsg extends AnyRef

    Represents the fixed inputs to the SingleAppendFSM in order to support a feed of riff.raft.AppendStatus messages

Value Members

  1. object SingleAppendFSM
  2. object StateUpdateMsg

Ungrouped