GigaSpaces XAP 9.7.2 API

com.sun.jini.discovery
Class DiscoveryConstraints

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

public class DiscoveryConstraints
extends Object

Class for processing constraints which apply to the discovery protocol: DiscoveryProtocolVersion, MulticastMaxPacketSize, MulticastTimeToLive, UnicastSocketTimeout, ConnectionRelativeTime, ConnectionAbsoluteTime.

Since:
2.0
Author:
Sun Microsystems, Inc.

Field Summary
static Method multicastAnnouncementMethod
          Method object for the multicastAnnouncement method of this class.
static Method multicastRequestMethod
          Method object for the multicastRequest method of this class.
static Method unicastDiscoveryMethod
          Method object for the unicastDiscovery method of this class.
 
Method Summary
 void checkProtocolVersion(int version)
          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.
 int chooseProtocolVersion()
          Returns the protocol version to use for sending multicast requests or announcements, or initiating unicast discovery.
 long getConnectionDeadline(long defaultValue)
          Returns the deadline by which a network connection must be established during unicast discovery, or defaultValue if not constrained.
 int getMulticastMaxPacketSize(int defaultValue)
          Returns the maximum multicast packet size to allow, or the specified default value if not constrained.
 int getMulticastTimeToLive(int defaultValue)
          Returns the multicast time to live value to use, or the specified default value if not constrained.
 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.
 int getUnicastSocketTimeout(int defaultValue)
          Returns socket read timeout to use for unicast discovery, or the specified default value if not constrained.
static void multicastAnnouncement()
          Empty method which serves as a MethodConstraints key for looking up InvocationConstraints that apply to multicast announcements.
static void multicastRequest()
          Empty method which serves as a MethodConstraints key for looking up InvocationConstraints that apply to multicast requests.
static DiscoveryConstraints process(InvocationConstraints constraints)
          Processes the discovery-related constraints in the given set of constraints, returning a DiscoveryConstraints instance from which the constraint results can be queried.
static void unicastDiscovery()
          Empty method which serves as a MethodConstraints key for looking up InvocationConstraints that apply to unicast discovery.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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 Detail

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

public static DiscoveryConstraints process(InvocationConstraints constraints)
                                    throws UnsupportedConstraintException
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

GigaSpaces XAP 9.7.2 API

Copyright © GigaSpaces.