Class TCPIPAddressID
- java.lang.Object
-
- org.jcsp.net.NodeAddressID
-
- org.jcsp.net.tcpip.TCPIPAddressID
-
- All Implemented Interfaces:
Serializable
,Cloneable
public class TCPIPAddressID extends NodeAddressID
Provides a concrete implementation of the abstract
NodeAddressID
for use with the TCP/IP link protocol. A TCP/IP node address consists of an internet host address (IP address) and 16bit IP port number.- Author:
- Quickstone Technologies Limited
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description TCPIPAddressID(String host, int port, boolean isUnique)
Creates a TCPIPAddressID for a computer, given it's host name and port number.TCPIPAddressID(InetAddress host, int port, boolean isUnique)
Creates a TCPIPAddressID for a computer, given it's IP address and port number.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
Compares two TCPIPAddressID for equality.static NodeAddressID
getAddressIDFromString(String stringForm)
Constructs and returns a TCPIPv4 NodeAddressID from a String.InetAddress
getHost()
Returns the computer's IP addressint
getPort()
Returns the computer's port number for incoming link requests.ProtocolID
getProtocolID()
Returns the ProtocolID for this addressprotected String
getStringForm()
Returns a string representation of the address suitable for use in thecreateAddressID
method ofTCPIPProtocolID
.int
hashCode()
Returns a hashCode for this TCPIPAddressIDboolean
isGloballyUnique()
Returnstrue
if thisNodeAddressID
is known to be unique within the global org.jcsp.net domain.String
toString()
Returns a string representation of this TCPIPAddressID, in the form "123.45.67.234:5678".-
Methods inherited from class org.jcsp.net.NodeAddressID
clone
-
-
-
-
Constructor Detail
-
TCPIPAddressID
public TCPIPAddressID(InetAddress host, int port, boolean isUnique) throws IllegalArgumentException
Creates a TCPIPAddressID for a computer, given it's IP address and port number.- Parameters:
host
- The computer's IP address.port
- The computer's port number, in the range 0-65535 inclusive.isUnique
- True if the address ID is globally unique, false otherwise.- Throws:
IllegalArgumentException
- If the port is invalid.
-
TCPIPAddressID
public TCPIPAddressID(String host, int port, boolean isUnique) throws IllegalArgumentException, UnknownHostException
Creates a TCPIPAddressID for a computer, given it's host name and port number.- Parameters:
host
- The computer's IP address, as a stringport
- The computer's port number.- Throws:
IllegalArgumentException
- If the port is invalid.UnknownHostException
- If the host name cannot be resolved.
-
-
Method Detail
-
getAddressIDFromString
public static NodeAddressID getAddressIDFromString(String stringForm) throws IllegalArgumentException
Constructs and returns a TCPIPv4 NodeAddressID from a String. The String MUST be in the form of that returned from the getStringForm method.- Parameters:
stringForm
- The String form representing a NodeAddressID.- Throws:
IllegalArgumentException
- if the string is incorrectly formatted.
-
getStringForm
protected String getStringForm()
Returns a string representation of the address suitable for use in thecreateAddressID
method ofTCPIPProtocolID
.- Specified by:
getStringForm
in classNodeAddressID
- Returns:
- a
String
that can be passed to the staticgetAddressIDFromString(String)
method in order to reconstuct the object.
-
getProtocolID
public ProtocolID getProtocolID()
Returns the ProtocolID for this address- Specified by:
getProtocolID
in classNodeAddressID
- Returns:
- this
NodeAddressID
object'sProtocolID
.
-
getHost
public final InetAddress getHost()
Returns the computer's IP address- Returns:
- IP address of server.
-
getPort
public final int getPort()
Returns the computer's port number for incoming link requests.- Returns:
- Port number of server.
-
equals
public final boolean equals(Object obj)
Compares two TCPIPAddressID for equality.- Specified by:
equals
in classNodeAddressID
- Parameters:
obj
- another object that should be anotherNodeAddressID
.- Returns:
- true iff obj is a non-null TCPIPAddressID for the same port & host, false otherwise.
-
hashCode
public final int hashCode()
Returns a hashCode for this TCPIPAddressID- Specified by:
hashCode
in classNodeAddressID
- Returns:
- an
int
hash code.
-
isGloballyUnique
public boolean isGloballyUnique()
Description copied from class:NodeAddressID
Returns
true
if thisNodeAddressID
is known to be unique within the global org.jcsp.net domain.A Node may have several addresses. If a Node is on an internal network that is connected to the Internet, it may have one local address and one address that is accessible from the Internet. The Internet address may be globally unique whereas the local address may be duplicated in other internal networks. The
NodeAddressID
object representing the Internet address should returntrue
when this method is called whereas theNodeAddressID
representing the local address should returnfalse
.- Specified by:
isGloballyUnique
in classNodeAddressID
- Returns:
true
iff thisNodeAddressID
is globally unique.
-
-