Class PING

All Implemented Interfaces:
Lifecycle
Direct Known Subclasses:
BPING, MPING

public class PING extends Discovery
The PING protocol retrieves the initial membership by mcasting a discovery request (via the multicast capable transport) to all current cluster members

The responses should allow us to determine the coordinator which we have to contact, e.g. in case we want to join the group. When we are a server (after having received the BECOME_SERVER event), we'll respond to discovery requests with a discovery response.

  • Constructor Details

    • PING

      public PING()
  • Method Details

    • isDynamic

      public boolean isDynamic()
      Specified by:
      isDynamic in class Discovery
    • findMembers

      public void findMembers(List<Address> members, boolean initial_discovery, Responses responses)
      Description copied from class: Discovery
      Fetches information (e.g. physical address, logical name) for the given member addresses. Needs to add responses to the Responses object. If Discovery.async_discovery is true, this method will be called in a separate thread, otherwise the caller's thread will be used.
      Specified by:
      findMembers in class Discovery
      Parameters:
      members - A list of logical addresses (typically UUIDs). If null, then information for all members is fetched
      initial_discovery - Set to true if this is for the initial membership discovery. Some protocols (e.g. file based ones) may return only the information for the coordinator(s).
      responses - The list to which responses should be added
    • sendDiscoveryRequest

      protected void sendDiscoveryRequest(String cluster_name, List<Address> members_to_find, boolean initial_discovery) throws Exception
      Throws:
      Exception
    • sendMcastDiscoveryRequest

      protected void sendMcastDiscoveryRequest(Message msg)