Class I2PSocketAddress

java.lang.Object
java.net.SocketAddress
net.i2p.client.streaming.I2PSocketAddress
All Implemented Interfaces:
Serializable

public class I2PSocketAddress extends SocketAddress
A SocketAddress (Destination + port) so we can have SocketChannels. Ports are not widely used in I2P, in most cases the port will be zero. See InetSocketAddress for javadocs.
Since:
0.9.1
See Also:
  • Constructor Details

    • I2PSocketAddress

      public I2PSocketAddress(String host)
      Convenience constructor that parses host:port. Does a naming service lookup to resolve the dest. May take several seconds for b32.
      Parameters:
      host - hostname or b64 dest or b32, may have :port appended
      Throws:
      IllegalArgumentException - for port < 0 or port > 65535 or invalid port
      Since:
      0.9.9
    • I2PSocketAddress

      public I2PSocketAddress(Destination dest, int port)
      Does not do a reverse lookup. Host will be null.
      Throws:
      IllegalArgumentException - for port < 0 or port > 65535
    • I2PSocketAddress

      public I2PSocketAddress(String host, int port)
      Does a naming service lookup to resolve the dest. May take several seconds for b32.
      Throws:
      IllegalArgumentException - for port < 0 or port > 65535
  • Method Details

    • createUnresolved

      public static I2PSocketAddress createUnresolved(String host, int port)
      Throws:
      IllegalArgumentException - for port < 0 or port > 65535
    • getPort

      public int getPort()
    • getAddress

      public Destination getAddress()
      Does a naming service lookup to resolve the dest if this was created unresolved or if the resolution failed in the constructor. If unresolved, this may take several seconds for b32.
    • getHostName

      public String getHostName()
      Returns:
      the host only if given in the constructor. Does not do a reverse lookup.
    • isUnresolved

      public boolean isUnresolved()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object