Interface Member
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
MemberImpl,StaticMember
The Member interface, defines a member in the group. Each member can carry a set of properties, defined by the actual
implementation.
A member is identified by the host/ip/uniqueId.
- The host is what interface the member is listening to, to receive data
- The port is what port the member is listening to, to receive data
- The uniqueId defines the session id for the member. This is an important feature since a member that has crashed and the starts up again on the same port/host is not guaranteed to be the same member, so no state transfers will ever be confused.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final byte[]When a member leaves the cluster, the payload of the memberDisappeared member will be the following bytes. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]byte[]getData(boolean getalive) Highly optimized version of serializing a member into a byte array Returns a cached byte[] reference, do not modify this databyte[]getData(boolean getalive, boolean reset) Highly optimized version of serializing a member into a byte array Returns a cached byte[] reference, do not modify this dataintLength of a message obtained bygetData(boolean)orgetData(boolean, boolean).byte[]byte[]getHost()Returns the listen host for the ChannelReceiver implementationlongContains information on how long this member has been online.getName()byte[]intgetPort()Returns the listen port for the ChannelReceiver implementationintReturns the secure listen port for the ChannelReceiver implementation.intReturns the UDP port that this member is listening to for UDP messages.byte[]returns a UUID unique for this member over all sessions.booleanbooleanisLocal()booleanisReady()The current state of the member.booleanThe current state of the member.voidsetCommand(byte[] command) Set the command associated with this member.voidsetLocal(boolean local) Set if the member is local.voidsetMemberAliveTime(long memberAliveTime) Set the alive time in ms.voidsetPayload(byte[] payload) Set the payload associated with this member.
-
Field Details
-
SHUTDOWN_PAYLOAD
static final byte[] SHUTDOWN_PAYLOADWhen a member leaves the cluster, the payload of the memberDisappeared member will be the following bytes. This indicates a soft shutdown, and not a crash
-
-
Method Details
-
getName
String getName()- Returns:
- the name of this node, should be unique within the group.
-
getHost
byte[] getHost()Returns the listen host for the ChannelReceiver implementation- Returns:
- IPv4 or IPv6 representation of the host address this member listens to incoming data
- See Also:
-
getPort
int getPort()Returns the listen port for the ChannelReceiver implementation- Returns:
- the listen port for this member, -1 if its not listening on an insecure port
- See Also:
-
getSecurePort
int getSecurePort()Returns the secure listen port for the ChannelReceiver implementation. Returns -1 if its not listening to a secure port.- Returns:
- the listen port for this member, -1 if its not listening on a secure port
- See Also:
-
getUdpPort
int getUdpPort()Returns the UDP port that this member is listening to for UDP messages.- Returns:
- the listen UDP port for this member, -1 if its not listening on a UDP port
-
getMemberAliveTime
long getMemberAliveTime()Contains information on how long this member has been online. The result is the number of milli seconds this member has been broadcasting its membership to the group.- Returns:
- nr of milliseconds since this member started.
-
setMemberAliveTime
void setMemberAliveTime(long memberAliveTime) Set the alive time in ms.- Parameters:
memberAliveTime- the value to set
-
isReady
boolean isReady()The current state of the member.- Returns:
trueif the member is functioning correctly
-
isSuspect
boolean isSuspect()The current state of the member.- Returns:
trueif the member is suspect, but the crash has not been confirmed
-
isFailing
boolean isFailing()- Returns:
trueif the member has been confirmed to malfunction
-
getUniqueId
byte[] getUniqueId()returns a UUID unique for this member over all sessions. If the member crashes and restarts, the uniqueId will be different.- Returns:
- byte[]
-
getPayload
byte[] getPayload()- Returns:
- the payload associated with this member
-
setPayload
void setPayload(byte[] payload) Set the payload associated with this member.- Parameters:
payload- the payload
-
getCommand
byte[] getCommand()- Returns:
- the command associated with this member
-
setCommand
void setCommand(byte[] command) Set the command associated with this member.- Parameters:
command- the command
-
getDomain
byte[] getDomain()- Returns:
- the domain for this cluster
-
getData
byte[] getData(boolean getalive) Highly optimized version of serializing a member into a byte array Returns a cached byte[] reference, do not modify this data- Parameters:
getalive- calculate memberAlive time- Returns:
- the data as a byte array
-
getData
byte[] getData(boolean getalive, boolean reset) Highly optimized version of serializing a member into a byte array Returns a cached byte[] reference, do not modify this data- Parameters:
getalive- calculate memberAlive timereset- reset the cached data package, and create a new one- Returns:
- the data as a byte array
-
getDataLength
int getDataLength()Length of a message obtained bygetData(boolean)orgetData(boolean, boolean).- Returns:
- the data length
-
isLocal
boolean isLocal()- Returns:
trueif the member is local member
-
setLocal
void setLocal(boolean local) Set if the member is local.- Parameters:
local- set totrueif this is the local member
-