Interface Member

  • All Superinterfaces:
    java.io.Serializable
    All Known Implementing Classes:
    MemberImpl, StaticMember

    public interface Member
    extends java.io.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 byte[] SHUTDOWN_PAYLOAD
      When a member leaves the cluster, the payload of the memberDisappeared member will be the following bytes.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      byte[] getCommand()
      returns the command associated with this member
      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 getDataLength()
      Length of a message obtained by getData(boolean) or getData(boolean, boolean).
      byte[] getDomain()
      Domain for this cluster
      byte[] getHost()
      Returns the listen host for the ChannelReceiver implementation
      long getMemberAliveTime()
      Contains information on how long this member has been online.
      java.lang.String getName()  
      byte[] getPayload()
      returns the payload associated with this member
      int getPort()
      Returns the listen port for the ChannelReceiver implementation
      int getSecurePort()
      Returns the secure listen port for the ChannelReceiver implementation.
      int getUdpPort()
      Returns the UDP port that this member is listening to for UDP messages.
      byte[] getUniqueId()
      returns a UUID unique for this member over all sessions.
      boolean isFailing()  
      boolean isLocal()  
      boolean isReady()
      The current state of the member
      boolean isSuspect()
      The current state of the member
      void setCommand​(byte[] command)  
      void setLocal​(boolean local)  
      void setMemberAliveTime​(long memberAliveTime)  
      void setPayload​(byte[] payload)  
    • Field Detail

      • 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 Detail

      • getName

        java.lang.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:
        ChannelReceiver
      • 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:
        ChannelReceiver
      • 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:
        ChannelReceiver
      • 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)
      • isReady

        boolean isReady()
        The current state of the member
        Returns:
        boolean - true if the member is functioning correctly
      • isSuspect

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

        boolean isFailing()
        Returns:
        boolean - 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
        Returns:
        byte[]
      • setPayload

        void setPayload​(byte[] payload)
      • getCommand

        byte[] getCommand()
        returns the command associated with this member
        Returns:
        byte[]
      • setCommand

        void setCommand​(byte[] command)
      • getDomain

        byte[] getDomain()
        Domain for this cluster
        Returns:
        byte[]
      • 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
      • isLocal

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

        void setLocal​(boolean local)