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

Packages that use RouterInfo
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
`RouterInfo(RouterInfo old)`

Uses of RouterInfo in net.i2p.router

Methods in net.i2p.router that return RouterInfo
`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
`Set<RouterInfo>` `NetworkDatabaseFacade.getRouters()` public for NetDbRenderer in routerconsole

Methods in net.i2p.router with parameters of type RouterInfo
`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
`RouterInfo` `GarlicConfig.getRecipient()`
`RouterInfo` `GarlicConfig.getReplyThroughRouter()`

Methods in net.i2p.router.message with parameters of type RouterInfo
`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
`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
`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
`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
`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
`(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
`RouterInfo` `TransportBid.getRouter()` Router to which the message is to be sent

Methods in net.i2p.router.transport with parameters of type RouterInfo
`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
`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
`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
`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
`static boolean` `TunnelPeerSelector.shouldExclude(RouterContext ctx, RouterInfo peer)` warning, this is also called by ProfileOrganizer.isSelectable()