Package io.microraft.model
Interface RaftModelFactory
-
public interface RaftModelFactory
Used for creatingRaftModel
objects with the builder pattern.Users of MicroRaft can provide an implementation of this interface while creating
RaftNode
instances. Otherwise,DefaultRaftModelFactory
is used.RaftModel
objects created by a Raft model factory implementation are passed toTransport
for networking, andRaftStore
for persistence.A
RaftModelFactory
implementation can implementRaftNodeLifecycleAware
to perform initialization and clean up work duringRaftNode
startup and termination.RaftNode
callsRaftNodeLifecycleAware.onRaftNodeStart()
before calling any other method onRaftModelFactory
, and finally callsRaftNodeLifecycleAware.onRaftNodeTerminate()
on termination.
-
-
Method Summary
-
-
-
Method Detail
-
createLogEntryBuilder
@Nonnull LogEntry.LogEntryBuilder createLogEntryBuilder()
-
createSnapshotEntryBuilder
@Nonnull SnapshotEntry.SnapshotEntryBuilder createSnapshotEntryBuilder()
-
createSnapshotChunkBuilder
@Nonnull SnapshotChunk.SnapshotChunkBuilder createSnapshotChunkBuilder()
-
createAppendEntriesRequestBuilder
@Nonnull AppendEntriesRequest.AppendEntriesRequestBuilder createAppendEntriesRequestBuilder()
-
createAppendEntriesSuccessResponseBuilder
@Nonnull AppendEntriesSuccessResponse.AppendEntriesSuccessResponseBuilder createAppendEntriesSuccessResponseBuilder()
-
createAppendEntriesFailureResponseBuilder
@Nonnull AppendEntriesFailureResponse.AppendEntriesFailureResponseBuilder createAppendEntriesFailureResponseBuilder()
-
createInstallSnapshotRequestBuilder
@Nonnull InstallSnapshotRequest.InstallSnapshotRequestBuilder createInstallSnapshotRequestBuilder()
-
createInstallSnapshotResponseBuilder
@Nonnull InstallSnapshotResponse.InstallSnapshotResponseBuilder createInstallSnapshotResponseBuilder()
-
createPreVoteRequestBuilder
@Nonnull PreVoteRequest.PreVoteRequestBuilder createPreVoteRequestBuilder()
-
createPreVoteResponseBuilder
@Nonnull PreVoteResponse.PreVoteResponseBuilder createPreVoteResponseBuilder()
-
createTriggerLeaderElectionRequestBuilder
@Nonnull TriggerLeaderElectionRequest.TriggerLeaderElectionRequestBuilder createTriggerLeaderElectionRequestBuilder()
-
createVoteRequestBuilder
@Nonnull VoteRequest.VoteRequestBuilder createVoteRequestBuilder()
-
createVoteResponseBuilder
@Nonnull VoteResponse.VoteResponseBuilder createVoteResponseBuilder()
-
createUpdateRaftGroupMembersOpBuilder
@Nonnull UpdateRaftGroupMembersOp.UpdateRaftGroupMembersOpBuilder createUpdateRaftGroupMembersOpBuilder()
-
createRaftGroupMembersViewBuilder
@Nonnull RaftGroupMembersView.RaftGroupMembersViewBuilder createRaftGroupMembersViewBuilder()
-
-