Package io.atomix.cluster.protocol
Class SwimMembershipProtocol
java.lang.Object
io.atomix.utils.event.AbstractListenerManager<GroupMembershipEvent,GroupMembershipEventListener>
io.atomix.cluster.protocol.SwimMembershipProtocol
- All Implemented Interfaces:
GroupMembershipProtocol,io.atomix.utils.config.Configured<GroupMembershipProtocolConfig>,io.atomix.utils.event.ListenerService<GroupMembershipEvent,GroupMembershipEventListener>
public class SwimMembershipProtocol extends io.atomix.utils.event.AbstractListenerManager<GroupMembershipEvent,GroupMembershipEventListener> implements GroupMembershipProtocol
SWIM group membership protocol implementation.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSwimMembershipProtocol.TypeBootstrap member location provider type. -
Field Summary
Fields Modifier and Type Field Description static SwimMembershipProtocol.TypeTYPE -
Method Summary
Modifier and Type Method Description static SwimMembershipProtocolBuilderbuilder()Creates a new bootstrap provider builder.SwimMembershipProtocolConfigconfig()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
-
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
-