## Uses of Class
net.i2p.data.router.RouterAddress

- Packages that use RouterAddress
  Package | Description
  --- | ---
  net.i2p.data.router | Router-specific data structures and identity management classes for I2P.
  net.i2p.router | The I2P router application handles I2P network communication.
  net.i2p.router.transport | Transport layer implementations and management for I2P network communication.
  net.i2p.router.transport.ntcp | The NTCP (New TCP) transport for I2P, allowing I2P messages to be passed over TCP connections.
  net.i2p.router.transport.udp | The UDP transport (also known as 'SSU' or Secure Semi-reliable UDP transport) for I2P, allowing I2P messages to be passed over UDP connections.
  net.i2p.router.tunnel.pool | Tunnel pool management, creation, and peer selection for I2P's anonymous routing system.
  net.i2p.router.web.helpers | Helpers and handlers for the router console user interface, with these classes supporting the webapp in routerconsole.war.

- - ### Uses of RouterAddress in net.i2p.data.router

    Methods in net.i2p.data.router that return RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `RouterAddress` | RouterInfo.`getTargetAddress(String transportStyle)` Pull the first workable target address for the given transport.

    Methods in net.i2p.data.router that return types with arguments of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `Collection<RouterAddress>` | RouterInfo.`getAddresses()` Retrieve the set of RouterAddress structures at which this router can be contacted.
    `List<RouterAddress>` | RouterInfo.`getTargetAddresses(String transportStyle)` For multiple addresses per-transport (IPv4 or IPv6)
    `List<RouterAddress>` | RouterInfo.`getTargetAddresses(String transportStyle1, String transportStyle2)` For multiple addresses per-transport (IPv4 or IPv6) Return addresses matching either of two styles

    Methods in net.i2p.data.router with parameters of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | RouterAddress.`deepEquals(RouterAddress addr)` Everything, including Transport, host, port, options, and cost

    Method parameters in net.i2p.data.router with type arguments of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `void` | RouterInfo.`setAddresses(Collection<RouterAddress> addresses)` Specify a set of RouterAddress structures at which this router can be contacted.

  - ### Uses of RouterAddress in net.i2p.router

    Methods in net.i2p.router that return types with arguments of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `List<RouterAddress>` | CommSystemFacade.`createAddresses()` Create the list of RouterAddress structures based on the router's config

    Methods in net.i2p.router with parameters of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `void` | CommSystemFacade.`notifyRemoveAddress(RouterAddress address)` Tell other transports our address changed
    `void` | CommSystemFacade.`notifyReplaceAddress(RouterAddress address)` Tell other transports our address changed

  - ### Uses of RouterAddress in net.i2p.router.transport

    Methods in net.i2p.router.transport that return RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `RouterAddress` | TransportImpl.`getCurrentAddress(boolean ipv6)` What address are we currently listening to? Replaces getCurrentAddress() Note: An address without a host is considered IPv4.
    `RouterAddress` | Transport.`getCurrentAddress(boolean ipv6)` Get the first currently listening address of specified IP version.

    Methods in net.i2p.router.transport that return types with arguments of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `List<RouterAddress>` | CommSystemFacadeImpl.`createAddresses()` Create router addresses for all configured transport protocols.
    `(package private) List<RouterAddress>` | TransportManager.`getAddresses()` This forces a rebuild
    `List<RouterAddress>` | TransportImpl.`getCurrentAddresses()` What addresses are we currently listening to? Replaces getCurrentAddress()
    `List<RouterAddress>` | Transport.`getCurrentAddresses()` Get all addresses this transport is currently listening on.
    `List<RouterAddress>` | TransportImpl.`getTargetAddresses(RouterInfo target)` Get all available address we can use, shuffled and then sorted by cost/preference.
    `List<RouterAddress>` | TransportImpl.`updateAddress()` Ask the transport to update its address based on current information and return it Transports should override.
    `List<RouterAddress>` | Transport.`updateAddress()` Request transport to update its addresses based on current conditions.

    Methods in net.i2p.router.transport with parameters of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `static AddressType` | TransportUtil.`getType(RouterAddress addr)`
    `static boolean` | TransportUtil.`isIPv6(RouterAddress addr)` Addresses without a host (i.e.
    `static boolean` | TransportUtil.`isYggdrasil(RouterAddress addr)`
    `void` | CommSystemFacadeImpl.`notifyRemoveAddress(RouterAddress address)` Tell other transports our address changed
    `void` | CommSystemFacadeImpl.`notifyReplaceAddress(RouterAddress udpAddr)` UDP changed addresses, tell NTCP and restart All the work moved to NTCPTransport.externalAddressReceived()
    `protected void` | TransportImpl.`removeAddress(RouterAddress address)` Remove only this address.
    `protected void` | TransportImpl.`replaceAddress(RouterAddress address)` Replace any existing addresses for the current transport with the same IP length (4 or 16) with the given one.

  - ### Uses of RouterAddress in net.i2p.router.transport.ntcp

    Methods in net.i2p.router.transport.ntcp that return RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `RouterAddress` | NTCPConnection.`getRemoteAddress()` Only valid for outbound; null for inbound

    Constructors in net.i2p.router.transport.ntcp with parameters of type RouterAddress
    Constructor and Description
    `NTCPConnection(RouterContext ctx, NTCPTransport transport, RouterIdentity remotePeer, RouterAddress remAddr, int version)` Create an outbound unconnected NTCP connection.

  - ### Uses of RouterAddress in net.i2p.router.transport.udp

    Methods in net.i2p.router.transport.udp that return RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `(package private) static RouterAddress` | PeerTestManager.`getAddress(List<RouterAddress> addrs, boolean isIPv6)` Get an address out of a list of addresses.
    `RouterAddress` | UDPTransport.`getCurrentExternalAddress(boolean isIPv6)` Simple fetch of stored IP and port, since we don't put them in the real, published RouterAddress anymore if we are firewalled.
    `(package private) RouterAddress` | UDPTransport.`getTargetAddress(RouterInfo target)` Get first available address we can use.

    Methods in net.i2p.router.transport.udp that return types with arguments of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `List<RouterAddress>` | UDPTransport.`updateAddress()` Rebuild to get updated cost and introducers.

    Methods in net.i2p.router.transport.udp with parameters of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `(package private) static SessionKey` | PeerTestManager.`getIntroKey(RouterAddress ra)` Get an intro key out of an address.
    `(package private) int` | UDPTransport.`getSSUVersion(RouterAddress addr)` Get the valid SSU version of Bob's SSU address for our outbound connections as Alice.
    `int` | IntroductionManager.`pickInbound(RouterAddress current, boolean ipv6, Properties ssuOptions, int howMany)` Grab a bunch of peers who are willing to be introducers for us that are locally known (duh) and have published their own SSU address (duh^2).
    `protected void` | UDPTransport.`removeAddress(RouterAddress address)` Remove then tell NTCP that we changed.
    `protected void` | UDPTransport.`replaceAddress(RouterAddress address)` Replace then tell NTCP that we changed.

    Method parameters in net.i2p.router.transport.udp with type arguments of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `(package private) static RouterAddress` | PeerTestManager.`getAddress(List<RouterAddress> addrs, boolean isIPv6)` Get an address out of a list of addresses.

    Constructors in net.i2p.router.transport.udp with parameters of type RouterAddress
    Constructor and Description
    `OutboundEstablishState2(RouterContext ctx, UDPTransport transport, RemoteHostId claimedAddress, RemoteHostId remoteHostId, RouterIdentity remotePeer, boolean needIntroduction, SessionKey introKey, RouterAddress ra, UDPAddress addr)` Prepare to start a new handshake with the given peer.
    `UDPAddress(RouterAddress addr)`

  - ### Uses of RouterAddress in net.i2p.router.tunnel.pool

    Method parameters in net.i2p.router.tunnel.pool with type arguments of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `protected static int` | ConnectChecker.`getConnectMask(Collection<RouterAddress> addrs)`

  - ### Uses of RouterAddress in net.i2p.router.web.helpers

    Methods in net.i2p.router.web.helpers with parameters of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `int` | NetDbRenderer.RAComparator.`compare(RouterAddress l, RouterAddress r)`