org.jcsp.net2.bns
Class BNS

java.lang.Object
  extended by org.jcsp.net2.bns.BNS
All Implemented Interfaces:
CSProcess

public class BNS
extends Object
implements CSProcess

This is the main process for the Barrier Name Server. For a more in depth discussion of name servers, see CNS.

Author:
Kevin Chalmers
See Also:
CNS, BNSService, Node

Method Summary
static BNS getInstance()
          Gets the singleton instance of the BNS
static void initialise(NodeAddress bnsNode)
          Initialises the connection to the BNS
static void initialise(NodeID bnsNode)
          Initialises the connection to the BNS
static NetBarrier netBarrier(String name, int enrolled)
          Creates a new client end of a NetBarrier
static NetBarrier netBarrier(String name, int localEnrolled, int netEnrolled)
          Creates a new server end of a NetBarrier with the given name
static NetBarrier numberedNetBarrier(String name, int index, int localEnrolled, int netEnrolled)
          Creates a new server end of a NetBarrier with a given index and name
 void run()
          The run method for the BNS process
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static BNS getInstance()
Gets the singleton instance of the BNS

Returns:
The singleton instance of the BNS

initialise

public static void initialise(NodeID bnsNode)
                       throws JCSPNetworkException
Initialises the connection to the BNS

Parameters:
bnsNode - The NodeID of the BNS Node
Throws:
JCSPNetworkException - Thrown if something goes wrong in the underlying architecture

initialise

public static void initialise(NodeAddress bnsNode)
                       throws JCSPNetworkException
Initialises the connection to the BNS

Parameters:
bnsNode - The NodeAddress of the BNS Node
Throws:
JCSPNetworkException - Thrown if something goes wrong in the underlying architecture

run

public void run()
The run method for the BNS process

Specified by:
run in interface CSProcess

netBarrier

public static NetBarrier netBarrier(String name,
                                    int localEnrolled,
                                    int netEnrolled)
                             throws IllegalArgumentException,
                                    IllegalStateException
Creates a new server end of a NetBarrier with the given name

Parameters:
name - The name to register with the BNS
localEnrolled - The number of locally enrolled processes
netEnrolled - The number of net enrolled processes to expect
Returns:
A new NetBarrier server end with the number of enrolled processes
Throws:
IllegalArgumentException - Thrown if the parameters are outside the defined ranges
IllegalStateException - Thrown if the BNS connection has not been initialised

numberedNetBarrier

public static NetBarrier numberedNetBarrier(String name,
                                            int index,
                                            int localEnrolled,
                                            int netEnrolled)
                                     throws IllegalArgumentException,
                                            IllegalStateException
Creates a new server end of a NetBarrier with a given index and name

Parameters:
name - Name to register with the BNS
index - The index to create the NetBarrier with
localEnrolled - The number of locally enrolled processes
netEnrolled - The number of remote enrollments to wait for
Returns:
A new NetBarrier
Throws:
IllegalArgumentException - Thrown if the parameters are outside the defined ranges
IllegalStateException - Thrown if the connection to the BNS has not been initialised

netBarrier

public static NetBarrier netBarrier(String name,
                                    int enrolled)
                             throws IllegalArgumentException,
                                    IllegalStateException,
                                    JCSPNetworkException
Creates a new client end of a NetBarrier

Parameters:
name - The name to resolve with the BNS
enrolled - The number of locally enrolled processes
Returns:
A new NetBarrier client end with the number of enrolled processes
Throws:
JCSPNetworkException - Thrown if something goes wrong in the underlying architecture
IllegalArgumentException - Thrown if the number of of local enrolled is outside the defined range
IllegalStateException - Thrown if the connection to the BNS has not been initialised


Copyright © 1996-2012. All Rights Reserved.