org.jgroups.stack

## Class IpAddress

- java.lang.Object
- - org.jgroups.stack.IpAddress

All Implemented Interfaces:
  java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Address>, Address, PhysicalAddress, Streamable

    public class IpAddress
    extends java.lang.Object
    implements PhysicalAddress

Network-dependent address (Internet). Generated by the bottommost layer of the protocol stack (UDP). Contains an InetAddress and port.

Author:
  Bela Ban
See Also:
  Serialized Form

### Field Summary

Fields
`protected static Log` `log`

### Fields inherited from interface org.jgroups.Address

`IP_ADDR, NULL, UUID_ADDR`

### Constructor Summary

Constructors
Constructor and Description
`IpAddress()`
`IpAddress(java.net.InetAddress i, int p)`
`IpAddress(java.net.InetSocketAddress sock_addr)`
`IpAddress(int port)`
`IpAddress(int port, boolean set_default_host)`
`IpAddress(java.lang.String i, int p)`

### Method Summary

Methods
`java.lang.Object` `clone()`
`int` `compare(IpAddress other)` Deprecated. Use `compareTo(org.jgroups.Address)` instead
`int` `compareTo(Address o)` implements the java.lang.Comparable interface
`int` `compareToUnique(java.lang.Object o)` Deprecated. Use `compareTo(org.jgroups.Address)` instead
`boolean` `equals(java.lang.Object obj)`
`byte[]` `getAdditionalData()` Returns the additional_data.
`java.net.InetAddress` `getIpAddress()`
`int` `getPort()`
`int` `hashCode()`
`boolean` `isMulticastAddress()` Checks whether this is an address that represents multiple destinations; e.g., a class D address in the Internet.
`void` `readExternal(java.io.ObjectInput in)`
`void` `readFrom(java.io.DataInputStream in)` Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed
`void` `setAdditionalData(byte[] additional_data)` Sets the additional_data.
`int` `size()` Returns serialized size of this address
`java.lang.String` `toString()`
`void` `writeExternal(java.io.ObjectOutput out)`
`void` `writeTo(java.io.DataOutputStream out)` Write the entire state of the current object (including superclasses) to outstream.

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### log

    protected static final Log log

### Constructor Detail

#### IpAddress

    public IpAddress()

#### IpAddress

    public IpAddress(java.lang.String i,
             int p)
              throws java.net.UnknownHostException

Throws:
  `java.net.UnknownHostException`

#### IpAddress

    public IpAddress(java.net.InetAddress i,
             int p)

#### IpAddress

    public IpAddress(int port)

#### IpAddress

    public IpAddress(int port,
             boolean set_default_host)

#### IpAddress

    public IpAddress(java.net.InetSocketAddress sock_addr)

### Method Detail

#### getIpAddress

    public final java.net.InetAddress getIpAddress()

#### getPort

    public final int getPort()

#### isMulticastAddress

    public final boolean isMulticastAddress()

Description copied from interface: `Address`
Checks whether this is an address that represents multiple destinations; e.g., a class D address in the Internet.

Specified by:
  `isMulticastAddress` in interface `Address`
Returns:
  true if this is a multicast address, false if it is a unicast address

#### getAdditionalData

    public final byte[] getAdditionalData()

Returns the additional_data.

Returns:
  byte[]

#### setAdditionalData

    public final void setAdditionalData(byte[] additional_data)

Sets the additional_data.

Parameters:
  `additional_data` - The additional_data to set

#### compare

    public final int compare(IpAddress other)

Deprecated. Use `compareTo(org.jgroups.Address)` instead
Establishes an order between 2 addresses. Assumes other contains non-null IpAddress. Excludes channel_name from comparison.

Returns:
  0 for equality, value less than 0 if smaller, greater than 0 if greater.

#### compareTo

    public final int compareTo(Address o)

implements the java.lang.Comparable interface

Specified by:
  `compareTo` in interface `java.lang.Comparable<Address>`
Parameters:
  `o` - - the Object to be compared
Returns:
  a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.
Throws:
  `java.lang.ClassCastException` - - if the specified object's type prevents it from being compared to this Object.
See Also:
  `Comparable`

#### compareToUnique

    public final int compareToUnique(java.lang.Object o)

Deprecated. Use `compareTo(org.jgroups.Address)` instead
This method compares both addresses' dotted-decimal notation in string format if the hashcode and ports are identical. Ca 30% slower than `Comparable.compareTo(Object)` if used excessively.

Parameters:
  `o` -
Returns:

#### equals

    public final boolean equals(java.lang.Object obj)

Overrides:
  `equals` in class `java.lang.Object`

#### hashCode

    public final int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### writeExternal

    public void writeExternal(java.io.ObjectOutput out)
                       throws java.io.IOException

Specified by:
  `writeExternal` in interface `java.io.Externalizable`
Throws:
  `java.io.IOException`

#### readExternal

    public void readExternal(java.io.ObjectInput in)
                      throws java.io.IOException,
                             java.lang.ClassNotFoundException

Specified by:
  `readExternal` in interface `java.io.Externalizable`
Throws:
  `java.io.IOException`
  `java.lang.ClassNotFoundException`

#### writeTo

    public void writeTo(java.io.DataOutputStream out)
                 throws java.io.IOException

Description copied from interface: `Streamable`
Write the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed

Specified by:
  `writeTo` in interface `Streamable`
Throws:
  `java.io.IOException`

#### readFrom

    public void readFrom(java.io.DataInputStream in)
                  throws java.io.IOException

Description copied from interface: `Streamable`
Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed

Specified by:
  `readFrom` in interface `Streamable`
Throws:
  `java.io.IOException`

#### size

    public int size()

Description copied from interface: `Address`
Returns serialized size of this address

Specified by:
  `size` in interface `Address`

#### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

Overrides:
  `clone` in class `java.lang.Object`
Throws:
  `java.lang.CloneNotSupportedException`