Package io.atomix.cluster.protocol
Class HeartbeatMembershipProtocol
java.lang.Object
io.atomix.utils.event.AbstractListenerManager<GroupMembershipEvent,GroupMembershipEventListener>
io.atomix.cluster.protocol.HeartbeatMembershipProtocol
- All Implemented Interfaces:
GroupMembershipProtocol,io.atomix.utils.config.Configured<GroupMembershipProtocolConfig>,io.atomix.utils.event.ListenerService<GroupMembershipEvent,GroupMembershipEventListener>
public class HeartbeatMembershipProtocol extends io.atomix.utils.event.AbstractListenerManager<GroupMembershipEvent,GroupMembershipEventListener> implements GroupMembershipProtocol
Gossip based group membership protocol.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classHeartbeatMembershipProtocol.TypeBootstrap member location provider type. -
Field Summary
Fields Modifier and Type Field Description static HeartbeatMembershipProtocol.TypeTYPE -
Constructor Summary
Constructors Constructor Description HeartbeatMembershipProtocol(HeartbeatMembershipProtocolConfig config) -
Method Summary
Modifier and Type Method Description static HeartbeatMembershipProtocolBuilderbuilder()Creates a new bootstrap provider builder.GroupMembershipProtocolConfigconfig()MembergetMember(MemberId memberId)Returns the specified member.Set<Member>getMembers()Returns the set of current cluster members.CompletableFuture<Void>join(BootstrapService bootstrap, NodeDiscoveryService discovery, Member member)Joins the cluster.CompletableFuture<Void>leave(Member member)Leaves the cluster.Methods inherited from class io.atomix.utils.event.AbstractListenerManager
addListener, removeListener
-
Field Details
-
Constructor Details
-
Method Details
-
builder
Creates a new bootstrap provider builder.- Returns:
- a new bootstrap provider builder
-
config
- Specified by:
configin interfaceio.atomix.utils.config.Configured<GroupMembershipProtocolConfig>
-
getMembers
Description copied from interface:GroupMembershipProtocolReturns the set of current cluster members.- Specified by:
getMembersin interfaceGroupMembershipProtocol- Returns:
- set of cluster members
-
getMember
Description copied from interface:GroupMembershipProtocolReturns the specified member.- Specified by:
getMemberin interfaceGroupMembershipProtocol- Parameters:
memberId- the member identifier- Returns:
- the member or
nullif no node with the given identifier exists
-
join
public CompletableFuture<Void> join(BootstrapService bootstrap, NodeDiscoveryService discovery, Member member)Description copied from interface:GroupMembershipProtocolJoins the cluster.- Specified by:
joinin interfaceGroupMembershipProtocol- Parameters:
bootstrap- the bootstrap servicediscovery- the discovery servicemember- the local member info- Returns:
- a future to be completed once the join is complete
-
leave
Description copied from interface:GroupMembershipProtocolLeaves the cluster.- Specified by:
leavein interfaceGroupMembershipProtocol- Parameters:
member- the local member info- Returns:
- a future to be completed once the leave is complete
-