Class 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:
    Serialized Form
    • Constructor Detail

      • 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 Detail

      • 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()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object