Interface Member

All Superinterfaces:
Serializable
All Known Implementing Classes:
MemberImpl, StaticMember

public interface Member extends Serializable
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

    Fields
    Modifier and Type
    Field
    Description
    static final byte[]
    When a member leaves the cluster, the payload of the memberDisappeared member will be the following bytes.
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
     
    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
    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
    int
    Length of a message obtained by getData(boolean) or getData(boolean, boolean).
    byte[]
     
    byte[]
    Returns the listen host for the ChannelReceiver implementation
    long
    Contains information on how long this member has been online.
     
    byte[]
     
    int
    Returns the listen port for the ChannelReceiver implementation
    int
    Returns the secure listen port for the ChannelReceiver implementation.
    int
    Returns the UDP port that this member is listening to for UDP messages.
    byte[]
    returns a UUID unique for this member over all sessions.
    boolean
     
    boolean
     
    boolean
    The current state of the member
    boolean
    The current state of the member
    void
    setCommand(byte[] command)
    Set the command associated with this member.
    void
    setLocal(boolean local)
    Set if the member is local.
    void
    setMemberAliveTime(long memberAliveTime)
    Set the alive time in ms.
    void
    setPayload(byte[] payload)
    Set the payload associated with this member.
  • Field Details

    • SHUTDOWN_PAYLOAD

      static final byte[] SHUTDOWN_PAYLOAD
      When 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:
      true if the member is functioning correctly
    • isSuspect

      boolean isSuspect()
      The current state of the member
      Returns:
      true if the member is suspect, but the crash has not been confirmed
    • isFailing

      boolean isFailing()
      Returns:
      true if 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 time
      reset - 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 by getData(boolean) or getData(boolean, boolean).
      Returns:
      the data length
    • isLocal

      boolean isLocal()
      Returns:
      true if the member is local member
    • setLocal

      void setLocal(boolean local)
      Set if the member is local.
      Parameters:
      local - set to true if this is the local member