| Class | Description |
|---|---|
| EloquentRaftAlgorithm |
The implementation of Raft, filling in the expected behavior for all of the callbacks.
|
| EloquentRaftNode |
A node in the Raft cluster.
|
| EloquentRaftProto | |
| EloquentRaftProto.AddServerReply |
Protobuf type
ai.eloquent.raft.AddServerReply |
| EloquentRaftProto.AddServerReply.Builder |
Protobuf type
ai.eloquent.raft.AddServerReply |
| EloquentRaftProto.AddServerRequest |
Protobuf type
ai.eloquent.raft.AddServerRequest |
| EloquentRaftProto.AddServerRequest.Builder |
Protobuf type
ai.eloquent.raft.AddServerRequest |
| EloquentRaftProto.AppendEntriesReply |
Protobuf type
ai.eloquent.raft.AppendEntriesReply |
| EloquentRaftProto.AppendEntriesReply.Builder |
Protobuf type
ai.eloquent.raft.AppendEntriesReply |
| EloquentRaftProto.AppendEntriesRequest |
Protobuf type
ai.eloquent.raft.AppendEntriesRequest |
| EloquentRaftProto.AppendEntriesRequest.Builder |
Protobuf type
ai.eloquent.raft.AppendEntriesRequest |
| EloquentRaftProto.ApplyTransitionReply |
Protobuf type
ai.eloquent.raft.ApplyTransitionReply |
| EloquentRaftProto.ApplyTransitionReply.Builder |
Protobuf type
ai.eloquent.raft.ApplyTransitionReply |
| EloquentRaftProto.ApplyTransitionRequest |
Protobuf type
ai.eloquent.raft.ApplyTransitionRequest |
| EloquentRaftProto.ApplyTransitionRequest.Builder |
Protobuf type
ai.eloquent.raft.ApplyTransitionRequest |
| EloquentRaftProto.InstallSnapshotReply |
Protobuf type
ai.eloquent.raft.InstallSnapshotReply |
| EloquentRaftProto.InstallSnapshotReply.Builder |
Protobuf type
ai.eloquent.raft.InstallSnapshotReply |
| EloquentRaftProto.InstallSnapshotRequest |
Protobuf type
ai.eloquent.raft.InstallSnapshotRequest |
| EloquentRaftProto.InstallSnapshotRequest.Builder |
Protobuf type
ai.eloquent.raft.InstallSnapshotRequest |
| EloquentRaftProto.LivenessCheckReply |
Protobuf type
ai.eloquent.raft.LivenessCheckReply |
| EloquentRaftProto.LivenessCheckReply.Builder |
Protobuf type
ai.eloquent.raft.LivenessCheckReply |
| EloquentRaftProto.LivenessCheckRequest |
Protobuf type
ai.eloquent.raft.LivenessCheckRequest |
| EloquentRaftProto.LivenessCheckRequest.Builder |
Protobuf type
ai.eloquent.raft.LivenessCheckRequest |
| EloquentRaftProto.LogEntry |
Protobuf type
ai.eloquent.raft.LogEntry |
| EloquentRaftProto.LogEntry.Builder |
Protobuf type
ai.eloquent.raft.LogEntry |
| EloquentRaftProto.RaftMessage |
A common class for all sorts of Raft requests, wrapped in relevant
metadata.
|
| EloquentRaftProto.RaftMessage.Builder |
A common class for all sorts of Raft requests, wrapped in relevant
metadata.
|
| EloquentRaftProto.RemoveServerReply |
Protobuf type
ai.eloquent.raft.RemoveServerReply |
| EloquentRaftProto.RemoveServerReply.Builder |
Protobuf type
ai.eloquent.raft.RemoveServerReply |
| EloquentRaftProto.RemoveServerRequest |
Protobuf type
ai.eloquent.raft.RemoveServerRequest |
| EloquentRaftProto.RemoveServerRequest.Builder |
Protobuf type
ai.eloquent.raft.RemoveServerRequest |
| EloquentRaftProto.RequestVoteReply |
Protobuf type
ai.eloquent.raft.RequestVoteReply |
| EloquentRaftProto.RequestVoteReply.Builder |
Protobuf type
ai.eloquent.raft.RequestVoteReply |
| EloquentRaftProto.RequestVoteRequest |
Protobuf type
ai.eloquent.raft.RequestVoteRequest |
| EloquentRaftProto.RequestVoteRequest.Builder |
Protobuf type
ai.eloquent.raft.RequestVoteRequest |
| EloquentRaftProto.StateMachine |
Protobuf type
ai.eloquent.raft.StateMachine |
| EloquentRaftProto.StateMachine.Builder |
Protobuf type
ai.eloquent.raft.StateMachine |
| InstantTransport |
This is used for benchmarking, and to do JIT burn-ins for latency sensitive code paths.
|
| KeyValueStateMachine |
This is the standard state machine we use to implement our RAFT distributed storage.
|
| KeyValueStateMachineProto | |
| KeyValueStateMachineProto.ClearTransients |
Protobuf type
ai.eloquent.raft.ClearTransients |
| KeyValueStateMachineProto.ClearTransients.Builder |
Protobuf type
ai.eloquent.raft.ClearTransients |
| KeyValueStateMachineProto.KVStateMachine |
Protobuf type
ai.eloquent.raft.KVStateMachine |
| KeyValueStateMachineProto.KVStateMachine.Builder |
Protobuf type
ai.eloquent.raft.KVStateMachine |
| KeyValueStateMachineProto.LockRequest |
Protobuf type
ai.eloquent.raft.LockRequest |
| KeyValueStateMachineProto.LockRequest.Builder |
Protobuf type
ai.eloquent.raft.LockRequest |
| KeyValueStateMachineProto.QueueLock |
Protobuf type
ai.eloquent.raft.QueueLock |
| KeyValueStateMachineProto.QueueLock.Builder |
Protobuf type
ai.eloquent.raft.QueueLock |
| KeyValueStateMachineProto.ReleaseLock |
Protobuf type
ai.eloquent.raft.ReleaseLock |
| KeyValueStateMachineProto.ReleaseLock.Builder |
Protobuf type
ai.eloquent.raft.ReleaseLock |
| KeyValueStateMachineProto.RemoveValue |
Protobuf type
ai.eloquent.raft.RemoveValue |
| KeyValueStateMachineProto.RemoveValue.Builder |
Protobuf type
ai.eloquent.raft.RemoveValue |
| KeyValueStateMachineProto.RequestLock |
Protobuf type
ai.eloquent.raft.RequestLock |
| KeyValueStateMachineProto.RequestLock.Builder |
Protobuf type
ai.eloquent.raft.RequestLock |
| KeyValueStateMachineProto.SetValue |
Protobuf type
ai.eloquent.raft.SetValue |
| KeyValueStateMachineProto.SetValue.Builder |
Protobuf type
ai.eloquent.raft.SetValue |
| KeyValueStateMachineProto.Transition |
Protobuf type
ai.eloquent.raft.Transition |
| KeyValueStateMachineProto.Transition.Builder |
Protobuf type
ai.eloquent.raft.Transition |
| KeyValueStateMachineProto.TryLock |
Protobuf type
ai.eloquent.raft.TryLock |
| KeyValueStateMachineProto.TryLock.Builder |
Protobuf type
ai.eloquent.raft.TryLock |
| KeyValueStateMachineProto.ValueWithOptionalOwner |
Protobuf type
ai.eloquent.raft.ValueWithOptionalOwner |
| KeyValueStateMachineProto.ValueWithOptionalOwner.Builder |
Protobuf type
ai.eloquent.raft.ValueWithOptionalOwner |
| LocalTransport |
A mocked transport, that delivers messages to others listening on the same transport
instance.
|
| NetRaftTransport |
A Raft transport implemented directly over UDP
|
| RaftBackedCache<V> |
A cache that keeps values in Raft, but saves them to a given persistence store
when they have been unmodified in Raft for too long.
|
| RaftGrpc | |
| RaftGrpc.RaftBlockingStub | |
| RaftGrpc.RaftFutureStub | |
| RaftGrpc.RaftImplBase | |
| RaftGrpc.RaftStub | |
| RaftLifecycle | |
| RaftLifecycle.Builder |
A builder for a lifecycle.
|
| RaftLog |
There turns out to be an annoying amount of book-keeping around the logging abstraction in Raft, since it can be
compacted, truncated, rewritten, committed, and queried in all sorts of strange ways.
|
| RaftLog.Snapshot |
This is used in truncating the logs when they grow too long.
|
| RaftLogEntryLocation |
A little helper class for a log entry location for a Raft log.
|
| RaftState |
The state of a Raft node.
|
| RaftStateMachine |
This is the interface that any state machine needs to implement in order to be used with Theseus.
|
| SingleThreadedRaftAlgorithm |
A
RaftAlgorithm that wraps all of its calls in a queue to ensure that they
are executed single-threaded. |
| Theseus |
This is the high-level user-facing API for RAFT.
|
| UnsatisfiableQuorumFailsafe |
This failsafe checks for the following very specific condition:
- 1.
|
| Enum | Description |
|---|---|
| EloquentRaftProto.ApplyTransitionRequest.PayloadCase | |
| EloquentRaftProto.LogEntry.PayloadCase | |
| EloquentRaftProto.LogEntryType |
Protobuf enum
ai.eloquent.raft.LogEntryType |
| EloquentRaftProto.MembershipChangeStatus |
Protobuf enum
ai.eloquent.raft.MembershipChangeStatus |
| EloquentRaftProto.RaftMessage.ContentsCase | |
| KeyValueStateMachineProto.Transition.BodyCase | |
| KeyValueStateMachineProto.TransitionType |
Protobuf enum
ai.eloquent.raft.TransitionType |
| RaftState.LeadershipStatus |
The leadership status of the given Raft node.
|
| RaftTransport.Type |
The enumeration of different transport types.
|