All Classes and Interfaces
Class
Description
Thrown when an operation cannot be temporarily replicated.
A Raft leader may demote to the follower role after it appends an entry to
its local Raft log, but before discovering its commit status.
Thrown when a Raft node's current commit index is smaller than the commit
index specified in a
RaftNode.query(Object, QueryPolicy, long)
call.Types of membership changes that occur on Raft groups.
Thrown when a membership change is triggered with an expected group members
commit index that doesn't match the current group members commit index in the
local state of the Raft group leader.
Used when a Raft node works transiently (its state is not persisted).
Thrown when an operation, query, or a membership change is triggered on a
non-leader Raft node.
Represents result of an operation that is triggered on a Raft node via one of
the methods in the
RaftNode
interface, along with at which commit
index the given operation is executed / performed.Policies to decide how a query operation will be executed on the state
machine.
Contains the configuration parameters for MicroRaft's implementation.
Builder for Raft config
Represents an endpoint that participates to at least one Raft group and
executes the Raft consensus algorithm with a
RaftNode
instance.Base exception class for Raft-related exceptions.
Represents member list of a Raft group with an index identifying on which log
index the given member list is appended to the Raft log.
Contains statistics about a Raft node's Raft log.
The base interface for the objects that hit network and persistent storage.
Used for creating
RaftModel
objects with the builder pattern.A Raft node runs the Raft consensus algorithm as a member of a Raft group.
The builder interface for configuring and creating Raft node instances.
The abstraction used by
RaftNode
to execute the Raft consensus
algorithm with the Actor model.Used by
RaftNode
to notify its components for its lifecycle-related
changes, such as startup and termination.Contains information about a Raft node's local state related to the execution
of the Raft consensus algorithm.
Denotes the reason for a given report
Used for informing external systems about events related to the execution of
the Raft consensus algorithm.
Statuses of a Raft node during its own and its Raft group's lifecycle.
The roles of Raft nodes as defined in the Raft consensus algorithm.
This interface is used for persisting only the internal state of the Raft
consensus algorithm.
Similarly to the
RaftModelFactory
, users of the
RaftStore implementations must provide methods for converting a few of their
types into binary data for persistence.Contains a snapshot of a Raft node's current state in a term.
Contains restored state of a
RaftNode
.The abstraction used by
RaftNode
instances to execute operations on
the user-supplied state machines.Used for communicating Raft nodes with each other.