Interface ClusterCoordinationProtocolSender

All Known Implementing Classes:
ClusterCoordinationProtocolSenderListener, StandardClusterCoordinationProtocolSender

public interface ClusterCoordinationProtocolSender
An interface for sending protocol messages from the cluster coordinator to nodes.
  • Method Details

    • requestReconnection

      Sends a "reconnection request" message to a node.
      Parameters:
      msg - a message
      Returns:
      the response
      Throws:
      ProtocolException - if communication failed
    • offload

      void offload(OffloadMessage msg) throws ProtocolException
      Sends an "offload request" message to a node.
      Parameters:
      msg - a message
      Throws:
      ProtocolException - if communication failed
    • disconnect

      void disconnect(DisconnectMessage msg) throws ProtocolException
      Sends a "disconnection request" message to a node.
      Parameters:
      msg - a message
      Throws:
      ProtocolException - if communication failed
    • setBulletinRepository

      void setBulletinRepository(BulletinRepository bulletinRepository)
      Sets the BulletinRepository that can be used to report bulletins
      Parameters:
      bulletinRepository - repo
    • notifyNodeStatusChange

      void notifyNodeStatusChange(Set<NodeIdentifier> nodesToNotify, NodeStatusChangeMessage msg)
      Notifies all nodes in the given set that a node in the cluster has a new status
      Parameters:
      nodesToNotify - the nodes that should be notified of the change
      msg - the message that indicates which node's status changed and what it changed to
    • requestNodeConnectionStatus

      NodeConnectionStatus requestNodeConnectionStatus(String hostname, int port)
      Sends a request to the given hostname and port to request its connection status
      Returns:
      the connection status returned from the node at the given hostname invalid input: '&' port