Interface ChannelSender

  • All Superinterfaces:
    Heartbeat
    All Known Implementing Classes:
    ReplicationTransmitter

    public interface ChannelSender
    extends Heartbeat
    ChannelReceiver Interface
    The ChannelSender interface is the data sender component at the bottom layer, the IO layer (for layers see the javadoc for the Channel interface).
    The channel sender must support "silent" members, ie, be able to send a message to a member that is not in the membership, but is part of the destination parameter
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void add​(Member member)
      Notify the sender of a member being added to the group.
      Optional.
      Channel getChannel()
      Return the channel that is related to this ChannelSender
      void heartbeat()
      A channel heartbeat, use this method to clean up resources
      void remove​(Member member)
      Notification that a member has been removed or crashed.
      void sendMessage​(ChannelMessage message, Member[] destination)
      Send a message to one or more recipients.
      void setChannel​(Channel channel)
      Set the channel that is related to this ChannelSender
      void start()
      Start the channel sender
      void stop()
      Stop the channel sender
    • Method Detail

      • add

        void add​(Member member)
        Notify the sender of a member being added to the group.
        Optional. This can be an empty implementation, that does nothing
        Parameters:
        member - Member
      • remove

        void remove​(Member member)
        Notification that a member has been removed or crashed. Can be used to clean up open connections etc
        Parameters:
        member - Member
      • start

        void start()
            throws java.io.IOException
        Start the channel sender
        Throws:
        java.io.IOException - if preprocessing takes place and an error happens
      • stop

        void stop()
        Stop the channel sender
      • heartbeat

        void heartbeat()
        A channel heartbeat, use this method to clean up resources
        Specified by:
        heartbeat in interface Heartbeat
      • getChannel

        Channel getChannel()
        Return the channel that is related to this ChannelSender
        Returns:
        Channel
      • setChannel

        void setChannel​(Channel channel)
        Set the channel that is related to this ChannelSender
        Parameters:
        channel - The channel