| 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.web.helpers | Helpers and handlers for the router console user interface, with these classes supporting the webapp in routerconsole.war. |
| Modifier and Type | Method and Description |
|---|---|
RouterAddress | RouterInfo.getTargetAddress(String transportStyle)Pull the first workable target address for the given transport. |
| 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 |
| Modifier and Type | Method and Description |
|---|---|
boolean | RouterAddress.deepEquals(RouterAddress addr)Everything, including Transport, host, port, options, and cost |
| 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. |
| Modifier and Type | Method and Description |
|---|---|
List<RouterAddress> | CommSystemFacade.createAddresses()Create the list of RouterAddress structures based on the router's config |
| 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 |
| 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. |
| 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. |
| 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. |
| Modifier and Type | Method and Description |
|---|---|
RouterAddress | NTCPConnection.getRemoteAddress()Only valid for outbound; null for inbound |
| Constructor and Description |
|---|
NTCPConnection(RouterContext ctx,
NTCPTransport transport,
RouterIdentity remotePeer,
RouterAddress remAddr,
int version)Create an outbound unconnected NTCP connection. |
| 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)first available address we can use. |
| Modifier and Type | Method and Description |
|---|---|
List<RouterAddress> | UDPTransport.updateAddress()Rebuild to get updated cost and introducers. |
| 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)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. |
| 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. |
| Constructor and Description |
|---|
OutboundEstablishState2(RouterContext ctx,
UDPTransport transport,
RemoteHostId claimedAddress,
RemoteHostId remoteHostId,
RouterIdentity remotePeer,
boolean needIntroduction,
SessionKey introKey,
RouterAddress ra,
UDPAddress addr,
int version)Prepare to start a new handshake with the given peer. |
UDPAddress(RouterAddress addr)Parse and cache router address data. |
| Modifier and Type | Method and Description |
|---|---|
int | NetDbRenderer.RAComparator.compare(RouterAddress l,
RouterAddress r)compare. |