All Classes and Interfaces
Class
Description
Used to send AppendEntries messages to cluster members.
The result of an AppendEntries request
It's a growable ring buffer that allows to move tail/head sequences, clear, append, set/replace at specific positions.
RAFT Implementation of
AsyncCounter.Optional interface for state machines that support non-blocking snapshot creation.
Blocks while handling a message.
Protocol listening on a socket for client requests.
Keeps track of next_index and match_index for each cluster member (excluding this leader).
Provides a consensus based distributed counter (similar to AtomicLong) which can be atomically updated across a cluster.
Sample state machine accepting additions and subtractions
Defines the contract to add and remove servers (RAFT.members).
The default leader election algorithm.
A leader election protocol.
Metrics about leader election and leadership stability.
A
Log implementation stored in a file.Implements the behavior of a RAFT follower
An in-memory
Log implementation without any persistence.Internal command to be added to the log, e.g. adding or removing a server
Entry point for the JGroups Raft API.
Administrative operations for the Raft cluster.
Customizes how commands behave during execution.
Builder for read command options.
Builder for write command options.
Custom serializer for user-defined types in JGroups Raft.
Health monitoring for a Raft node.
Coarse-grained cluster health status from a single node's perspective.
Monitoring interface for a Raft node.
Command options for read operations.
Represents the role of a Raft node.
Exception thrown when serialization or deserialization operations fail.
Read-only view of the current Raft protocol state.
Marks a class as a Raft state machine.
Command options for write operations.
Base unchecked exception for JGroups Raft.
Latency distribution for a specific operation category.
Implements the behavior of a RAFT leader
Implements the behavior of a learner node.
Durable storage for Raft consensus log entries, election metadata (term and vote), and state machine snapshots.
Bounded caching
Log facade.Controls the log entry cache that sits between the Raft protocol and the underlying persistent log.
Marker interface for optional capabilities that a
Log implementation may provide.List of
LogEntry elements, provides efficient serialization.An element in a log.
Metrics about the Raft log state on this node.
Base class for the cluster implementations in the test framework.
Intercepts JOIN and MERGE requests on the coordinator and rejects members whose addition would lead to members
with duplicate raft-ids in the view.
Options to pass to
Settable.setAsync(byte[], int, int) callManipulate the cluster during tests.
Latency measurements for the main operations in a Raft cluster.
Responsible for a node's internal state.
Iterates over all concrete Protocol classes and creates tables with Protocol's properties.
Implementation of the RAFT consensus protocol in JGroups
TODO!
Centralized registration of all RAFT protocol types with JGroups ClassConfigurator.
Orchestrates a number of
RaftNode objects, to be used in a unit test, for example a leader and a follower.TODO!
Main interaction point for applications with jgroups-raft.
Base class for the different roles a RAFT node can have (follower, candidate, leader)
Unchecked exception thrown by
RaftLogAdapter after the log has been poisoned due to an unrecoverable storage
failure.TODO!
Utilities for developing tests with Raft.
Repository for read-only operations.
Protocol that redirects RAFT commands from clients to the actual RAFT leader.
A key-value store replicating its contents with RAFT via consensus
Dummy replicated hashmap state machine
Keeps track of
AppendEntriesRequest messages and responses.Context for reading objects and primitives during deserialization.
Context for writing objects and primitives during serialization.
Interface to make changes to the Raft state machine.
A frozen, point-in-time view of a state machine's contents, ready for serialization.
A log capability that allows snapshot creation in two phases: staging and committing.
Interface of a state machine which stores data in memory.
Marks a field for inclusion in Raft snapshots.
Marks a method as a read-only operation in the Raft state machine.
Marks a method as a write operation in the Raft state machine.
Abstraction over time sources.
No-op implementation that returns
null for timestamps and 0 for
nanosecond values.Live implementation backed by the JVM time.