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

- Packages that use RouterAddress
  Package | Description
  --- | ---
  net.i2p.data | These classes define the common data structures used by the various I2P protocols.
  net.i2p.router | The I2P router application handles the I2P network communication.
  net.i2p.router.transport | The transport system allows the usage of communication layers that are below I2P in the stack, on which I2P messages are sent.
  net.i2p.router.transport.ntcp | The NTCP transport allows passing I2P messages on top of TCP.
  net.i2p.router.transport.udp | The UDP transport (also known as 'SSU transport') allows passing I2P messages on top of UDP.

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

    Methods in net.i2p.data 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 that return types with arguments of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `Set<RouterAddress>` | RouterInfo.`getAddresses()` Retrieve the set of RouterAddress structures at which this router can be contacted.
    `List<RouterAddress>` | RouterInfo.`getTargetAddresses(String transportStyle)` For future multiple addresses per-transport (IPV6), currently unused

    Method parameters in net.i2p.data with type arguments of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `void` | RouterInfo.`setAddresses(Set<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
    --- | ---
    `Set<RouterAddress>` | CommSystemFacade.`createAddresses()` Create the set 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.`notifyReplaceAddress(RouterAddress UDPAddr)` 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
    --- | ---
    `static RouterAddress` | CommSystemFacadeImpl.`createNTCPAddress(RouterContext ctx)` This only creates an address if the hostname AND port are set in router.config, which should be rare.
    `RouterAddress` | Transport.`getCurrentAddress()`
    `RouterAddress` | TransportImpl.`getCurrentAddress()` What addresses are we currently listening to?
    `RouterAddress` | Transport.`startListening()`
    `RouterAddress` | Transport.`updateAddress()`
    `RouterAddress` | TransportImpl.`updateAddress()` Ask the transport to update its address based on current information and return it Transports should override.

    Methods in net.i2p.router.transport that return types with arguments of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `Set<RouterAddress>` | CommSystemFacadeImpl.`createAddresses()`
    `Map<String,RouterAddress>` | TransportManager.`getAddresses()` This forces a rebuild

    Methods in net.i2p.router.transport with parameters of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `void` | CommSystemFacadeImpl.`notifyReplaceAddress(RouterAddress UDPAddr)` UDP changed addresses, tell NTCP and restart This should really be moved to ntcp/NTCPTransport.java, why is it here?
    `protected void` | TransportImpl.`replaceAddress(RouterAddress address)` Replace any existing addresses for the current transport 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` | NTCPTransport.`restartListening(RouterAddress addr)` Only called by CSFI.
    `RouterAddress` | NTCPTransport.`startListening()` Called by TransportManager.
    `RouterAddress` | NTCPAddress.`toRouterAddress()`

    Methods in net.i2p.router.transport.ntcp with parameters of type RouterAddress
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | NTCPAddress.`equals(RouterAddress addr)`
    `RouterAddress` | NTCPTransport.`restartListening(RouterAddress addr)` Only called by CSFI.

    Constructors in net.i2p.router.transport.ntcp with parameters of type RouterAddress
    Constructor and Description
    `NTCPAddress(RouterAddress addr)`

  - ### 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
    --- | ---
    `RouterAddress` | UDPTransport.`startListening()`
    `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
    --- | ---
    `protected void` | UDPTransport.`replaceAddress(RouterAddress address)` Replace then tell NTCP that we changed.
    `protected void` | UDPTransport.`replaceAddress(RouterAddress address, RouterAddress oldAddress)`

    Constructors in net.i2p.router.transport.udp with parameters of type RouterAddress
    Constructor and Description
    `UDPAddress(RouterAddress addr)`