Index
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
A
- ACTIVE - Enum constant in enum io.microraft.RaftNodeStatus
-
A Raft node stays in this status when there is no ongoing membership change or a Raft group termination process.
- ADD_LEARNER - Enum constant in enum io.microraft.MembershipChangeMode
-
Denotes that a new Raft endpoint will be added to the Raft group as a
RaftRole.LEARNER
. - ADD_OR_PROMOTE_TO_FOLLOWER - Enum constant in enum io.microraft.MembershipChangeMode
-
Denotes that either a new Raft endpoint will be added to the Raft group as a
RaftRole.FOLLOWER
, or an existing (i.e.,RaftRole.LEARNER
Raft endpoint in the Raft group will be promoted to theRaftRole.FOLLOWER
role. - API_CALL - Enum constant in enum io.microraft.report.RaftNodeReport.RaftNodeReportReason
-
The report is created for a
RaftNode.getReport()
call.
B
- BOUNDED_STALENESS - Enum constant in enum io.microraft.QueryPolicy
-
Runs the query on the local state machine of any Raft node.
- build() - Method in class io.microraft.RaftConfig.RaftConfigBuilder
-
Builds the RaftConfig object.
- build() - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Builds and returns the RaftNode instance with the given settings.
C
- CANDIDATE - Enum constant in enum io.microraft.RaftRole
-
When a follower starts a new leader election, it first turns into a candidate.
- CannotReplicateException - Exception in io.microraft.exception
-
Thrown when an operation cannot be temporarily replicated.
- CannotReplicateException(RaftEndpoint) - Constructor for exception io.microraft.exception.CannotReplicateException
-
Creates an instance of the exception.
- changeMembership(RaftEndpoint, MembershipChangeMode, long) - Method in interface io.microraft.RaftNode
-
Replicates and commits the given membership change to the Raft group, if the given group members commit index is equal to the current group members commit index in the local Raft state.
- createAppendEntriesFailureResponseBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createAppendEntriesRequestBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createAppendEntriesSuccessResponseBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createInstallSnapshotRequestBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createInstallSnapshotResponseBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createLogEntryBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createPreVoteRequestBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createPreVoteResponseBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createRaftEndpointPersistentStateBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createRaftGroupMembersViewBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createRaftTermPersistentStateBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createSnapshotChunkBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createSnapshotEntryBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createTriggerLeaderElectionRequestBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createUpdateRaftGroupMembersOpBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createVoteRequestBuilder() - Method in interface io.microraft.model.RaftModelFactory
- createVoteResponseBuilder() - Method in interface io.microraft.model.RaftModelFactory
D
- DEFAULT_APPEND_ENTRIES_REQUEST_BATCH_SIZE - Static variable in class io.microraft.RaftConfig
-
The default value for
RaftConfig.appendEntriesRequestBatchSize
. - DEFAULT_COMMIT_COUNT_TO_TAKE_SNAPSHOT - Static variable in class io.microraft.RaftConfig
-
The default value for
RaftConfig.commitCountToTakeSnapshot
. - DEFAULT_LEADER_ELECTION_TIMEOUT_MILLIS - Static variable in class io.microraft.RaftConfig
-
The default value for
RaftConfig.leaderElectionTimeoutMillis
. - DEFAULT_LEADER_HEARTBEAT_PERIOD_SECS - Static variable in class io.microraft.RaftConfig
-
The default value for
RaftConfig.leaderHeartbeatPeriodSecs
. - DEFAULT_LEADER_HEARTBEAT_TIMEOUT_SECS - Static variable in class io.microraft.RaftConfig
-
The default value for
RaftConfig.leaderHeartbeatTimeoutSecs
- DEFAULT_MAX_PENDING_LOG_ENTRY_COUNT - Static variable in class io.microraft.RaftConfig
-
The default value for
RaftConfig.maxPendingLogEntryCount
. - DEFAULT_RAFT_CONFIG - Static variable in class io.microraft.RaftConfig
-
The config object with default configuration.
- DEFAULT_RAFT_NODE_REPORT_PUBLISH_PERIOD_SECS - Static variable in class io.microraft.RaftConfig
-
The default value for
RaftConfig.raftNodeReportPublishPeriodSecs
. - DEFAULT_TRANSFER_SNAPSHOTS_FROM_FOLLOWERS_ENABLED - Static variable in class io.microraft.RaftConfig
-
The default value for
RaftConfig.transferSnapshotsFromFollowersEnabled
- deleteSnapshotChunks(long, int) - Method in class io.microraft.persistence.NopRaftStore
- deleteSnapshotChunks(long, int) - Method in interface io.microraft.persistence.RaftStore
-
Deletes persisted snapshot chunks at the given log index.
- deserialize(byte[]) - Method in interface io.microraft.persistence.RaftStoreSerializer.Serializer
E
- EVENTUAL_CONSISTENCY - Enum constant in enum io.microraft.QueryPolicy
-
Runs the query on the local state machine of any Raft node.
- execute(Runnable) - Method in interface io.microraft.executor.RaftNodeExecutor
-
Executes the given task on the underlying platform.
F
- flush() - Method in class io.microraft.persistence.NopRaftStore
- flush() - Method in interface io.microraft.persistence.RaftStore
-
Forces all buffered (in any layer) Raft log changes to be written to the storage and returns after those changes are written.
- FOLLOWER - Enum constant in enum io.microraft.RaftRole
-
Followers issue no requests on their own.
G
- getAppendEntriesRequestBatchSize() - Method in class io.microraft.RaftConfig
- getCommitCountToTakeSnapshot() - Method in class io.microraft.RaftConfig
- getCommitIndex() - Method in exception io.microraft.exception.MismatchingRaftGroupMembersCommitIndexException
-
Returns the commit index of the current Raft group members.
- getCommitIndex() - Method in interface io.microraft.Ordered
-
Returns the commit index at which the operation is executed / performed.
- getCommitIndex() - Method in interface io.microraft.report.RaftLogStats
-
Returns index of the highest log entry known to be committed.
- getCommittedMembers() - Method in interface io.microraft.RaftNode
-
Returns the last committed member list of the Raft group this Raft node belongs to.
- getCommittedMembers() - Method in interface io.microraft.report.RaftNodeReport
-
Returns the last committed member list of the Raft group this Raft node belongs to.
- getConfig() - Method in interface io.microraft.RaftNode
-
Returns the config object this Raft node is initialized with.
- getEffectiveMembers() - Method in interface io.microraft.RaftNode
-
Returns the currently effective member list of the Raft group this Raft node belongs to.
- getEffectiveMembers() - Method in interface io.microraft.report.RaftNodeReport
-
Returns the currently effective member list of the Raft group this Raft node belongs to.
- getEndpoint() - Method in interface io.microraft.report.RaftNodeReport
-
Returns the local endpoint of the Raft node.
- getFollowerMatchIndices() - Method in interface io.microraft.report.RaftLogStats
-
Returns the indices of the last known appended Raft log entries on the followers.
- getGroupId() - Method in interface io.microraft.RaftNode
-
Returns the unique id of the Raft group which this Raft node belongs to.
- getGroupId() - Method in interface io.microraft.report.RaftNodeReport
-
Returns the unique ID of the Raft group that this Raft node belongs to.
- getHeartbeatTimestamps() - Method in interface io.microraft.report.RaftNodeReport
-
Returns timestamps of latest heartbeats sent by the non-leader nodes to the leader Raft node, including both
RaftRole.FOLLOWER
andRaftRole.LEARNER
nodes. - getId() - Method in interface io.microraft.RaftEndpoint
-
Returns the unique identifier of the Raft endpoint.
- getInitialGroupMembers() - Method in class io.microraft.persistence.RestoredRaftState
- getInitialMembers() - Method in interface io.microraft.RaftNode
-
Returns the initial member list of the Raft group.
- getInitialMembers() - Method in interface io.microraft.report.RaftNodeReport
-
Returns the initial members of the Raft group this Raft node belongs to.
- getInstallSnapshotCount() - Method in interface io.microraft.report.RaftLogStats
-
Returns the number of snapshots installed by a Raft node.
- getLastLogOrSnapshotIndex() - Method in interface io.microraft.report.RaftLogStats
-
Returns the last log entry index in the Raft log, either from the last log entry or from the last locally taken or installed snapshot.
- getLastLogOrSnapshotTerm() - Method in interface io.microraft.report.RaftLogStats
-
Returns the last term in the Raft log, either from the last log entry or from the last locally taken or installed snapshot.
- getLastSnapshotIndex() - Method in interface io.microraft.report.RaftLogStats
-
Returns the log index of the last locally taken or installed snapshot.
- getLastSnapshotTerm() - Method in interface io.microraft.report.RaftLogStats
-
Returns the term of the last locally taken or installed snapshot.
- getLeader() - Method in exception io.microraft.exception.RaftException
-
Returns the leader endpoint of the related Raft group, if available and known by the Raft node by the time this exception is thrown.
- getLeaderElectionTimeoutMillis() - Method in class io.microraft.RaftConfig
- getLeaderEndpoint() - Method in interface io.microraft.report.RaftTerm
-
Returns the known Raft leader endpoint in the current term, or null if unknown.
- getLeaderHeartbeatPeriodSecs() - Method in class io.microraft.RaftConfig
- getLeaderHeartbeatTimeoutSecs() - Method in class io.microraft.RaftConfig
- getLeaderHeartbeatTimestamp() - Method in interface io.microraft.report.RaftNodeReport
-
Returns timestamp of the latest heartbeat received from the leader Raft node.
- getLocalEndpoint() - Method in interface io.microraft.RaftNode
-
Returns the local endpoint of this Raft node.
- getLocalEndpointPersistentState() - Method in class io.microraft.persistence.RestoredRaftState
- getLog() - Method in interface io.microraft.report.RaftNodeReport
-
Returns statistics about a Raft node's local Raft log.
- getLogEntries() - Method in class io.microraft.persistence.RestoredRaftState
- getLogIndex() - Method in interface io.microraft.report.RaftGroupMembers
-
Returns the Raft log index that contains this Raft group member list.
- getMajorityQuorumSize() - Method in interface io.microraft.report.RaftGroupMembers
-
Returns the majority quorum size of the Raft group member list.
- getMaxPendingLogEntryCount() - Method in class io.microraft.RaftConfig
- getMembers() - Method in exception io.microraft.exception.MismatchingRaftGroupMembersCommitIndexException
-
Returns the current Raft group members knwon by the Raft node
- getMembers() - Method in interface io.microraft.report.RaftGroupMembers
-
Returns the member list of the Raft group.
- getNewTermOperation() - Method in interface io.microraft.statemachine.StateMachine
-
Returns the operation to be appended after a new leader is elected in a new term.
- getQuorumHeartbeatTimestamp() - Method in interface io.microraft.report.RaftNodeReport
-
Returns earliest heartbeat timestamp of the replication quorum.
- getRaftNodeReportPublishPeriodSecs() - Method in class io.microraft.RaftConfig
- getReason() - Method in interface io.microraft.report.RaftNodeReport
- getReport() - Method in interface io.microraft.RaftNode
-
Returns a report object that contains information about this Raft node's local state related to the execution of the Raft consensus algorithm.
- getResult() - Method in interface io.microraft.Ordered
-
Returns the actual result of the operation.
- getRole() - Method in interface io.microraft.report.RaftNodeReport
-
Returns the role of the Raft node in the current term.
- getSnapshotEntry() - Method in class io.microraft.persistence.RestoredRaftState
- getStatus() - Method in interface io.microraft.RaftNode
-
Returns the current status of this Raft node.
- getStatus() - Method in interface io.microraft.report.RaftNodeReport
-
Returns the status of the Raft node.
- getTakeSnapshotCount() - Method in interface io.microraft.report.RaftLogStats
-
Returns the number of snapshots are taken by a Raft node.
- getTerm() - Method in interface io.microraft.RaftNode
-
Returns the locally known term information.
- getTerm() - Method in interface io.microraft.report.RaftNodeReport
-
Returns the locally known term information.
- getTerm() - Method in interface io.microraft.report.RaftTerm
-
Returns the term this Raft node is currently at.
- getTermPersistentState() - Method in class io.microraft.persistence.RestoredRaftState
- getVotedEndpoint() - Method in interface io.microraft.report.RaftTerm
-
Returns the Raft endpoint that this Raft node has voted for in the current term, or null if none.
- getVotingMembers() - Method in interface io.microraft.report.RaftGroupMembers
-
Returns voting members in the Raft group member list.
- GROUP_MEMBERS_CHANGE - Enum constant in enum io.microraft.report.RaftNodeReport.RaftNodeReportReason
-
The report is created when a
RaftNode
moves to a new Raft group member list.
H
- handle(RaftMessage) - Method in interface io.microraft.RaftNode
-
Handles the given Raft message which can be either a Raft RPC request or a response.
I
- IndeterminateStateException - Exception in io.microraft.exception
-
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.
- IndeterminateStateException() - Constructor for exception io.microraft.exception.IndeterminateStateException
-
Creates an instance of the exception.
- IndeterminateStateException(RaftEndpoint) - Constructor for exception io.microraft.exception.IndeterminateStateException
-
Creates an instance of the exception.
- INITIAL - Enum constant in enum io.microraft.RaftNodeStatus
-
Initial status of a Raft node.
- INSTALL_SNAPSHOT - Enum constant in enum io.microraft.report.RaftNodeReport.RaftNodeReportReason
-
The report is created when a
RaftNode
installs a snapshot that is sent by the currentRaftRole.LEADER
. - installSnapshot(long, List<Object>) - Method in interface io.microraft.statemachine.StateMachine
-
Installs the given snapshot chunks for the given commit index, which is same with the commit index on which the last snapshot is taken.
- io.microraft - package io.microraft
- io.microraft.exception - package io.microraft.exception
- io.microraft.executor - package io.microraft.executor
- io.microraft.lifecycle - package io.microraft.lifecycle
- io.microraft.model - package io.microraft.model
- io.microraft.persistence - package io.microraft.persistence
- io.microraft.report - package io.microraft.report
- io.microraft.statemachine - package io.microraft.statemachine
- io.microraft.transport - package io.microraft.transport
- isReachable(RaftEndpoint) - Method in interface io.microraft.transport.Transport
-
Returns true if the given endpoint is supposedly reachable by the time this method is called, false otherwise.
- isTerminal(RaftNodeStatus) - Static method in enum io.microraft.RaftNodeStatus
-
Returns true if the given Raft node status is a terminal.
- isTransferSnapshotsFromFollowersEnabled() - Method in class io.microraft.RaftConfig
L
- LaggingCommitIndexException - Exception in io.microraft.exception
-
Thrown when a Raft node's current commit index is smaller than the commit index specified in a
RaftNode.query(Object, QueryPolicy, long)
call. - LaggingCommitIndexException(long, long, RaftEndpoint) - Constructor for exception io.microraft.exception.LaggingCommitIndexException
-
Creates an instance of this exception.
- LEADER - Enum constant in enum io.microraft.RaftRole
-
A leader handles client requests, commit operations and orchestrates a Raft group.
- LEADER_LEASE - Enum constant in enum io.microraft.QueryPolicy
-
Runs the query on the local state machine of the leader Raft node.
- LEARNER - Enum constant in enum io.microraft.RaftRole
-
Learners issue no requests on their own.
- LINEARIZABLE - Enum constant in enum io.microraft.QueryPolicy
-
Runs the query in a linearizable manner on the leader Raft node by using the algorithm defined in the Section: 6.4 Processing read-only queries more efficiently of the Raft dissertation.
- logEntrySerializer() - Method in interface io.microraft.persistence.RaftStoreSerializer
M
- MAX_LEARNER_COUNT - Static variable in interface io.microraft.report.RaftGroupMembers
-
The maximum number of
RaftRole.LEARNER
members allowed in the Raft group member list. - MembershipChangeMode - Enum in io.microraft
-
Types of membership changes that occur on Raft groups.
- MismatchingRaftGroupMembersCommitIndexException - Exception in io.microraft.exception
-
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.
- MismatchingRaftGroupMembersCommitIndexException(long, Collection<RaftEndpoint>) - Constructor for exception io.microraft.exception.MismatchingRaftGroupMembersCommitIndexException
-
Creates an instance of this exception
N
- newBuilder() - Static method in class io.microraft.RaftConfig
-
Creates a new Raft config builder.
- newBuilder() - Static method in interface io.microraft.RaftNode
-
Returns a new builder to configure RaftNode that is going to be created.
- NopRaftStore - Class in io.microraft.persistence
-
Used when a Raft node works transiently (its state is not persisted).
- NopRaftStore() - Constructor for class io.microraft.persistence.NopRaftStore
- NotLeaderException - Exception in io.microraft.exception
-
Thrown when an operation, query, or a membership change is triggered on a non-leader Raft node.
- NotLeaderException(RaftEndpoint, RaftEndpoint) - Constructor for exception io.microraft.exception.NotLeaderException
-
Creates an instance of this exception
O
- onRaftNodeStart() - Method in interface io.microraft.lifecycle.RaftNodeLifecycleAware
-
Called by
RaftNode
during startup. - onRaftNodeTerminate() - Method in interface io.microraft.lifecycle.RaftNodeLifecycleAware
-
Called by
RaftNode
during termination. - Ordered<T> - Interface in io.microraft
-
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.
P
- PERIODIC - Enum constant in enum io.microraft.report.RaftNodeReport.RaftNodeReportReason
-
The report is created on a periodic reporting tick of the
RaftNode
. - persistAndFlushInitialGroupMembers(RaftGroupMembersView) - Method in class io.microraft.persistence.NopRaftStore
- persistAndFlushInitialGroupMembers(RaftGroupMembersView) - Method in interface io.microraft.persistence.RaftStore
-
Persists and flushes the given initial Raft group members.
- persistAndFlushLocalEndpoint(RaftEndpointPersistentState) - Method in class io.microraft.persistence.NopRaftStore
- persistAndFlushLocalEndpoint(RaftEndpointPersistentState) - Method in interface io.microraft.persistence.RaftStore
-
Persists and flushes the given local Raft endpoint and its voting flag.
- persistAndFlushTerm(RaftTermPersistentState) - Method in class io.microraft.persistence.NopRaftStore
- persistAndFlushTerm(RaftTermPersistentState) - Method in interface io.microraft.persistence.RaftStore
-
Persists the term and the Raft endpoint that the local Raft node voted for in the given term.
- persistLogEntry(LogEntry) - Method in class io.microraft.persistence.NopRaftStore
- persistLogEntry(LogEntry) - Method in interface io.microraft.persistence.RaftStore
-
Persists the given log entry.
- persistSnapshotChunk(SnapshotChunk) - Method in class io.microraft.persistence.NopRaftStore
- persistSnapshotChunk(SnapshotChunk) - Method in interface io.microraft.persistence.RaftStore
-
Persists the given snapshot chunk.
Q
- query(Object, QueryPolicy, long) - Method in interface io.microraft.RaftNode
-
Executes the given query operation based on the given query policy.
- QueryPolicy - Enum in io.microraft
-
Policies to decide how a query operation will be executed on the state machine.
R
- RaftConfig - Class in io.microraft
-
Contains the configuration parameters for MicroRaft's implementation.
- RaftConfig(long, long, long, int, int, int, boolean, int) - Constructor for class io.microraft.RaftConfig
-
Creates a config object
- RaftConfig.RaftConfigBuilder - Class in io.microraft
-
Builder for Raft config
- RaftEndpoint - Interface in io.microraft
-
Represents an endpoint that participates to at least one Raft group and executes the Raft consensus algorithm with a
RaftNode
instance. - raftEndpointPersistentStateSerializer() - Method in interface io.microraft.persistence.RaftStoreSerializer
- raftEndpointSerializer() - Method in interface io.microraft.persistence.RaftStoreSerializer
- RaftException - Exception in io.microraft.exception
-
Base exception class for Raft-related exceptions.
- RaftException(RaftEndpoint) - Constructor for exception io.microraft.exception.RaftException
-
Creates an instance of this exception
- RaftException(String, RaftEndpoint) - Constructor for exception io.microraft.exception.RaftException
-
Creates an instance of this exception
- RaftException(String, RaftEndpoint, Throwable) - Constructor for exception io.microraft.exception.RaftException
-
Creates an instance of this exception
- RaftException(Throwable) - Constructor for exception io.microraft.exception.RaftException
-
Creates an instance of this exception
- RaftGroupMembers - Interface in io.microraft.report
-
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.
- raftGroupMembersViewSerializer() - Method in interface io.microraft.persistence.RaftStoreSerializer
- RaftLogStats - Interface in io.microraft.report
-
Contains statistics about a Raft node's Raft log.
- RaftModel - Interface in io.microraft.model
-
The base interface for the objects that hit network and persistent storage.
- RaftModelFactory - Interface in io.microraft.model
-
Used for creating
RaftModel
objects with the builder pattern. - RaftNode - Interface in io.microraft
-
A Raft node runs the Raft consensus algorithm as a member of a Raft group.
- RaftNode.RaftNodeBuilder - Interface in io.microraft
-
The builder interface for configuring and creating Raft node instances.
- RaftNodeExecutor - Interface in io.microraft.executor
-
The abstraction used by
RaftNode
to execute the Raft consensus algorithm with the Actor model. - RaftNodeLifecycleAware - Interface in io.microraft.lifecycle
-
Used by
RaftNode
to notify its components for its lifecycle-related changes, such as startup and termination. - RaftNodeReport - Interface in io.microraft.report
-
Contains information about a Raft node's local state related to the execution of the Raft consensus algorithm.
- RaftNodeReport.RaftNodeReportReason - Enum in io.microraft.report
-
Denotes the reason for a given report
- RaftNodeReportListener - Interface in io.microraft.report
-
Used for informing external systems about events related to the execution of the Raft consensus algorithm.
- RaftNodeStatus - Enum in io.microraft
-
Statuses of a Raft node during its own and its Raft group's lifecycle.
- RaftRole - Enum in io.microraft
-
The roles of Raft nodes as defined in the Raft consensus algorithm.
- RaftStore - Interface in io.microraft.persistence
-
This interface is used for persisting only the internal state of the Raft consensus algorithm.
- RaftStoreSerializer - Interface in io.microraft.persistence
-
Similarly to the
RaftModelFactory
, users of the RaftStore implementations must provide methods for converting a few of their types into binary data for persistence. - RaftStoreSerializer.Serializer<T> - Interface in io.microraft.persistence
- RaftTerm - Interface in io.microraft.report
-
Contains a snapshot of a Raft node's current state in a term.
- raftTermPersistentState() - Method in interface io.microraft.persistence.RaftStoreSerializer
- REMOVE_MEMBER - Enum constant in enum io.microraft.MembershipChangeMode
-
Denotes that a Raft endpoint will be removed from the Raft group.
- replicate(Object) - Method in interface io.microraft.RaftNode
-
Replicates, commits, and executes the given operation via this Raft node.
- RestoredRaftState - Class in io.microraft.persistence
-
Contains restored state of a
RaftNode
. - RestoredRaftState(RaftEndpointPersistentState, RaftGroupMembersView, RaftTermPersistentState, SnapshotEntry, List<LogEntry>) - Constructor for class io.microraft.persistence.RestoredRaftState
- ROLE_CHANGE - Enum constant in enum io.microraft.report.RaftNodeReport.RaftNodeReportReason
-
The report is created on when a
RaftNode
changes its role or discovers the leader in the current term. - runOperation(long, Object) - Method in interface io.microraft.statemachine.StateMachine
-
Executes the given operation on the state machine and returns result of the operation.
S
- schedule(Runnable, long, TimeUnit) - Method in interface io.microraft.executor.RaftNodeExecutor
-
Schedules the task on the underlying platform to be executed after the given delay.
- send(RaftEndpoint, RaftMessage) - Method in interface io.microraft.transport.Transport
-
Sends the given
RaftMessage
object to the given endpoint. - serialize(T) - Method in interface io.microraft.persistence.RaftStoreSerializer.Serializer
- setAppendEntriesRequestBatchSize(int) - Method in class io.microraft.RaftConfig.RaftConfigBuilder
- setClock(Clock) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the Clock instance used by parts of the Raft algorithm.
- setCommitCountToTakeSnapshot(int) - Method in class io.microraft.RaftConfig.RaftConfigBuilder
- setConfig(RaftConfig) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the Raft config.
- setExecutor(RaftNodeExecutor) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the Raft node executor object to be used for running submitted and scheduled tasks.
- setGroupId(Object) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the unique ID of the Raft group that this Raft node belongs to.
- setInitialGroupMembers(Collection<RaftEndpoint>) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the initial member list of the Raft group that the Raft node belongs to.
- setInitialGroupMembers(Collection<RaftEndpoint>, Collection<RaftEndpoint>) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the initial member list of the Raft group that the Raft node belongs to.
- setLeaderElectionTimeoutMillis(long) - Method in class io.microraft.RaftConfig.RaftConfigBuilder
- setLeaderHeartbeatPeriodSecs(long) - Method in class io.microraft.RaftConfig.RaftConfigBuilder
- setLeaderHeartbeatTimeoutSecs(long) - Method in class io.microraft.RaftConfig.RaftConfigBuilder
- setLocalEndpoint(RaftEndpoint) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the endpoint of the Raft node being created.
- setMaxPendingLogEntryCount(int) - Method in class io.microraft.RaftConfig.RaftConfigBuilder
- setModelFactory(RaftModelFactory) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the Raft model factory object to be used for creating Raft model objects.
- setRaftNodeReportListener(RaftNodeReportListener) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the Raft node report listener object to be notified about events related to the execution of the Raft consensus algorithm.
- setRaftNodeReportPublishPeriodSecs(int) - Method in class io.microraft.RaftConfig.RaftConfigBuilder
- setRandom(Random) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the Random instance used in parts of the Raft algorithm.
- setRestoredState(RestoredRaftState) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the
RestoredRaftState
to be used for creating the Raft node instance. - setStateMachine(StateMachine) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the state machine object to be used for execution of queries and committed operations.
- setStore(RaftStore) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the Raft state object to be used for persisting internal Raft state to stable storage.
- setTransferSnapshotsFromFollowersEnabled(boolean) - Method in class io.microraft.RaftConfig.RaftConfigBuilder
- setTransport(Transport) - Method in interface io.microraft.RaftNode.RaftNodeBuilder
-
Sets the transport object to be used for communicating with other Raft nodes.
- snapshotChunkSerializer() - Method in interface io.microraft.persistence.RaftStoreSerializer
- start() - Method in interface io.microraft.RaftNode
-
Triggers this Raft node to start executing the Raft consensus algorithm.
- StateMachine - Interface in io.microraft.statemachine
-
The abstraction used by
RaftNode
instances to execute operations on the user-supplied state machines. - STATUS_CHANGE - Enum constant in enum io.microraft.report.RaftNodeReport.RaftNodeReportReason
-
The report is created when a
RaftNode
changes itsRaftNodeStatus
. - submit(Runnable) - Method in interface io.microraft.executor.RaftNodeExecutor
-
Submits the given task for execution.
T
- TAKE_SNAPSHOT - Enum constant in enum io.microraft.report.RaftNodeReport.RaftNodeReportReason
-
The report is created when a
RaftNode
takes a snapshot of theStateMachine
- takeSnapshot() - Method in interface io.microraft.RaftNode
-
Takes a new snapshot at the local RaftNode at the current commit index.
- takeSnapshot(long, Consumer<Object>) - Method in interface io.microraft.statemachine.StateMachine
-
Takes a snapshot of the state machine for the given commit index which is the current commit index at the local Raft node.
- terminate() - Method in interface io.microraft.RaftNode
-
Forcefully sets the status of this Raft node to
RaftNodeStatus.TERMINATED
and makes the Raft node stops executing the Raft consensus algorithm. - TERMINATED - Enum constant in enum io.microraft.RaftNodeStatus
-
A Raft node moves to this status either when it is removed from the Raft group member list, or it is being terminated on its own, for instance, because its JVM is shutting down.
- toString() - Method in exception io.microraft.exception.CannotReplicateException
- toString() - Method in exception io.microraft.exception.IndeterminateStateException
- toString() - Method in exception io.microraft.exception.LaggingCommitIndexException
- toString() - Method in exception io.microraft.exception.MismatchingRaftGroupMembersCommitIndexException
- toString() - Method in exception io.microraft.exception.NotLeaderException
- toString() - Method in exception io.microraft.exception.RaftException
- toString() - Method in class io.microraft.RaftConfig.RaftConfigBuilder
- toString() - Method in class io.microraft.RaftConfig
- transferLeadership(RaftEndpoint) - Method in interface io.microraft.RaftNode
-
Transfers the leadership role to the given endpoint, if this Raft node is the current Raft group leader with the
RaftNodeStatus.ACTIVE
status and the given endpoint is in the committed member list of the Raft group. - Transport - Interface in io.microraft.transport
-
Used for communicating Raft nodes with each other.
- truncateLogEntriesFrom(long) - Method in class io.microraft.persistence.NopRaftStore
- truncateLogEntriesFrom(long) - Method in interface io.microraft.persistence.RaftStore
-
Rolls back the log by truncating all entries starting with the given index.
U
- UPDATING_RAFT_GROUP_MEMBER_LIST - Enum constant in enum io.microraft.RaftNodeStatus
-
A Raft node moves to this status when a Raft group membership change operation is appended to its Raft log and stays in this status until the membership change is either committed or reverted.
V
- valueOf(String) - Static method in enum io.microraft.MembershipChangeMode
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum io.microraft.QueryPolicy
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum io.microraft.RaftNodeStatus
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum io.microraft.RaftRole
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum io.microraft.report.RaftNodeReport.RaftNodeReportReason
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum io.microraft.MembershipChangeMode
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum io.microraft.QueryPolicy
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum io.microraft.RaftNodeStatus
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum io.microraft.RaftRole
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum io.microraft.report.RaftNodeReport.RaftNodeReportReason
-
Returns an array containing the constants of this enum type, in the order they are declared.
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form