public class RaftServer extends Object implements net.kuujo.catalyst.util.Managed<RaftServer>
| Modifier and Type | Class and Description |
|---|---|
static class |
RaftServer.Builder
Raft server builder.
|
static class |
RaftServer.State
Raft server state types.
|
| Modifier and Type | Method and Description |
|---|---|
static RaftServer.Builder |
builder(net.kuujo.catalyst.transport.Address address,
net.kuujo.catalyst.transport.Address... cluster)
Returns a new Raft server builder.
|
static RaftServer.Builder |
builder(net.kuujo.catalyst.transport.Address address,
Collection<net.kuujo.catalyst.transport.Address> cluster)
Returns a new Raft server builder.
|
CompletableFuture<Void> |
close() |
net.kuujo.catalyst.util.concurrent.Context |
context()
Returns the server execution context.
|
CompletableFuture<Void> |
delete()
Deletes the Raft server and its logs.
|
boolean |
isClosed() |
boolean |
isOpen() |
net.kuujo.catalyst.transport.Address |
leader()
Returns the current Raft leader.
|
CompletableFuture<RaftServer> |
open() |
RaftServer.State |
state()
Returns the Raft server state.
|
long |
term()
Returns the current Raft term.
|
public static RaftServer.Builder builder(net.kuujo.catalyst.transport.Address address, net.kuujo.catalyst.transport.Address... cluster)
The provided set of members will be used to connect to the other members in the Raft cluster. The memberId
must be the Member#id() of a member listed in the provided members list.
address - The local server member ID. This must be the ID of a member listed in the provided members list.cluster - The cluster members to which to connect.public static RaftServer.Builder builder(net.kuujo.catalyst.transport.Address address, Collection<net.kuujo.catalyst.transport.Address> cluster)
The provided set of members will be used to connect to the other members in the Raft cluster. The memberId
must be the Member#id() of a member listed in the provided members list.
address - The local server member ID. This must be the ID of a member listed in the provided members list.cluster - The cluster members to which to connect.public long term()
public net.kuujo.catalyst.transport.Address leader()
public net.kuujo.catalyst.util.concurrent.Context context()
The execution context is the event loop that this server uses to communicate other Raft servers.
Implementations must guarantee that all asynchronous CompletableFuture callbacks are
executed on a single thread via the returned Context.
The Context can also be used to access the Raft server's internal
serializer via Context.serializer().
public RaftServer.State state()
public CompletableFuture<RaftServer> open()
open in interface net.kuujo.catalyst.util.Managed<RaftServer>public boolean isOpen()
isOpen in interface net.kuujo.catalyst.util.Managed<RaftServer>public CompletableFuture<Void> close()
close in interface net.kuujo.catalyst.util.Managed<RaftServer>public boolean isClosed()
isClosed in interface net.kuujo.catalyst.util.Managed<RaftServer>public CompletableFuture<Void> delete()
Copyright © 2013–2015. All rights reserved.