org.freenetproject

## Class DetectedIP

- java.lang.Object
- - org.freenetproject.DetectedIP

    public class DetectedIP
    extends Object

Class returned by a FredPluginIPDetector. Indicates: - Whether there is no UDP connectivity at all. - Whether there is full inbound IP connectivity. - A list of detected public IPs.

### Field Summary

Fields
`static short` `FULL_CONE_NAT` Full cone NAT.
`static short` `FULL_INTERNET` Full internet access!
`int` `mtu` The MTU as advertized by the JVM
`short` `natType`
`static short` `NO_UDP` No UDP connectivity at all
`static short` `NOT_SUPPORTED` The plugin does not support detecting the NAT type.
`static short` `PORT_RESTRICTED_NAT` Port restricted cone NAT.
`InetAddress` `publicAddress`
`static short` `RESTRICTED_CONE_NAT` Restricted cone NAT.
`static short` `SYMMETRIC_NAT` Symmetric NAT.
`static short` `SYMMETRIC_UDP_FIREWALL` Symmetric UDP firewall.

### Constructor Summary

Constructors
Constructor and Description
`DetectedIP(InetAddress addr, short type)`

### Method Summary

Methods
`boolean` `equals(Object o)`
`int` `hashCode()`
`String` `toString()`

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

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

### Field Detail

#### publicAddress

    public final InetAddress publicAddress

#### natType

    public final short natType

#### mtu

    public int mtu

The MTU as advertized by the JVM

#### NOT_SUPPORTED

    public static final short NOT_SUPPORTED

The plugin does not support detecting the NAT type.

See Also:
  Constant Field Values

#### FULL_INTERNET

    public static final short FULL_INTERNET

Full internet access!

See Also:
  Constant Field Values

#### FULL_CONE_NAT

    public static final short FULL_CONE_NAT

Full cone NAT. Once we have sent a packet out on a port, any node anywhere can send us a packet on that port. The nicest option, but very rare unfortunately.

See Also:
  Constant Field Values

#### RESTRICTED_CONE_NAT

    public static final short RESTRICTED_CONE_NAT

Restricted cone NAT. Once we have sent a packet out to a specific IP, it can send us packets on the port we just used.

See Also:
  Constant Field Values

#### PORT_RESTRICTED_NAT

    public static final short PORT_RESTRICTED_NAT

Port restricted cone NAT. Once we have sent a packet to a specific IP+Port, that IP+Port can send us packets on the port we just used.

See Also:
  Constant Field Values

#### SYMMETRIC_NAT

    public static final short SYMMETRIC_NAT

Symmetric NAT. Uses a separate port number for each IP+port ! Not much hope for symmetric to symmetric...

See Also:
  Constant Field Values

#### SYMMETRIC_UDP_FIREWALL

    public static final short SYMMETRIC_UDP_FIREWALL

Symmetric UDP firewall. We are not NATed, but the firewall behaves as if we were.

See Also:
  Constant Field Values

#### NO_UDP

    public static final short NO_UDP

No UDP connectivity at all

See Also:
  Constant Field Values

### Constructor Detail

#### DetectedIP

    public DetectedIP(InetAddress addr,
              short type)

### Method Detail

#### equals

    public boolean equals(Object o)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`