Class DiscoveryConstraints

java.lang.Object
com.sun.jini.discovery.DiscoveryConstraints

public class DiscoveryConstraints extends Object
Since:
2.0
Author:
Sun Microsystems, Inc.
  • Field Details

    • multicastRequestMethod

      public static final Method multicastRequestMethod
      Method object for the multicastRequest method of this class.
    • multicastAnnouncementMethod

      public static final Method multicastAnnouncementMethod
      Method object for the multicastAnnouncement method of this class.
    • unicastDiscoveryMethod

      public static final Method unicastDiscoveryMethod
      Method object for the unicastDiscovery method of this class.
  • Method Details

    • multicastRequest

      public static void multicastRequest()
      Empty method which serves as a MethodConstraints key for looking up InvocationConstraints that apply to multicast requests.
    • multicastAnnouncement

      public static void multicastAnnouncement()
      Empty method which serves as a MethodConstraints key for looking up InvocationConstraints that apply to multicast announcements.
    • unicastDiscovery

      public static void unicastDiscovery()
      Empty method which serves as a MethodConstraints key for looking up InvocationConstraints that apply to unicast discovery.
    • process

      Processes the discovery-related constraints in the given set of constraints, returning a DiscoveryConstraints instance from which the constraint results can be queried. Processing of timeout constraints is time dependent, and subsequent invocations of this method with the same InvocationConstraints may result in DiscoveryConstraint instances with different constraint results.
      Parameters:
      constraints - the constraints to process
      Returns:
      an instance representing processed constraints
      Throws:
      UnsupportedConstraintException - if the discovery-related constraints contain conflicts, or otherwise cannot be processed
      NullPointerException - if constraints is null
    • chooseProtocolVersion

      public int chooseProtocolVersion()
      Returns the protocol version to use for sending multicast requests or announcements, or initiating unicast discovery.
      Returns:
      the protocol version to use
    • checkProtocolVersion

      public void checkProtocolVersion(int version) throws UnsupportedConstraintException
      Checks the protocol version of an incoming multicast request, announcement, or unicast discovery attempt, throwing an UnsupportedConstraintException if handling of the given protocol does not satisfy the constraints of this instance.
      Parameters:
      version - protocol version to check
      Throws:
      UnsupportedConstraintException - if handling of the given protocol does not satisfy the constraints of this instance
    • getConnectionDeadline

      public long getConnectionDeadline(long defaultValue)
      Returns the deadline by which a network connection must be established during unicast discovery, or defaultValue if not constrained.
      Parameters:
      defaultValue - default timeout to return
      Returns:
      the deadline for the network connection
      Since:
      2.1
    • getMulticastMaxPacketSize

      public int getMulticastMaxPacketSize(int defaultValue)
      Returns the maximum multicast packet size to allow, or the specified default value if not constrained.
      Parameters:
      defaultValue - the value to return if the multicast packet size is unconstrained
      Returns:
      the maximum multicast packet size to allow
    • getMulticastTimeToLive

      public int getMulticastTimeToLive(int defaultValue)
      Returns the multicast time to live value to use, or the specified default value if not constrained.
      Parameters:
      defaultValue - the value to return if the multicast time to live value is unconstrained
      Returns:
      the multicast time to live value to use
    • getUnicastSocketTimeout

      public int getUnicastSocketTimeout(int defaultValue)
      Returns socket read timeout to use for unicast discovery, or the specified default value if not constrained.
      Parameters:
      defaultValue - the value to return if the socket timeout is unconstrained
      Returns:
      the socket timeout to use
    • getUnfulfilledConstraints

      public InvocationConstraints getUnfulfilledConstraints()
      Returns the constraints for this instance which are not, or do not contain as alternatives, instances of the "fulfillable" (by this layer) constraint types DiscoveryProtocolVersion, ConnectionRelativeTime, MulticastMaxPacketSize, MulticastTimeToLive, and UnicastSocketTimeout. Constraint alternatives containing both fulfillable and unfulfillable constraints are treated optimistically--it is assumed that the one of the fulfillable alternatives will be satisfied, so the unfulfillable alternatives are not included in the returned constraints.
      Returns:
      the unfulfilled constraints for this instance