Package org.jcsp.net2

Class NetBarrierLocation

java.lang.Object
org.jcsp.net2.NetLocation
org.jcsp.net2.NetBarrierLocation
All Implemented Interfaces:
Serializable

public final class NetBarrierLocation extends NetLocation implements Serializable
This class is a data structure representing the location of a NetBarrier in a network. The NetBarrierLocation consists of the NodeID of the Node on which the NetBarrier resides, and its Virtual Barrier Number, which is the number uniquely identifying the NetBarrier on said node.

To acquire the NetBarrierLocation of a NetBarrier, use the getLocation method:

NetBarrierLocation location = (NetBarrierLocation)bar.getLocation();

The location returned depends on whether the NetBarrier is a client or a server end. A server end of a NetBarrier will return its own location. A client end of a NetBarrier will return the location of the server end it is connected to. This is because we consider the NetBarrier to be a single, virtual construct, with only one location. That location is where the server end of the NetBarrier is located.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final NodeID
    The NodeID portion of the location structure
    private static final long
    The SUID of this object.
    private final int
    The index portion of the location structure
  • Constructor Summary

    Constructors
    Constructor
    Description
    NetBarrierLocation(NodeID aNodeID, int aVBN)
    Constructor to create a new NetBarrierLocation
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets the NodeAddress part of the location
    Gets the NodeID part of the location
    int
    Gets the index part of the location
    Takes the string representation of a NetBarrierLocation and converts it back into an object for usage by JCSP.
    Returns the string representation of the NetBarrierLocation.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      The SUID of this object. Required for Serialization.
      See Also:
    • nodeID

      private final NodeID nodeID
      The NodeID portion of the location structure
    • vbn

      private final int vbn
      The index portion of the location structure
  • Constructor Details

    • NetBarrierLocation

      public NetBarrierLocation(NodeID aNodeID, int aVBN)
      Constructor to create a new NetBarrierLocation
      Parameters:
      aNodeID - The NodeID portion of the NetBarrierLocation
      aVBN - The index part of the NetBarrierLocation
  • Method Details

    • getNodeID

      public NodeID getNodeID()
      Gets the NodeID part of the location
      Specified by:
      getNodeID in class NetLocation
      Returns:
      The NodeID part of the NetBarrierLocation
    • getNodeAddress

      public NodeAddress getNodeAddress()
      Gets the NodeAddress part of the location
      Specified by:
      getNodeAddress in class NetLocation
      Returns:
      The NodeAddress part of the NetBarrierLocation
    • getVBN

      public int getVBN()
      Gets the index part of the location
      Returns:
      The VBN part of the NetBarrierLocation
    • toString

      public String toString()
      Returns the string representation of the NetBarrierLocation. This takes the form of nbl://[NodeID]/[VBN]. This string representation has been created to allow other frameworks to interpret the NetBarrierLocation.
      Overrides:
      toString in class Object
      Returns:
      String representation of the NetBarrierLocation
    • parse

      public static NetBarrierLocation parse(String str) throws IllegalArgumentException
      Takes the string representation of a NetBarrierLocation and converts it back into an object for usage by JCSP.
      Parameters:
      str - The string representation of the NetBarrierLocation
      Returns:
      A NetBarrierLocation produced from a String representation
      Throws:
      IllegalArgumentException - Thrown if a non NetBarrierLocation is attempted to be parsed