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

Packages that use RouterInfo
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.message |
net.i2p.router.networkdb.kademlia |
net.i2p.router.startup | The I2P startup package loads the configuration when I2P is started.
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.
net.i2p.router.tunnel |
net.i2p.router.tunnel.pool |

### Uses of RouterInfo in net.i2p.data

Constructors in net.i2p.data with parameters of type RouterInfo
Constructor and Description
`RouterInfo(RouterInfo old)`

### Uses of RouterInfo in net.i2p.router

Methods in net.i2p.router that return RouterInfo
Modifier and Type | Method and Description
--- | ---
`RouterInfo` | Router.`getRouterInfo()`
`RouterInfo` | OutNetMessage.`getTarget()` Specifies the router to which the message should be delivered.
`RouterInfo` | DummyNetworkDatabaseFacade.`lookupRouterInfoLocally(Hash key)`
`abstract RouterInfo` | NetworkDatabaseFacade.`lookupRouterInfoLocally(Hash key)`
`RouterInfo` | DummyNetworkDatabaseFacade.`store(Hash key, RouterInfo routerInfo)`
`abstract RouterInfo` | NetworkDatabaseFacade.`store(Hash key, RouterInfo routerInfo)` return the routerInfo if another router already existed at that key

Methods in net.i2p.router that return types with arguments of type RouterInfo
Modifier and Type | Method and Description
--- | ---
`Set<RouterInfo>` | NetworkDatabaseFacade.`getRouters()` public for NetDbRenderer in routerconsole

Methods in net.i2p.router with parameters of type RouterInfo
Modifier and Type | Method and Description
--- | ---
`void` | Router.`addCapabilities(RouterInfo ri)`
`void` | DummyNetworkDatabaseFacade.`publish(RouterInfo localRouterInfo)`
`abstract void` | NetworkDatabaseFacade.`publish(RouterInfo localRouterInfo)`
`void` | Router.`setRouterInfo(RouterInfo info)` Caller must ensure info is valid - no validation done here
`void` | OutNetMessage.`setTarget(RouterInfo target)`
`RouterInfo` | DummyNetworkDatabaseFacade.`store(Hash key, RouterInfo routerInfo)`
`abstract RouterInfo` | NetworkDatabaseFacade.`store(Hash key, RouterInfo routerInfo)` return the routerInfo if another router already existed at that key

### Uses of RouterInfo in net.i2p.router.message

Methods in net.i2p.router.message that return RouterInfo
Modifier and Type | Method and Description
--- | ---
`RouterInfo` | GarlicConfig.`getRecipient()`
`RouterInfo` | GarlicConfig.`getReplyThroughRouter()`

Methods in net.i2p.router.message with parameters of type RouterInfo
Modifier and Type | Method and Description
--- | ---
`void` | GarlicConfig.`setRecipient(RouterInfo info)` Router to receive and process this clove - the router that will open the delivery instructions and decide what to do process it locally as an I2NPMessage, forward it as an I2NPMessage to a router, forward it as an I2NPMessage to a Destination, or forward it as an I2NPMessage to a tunnel.
`void` | GarlicConfig.`setReplyThroughRouter(RouterInfo replyThroughRouter)` Specify the router through which a reply to this clove can be sent.

### Uses of RouterInfo in net.i2p.router.networkdb.kademlia

Methods in net.i2p.router.networkdb.kademlia that return RouterInfo
Modifier and Type | Method and Description
--- | ---
`RouterInfo` | KademliaNetworkDatabaseFacade.`lookupRouterInfoLocally(Hash key)`
`RouterInfo` | KademliaNetworkDatabaseFacade.`store(Hash key, RouterInfo routerInfo)` store the routerInfo
`RouterInfo` | KademliaNetworkDatabaseFacade.`store(Hash key, RouterInfo routerInfo, boolean persist)`

Methods in net.i2p.router.networkdb.kademlia that return types with arguments of type RouterInfo
Modifier and Type | Method and Description
--- | ---
`List<RouterInfo>` | FloodfillNetworkDatabaseFacade.`getKnownRouterData()`
`Set<RouterInfo>` | KademliaNetworkDatabaseFacade.`getRouters()` public for NetDbRenderer in routerconsole

Methods in net.i2p.router.networkdb.kademlia with parameters of type RouterInfo
Modifier and Type | Method and Description
--- | ---
`protected void` | KademliaNetworkDatabaseFacade.`dropAfterLookupFailed(Hash peer, RouterInfo info)`
`static boolean` | FloodfillNetworkDatabaseFacade.`isFloodfill(RouterInfo peer)`
`protected void` | FloodfillNetworkDatabaseFacade.`lookupBeforeDropping(Hash peer, RouterInfo info)` Search for a newer router info, drop it from the db if the search fails, unless just started up or have bigger problems.
`protected void` | KademliaNetworkDatabaseFacade.`lookupBeforeDropping(Hash peer, RouterInfo info)` don't use directly - see F.N.D.F.
`void` | FloodfillNetworkDatabaseFacade.`publish(RouterInfo localRouterInfo)`
`void` | KademliaNetworkDatabaseFacade.`publish(RouterInfo localRouterInfo)` Stores to local db only.
`protected void` | SearchJob.`sendLeaseSearch(RouterInfo router)` we're (probably) searching for a LeaseSet, so to be (overly) cautious, we're sending the request out through a tunnel w/ reply back through another tunnel.
`protected void` | SearchJob.`sendSearch(RouterInfo router)` Send a search to the given peer
`RouterInfo` | KademliaNetworkDatabaseFacade.`store(Hash key, RouterInfo routerInfo)` store the routerInfo
`RouterInfo` | KademliaNetworkDatabaseFacade.`store(Hash key, RouterInfo routerInfo, boolean persist)`
`(package private) String` | KademliaNetworkDatabaseFacade.`validate(Hash key, RouterInfo routerInfo)` Determine whether this routerInfo will be accepted as valid and current given what we know now.
`(package private) static MessageWrapper.WrappedMessage` | MessageWrapper.`wrap(RouterContext ctx, I2NPMessage m, Hash from, RouterInfo to)` Garlic wrap a message from a client or this router, destined for a router, to hide the contents from the OBEP.

Constructors in net.i2p.router.networkdb.kademlia with parameters of type RouterInfo
Constructor and Description
`SearchJob.FailedJob(RouterContext enclosingContext, RouterInfo peer)`
`SearchJob.FailedJob(RouterContext enclosingContext, RouterInfo peer, boolean penalizePeer)` Allow the choice as to whether failed searches should count against the peer (such as if we search for a random key)
`SearchMessageSelector(RouterContext context, RouterInfo peer, long expiration, SearchState state)`
`SearchUpdateReplyFoundJob(RouterContext context, RouterInfo peer, SearchState state, KademliaNetworkDatabaseFacade facade, SearchJob job)`
`SearchUpdateReplyFoundJob(RouterContext context, RouterInfo peer, SearchState state, KademliaNetworkDatabaseFacade facade, SearchJob job, TunnelInfo outTunnel, TunnelInfo replyTunnel)`
`StoreMessageSelector(RouterContext ctx, long storeJobId, RouterInfo peer, long waitingForId, long expiration)`

### Uses of RouterInfo in net.i2p.router.startup

Methods in net.i2p.router.startup that return RouterInfo
Modifier and Type | Method and Description
--- | ---
`(package private) RouterInfo` | CreateRouterInfoJob.`createRouterInfo()` Caller must hold Router.routerInfoFileLock

### Uses of RouterInfo in net.i2p.router.transport

Methods in net.i2p.router.transport that return RouterInfo
Modifier and Type | Method and Description
--- | ---
`RouterInfo` | TransportBid.`getRouter()` Router to which the message is to be sent

Methods in net.i2p.router.transport with parameters of type RouterInfo
Modifier and Type | Method and Description
--- | ---
`TransportBid` | Transport.`bid(RouterInfo toAddress, long dataSize)`
`void` | TransportBid.`setRouter(RouterInfo router)`

### Uses of RouterInfo in net.i2p.router.transport.ntcp

Methods in net.i2p.router.transport.ntcp with parameters of type RouterInfo
Modifier and Type | Method and Description
--- | ---
`TransportBid` | NTCPTransport.`bid(RouterInfo toAddress, long dataSize)`

### Uses of RouterInfo in net.i2p.router.transport.udp

Methods in net.i2p.router.transport.udp with parameters of type RouterInfo
Modifier and Type | Method and Description
--- | ---
`TransportBid` | UDPTransport.`bid(RouterInfo toAddress, long dataSize)`

### Uses of RouterInfo in net.i2p.router.tunnel

Methods in net.i2p.router.tunnel with parameters of type RouterInfo
Modifier and Type | Method and Description
--- | ---
`void` | OutboundMessageDistributor.`distribute(I2NPMessage msg, RouterInfo target, TunnelId tunnel)`

### Uses of RouterInfo in net.i2p.router.tunnel.pool

Methods in net.i2p.router.tunnel.pool with parameters of type RouterInfo
Modifier and Type | Method and Description
--- | ---
`static boolean` | TunnelPeerSelector.`shouldExclude(RouterContext ctx, RouterInfo peer)` warning, this is also called by ProfileOrganizer.isSelectable()