# Uses of Package
net.i2p.router

- Packages that use net.i2p.router
  Package | Description
  --- | ---
  net.i2p.data.i2np | This package defines the low-level messages sent between routers, called Invisible Internet Network Protocol (I2NP).
  net.i2p.desktopgui | Desktop graphical interface for managing I2P router lifecycle from the system tray.
  net.i2p.desktopgui.router | Router integration and communication for the Desktop GUI.
  net.i2p.i2pcontrol | I2P Control provides a JSON-RPC 2.0 interface for controlling and monitoring the I2P router.
  net.i2p.i2pcontrol.servlets | HTTP servlets for handling I2P Control JSON-RPC 2.0 requests.
  net.i2p.i2pcontrol.servlets.jsonrpc2handlers | JSON-RPC 2.0 handlers for I2P Control API methods.
  net.i2p.router | The I2P router application handles I2P network communication.
  net.i2p.router.client | Router-side implementation of the I2CP (I2P Client Protocol) interface for application integration.
  net.i2p.router.crypto | Router-specific cryptographic operations and implementations for I2P security.
  net.i2p.router.crypto.ratchet | Implementation of ECIES-X25519-AEAD-Ratchet cryptographic protocol (I2P proposal 144), providing forward secrecy and enhanced security for I2P transport communications.
  net.i2p.router.dummy | Dummy implementations and stub classes for testing purposes.
  net.i2p.router.message | Garlic message creation, parsing, and source routing for I2P communications.
  net.i2p.router.networkdb | Network database management and coordination for the I2P distributed hash table.
  net.i2p.router.networkdb.kademlia | Kademlia DHT implementation and floodfill router functionality for I2P.
  net.i2p.router.networkdb.reseed | Router reseeding functionality for bootstrapping into the I2P network.
  net.i2p.router.news | Classes to parse the I2P news format, which follows the Atom standard with additional metadata for the I2P update notification feature.
  net.i2p.router.peermanager | Peer management, profiling, and capacity calculation for I2P network optimization.
  net.i2p.router.startup | The I2P startup package loads configuration when I2P is started.
  net.i2p.router.sybil | Offline analysis tools for detecting Sybil attacks and malicious peer coordination in the I2P network.
  net.i2p.router.tasks | Periodic maintenance tasks and background jobs for I2P router operations.
  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 | Core tunnel management, message processing, and encryption for I2P's anonymous routing system.
  net.i2p.router.tunnel.pool | Tunnel pool management, creation, and peer selection for I2P's anonymous routing system.
  net.i2p.router.update | Classes to implement the router update process for checking and applying I2P router updates from the update manager.
  net.i2p.router.util | Utility classes and helper functions used throughout the I2P router.
  net.i2p.router.web | The router console user interface, implemented in routerconsole.jar, with these classes supporting the webapp in routerconsole.war.
  net.i2p.router.web.helpers | Helpers and handlers for the router console user interface, with these classes supporting the webapp in routerconsole.war.

- Classes in net.i2p.router used by net.i2p.data.i2np
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.desktopgui
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.desktopgui.router
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.i2pcontrol
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.i2pcontrol.servlets
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.i2pcontrol.servlets.jsonrpc2handlers
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router
  Class and Description
  Banlist Manages router banlist entries with configurable expiration times and transport-specific bans.
  Banlist.Entry Entry representing a banned peer with expiration and reason information
  Blocklist Manage blocking by IP address, in a manner similar to the Banlist, which blocks by router hash.
  ClientManagerFacade Manages client connections and LeaseSet operations for I2P applications.
  ClientMessage Wrap a message either destined for a local client or received from one.
  ClientMessagePool Manage all of the inbound and outbound client messages maintained by the router.
  ClientTunnelSettings Wrap up the client settings specifying their tunnel criteria
  CommSystemFacade Manages peer communication subsystem including transport protocols, connection handling, and network address management for router-to-router messaging.
  CommSystemFacade.Status Network connectivity status enumeration for IPv4 and IPv6 transport capabilities.
  HandlerJobBuilder Defines a class that builds jobs to handle a particular message - these builders are registered with the InNetMessagePool for various I2NP message types, allowing immediate queueing of a handler job rather than waiting for a polling job to come pick it up.
  InNetMessagePool Receives and dispatches inbound network messages with configurable processing modes.
  Job Interface for router-internal executable tasks.
  JobQueue Prioritizes and executes router jobs with preference for earlier scheduled tasks.
  JobStats Collects and maintains statistical data for job execution performance.
  JobStats.RecentStats Container for recent statistics within the sliding window @since 0.9.68+
  JobTiming Define the timing requirements and statistics for a particular job For use by the router only.
  KeyManager Manages all router cryptographic key pairs including persistent storage of router keys and in-memory management of LeaseSet keys for secure communications.
  LeaseSetKeys Wrap up the keys given to the router when a destination connects to it.
  MessageHistory Logs router message traffic for debugging and network analysis.
  MessageSelector Define a mechanism to select what messages are associated with a particular OutNetMessage.
  MessageValidator Singleton to manage the logic (and historical data) to determine whether a message is valid or not (meaning it isn't expired and hasn't already been received).
  NetworkDatabaseFacade Abstract interface for I2P network database operations.
  OutNetMessage Wrap up an outbound I2NP message, along with the information associated with its delivery and jobs to be fired off if particular events occur.
  OutNetMessagePool Routes outbound messages to the communication system for delivery.
  PeerManagerFacade Manage peer references and keep them up to date so that when asked for peers, it can provide appropriate peers according to the criteria provided.
  ProfileManager Manages peer profiles and performance metrics for router peers.
  ReplyJob Defines an executable task that can be fired off in reply to a message
  Router Core router implementation that manages I2P node lifecycle, configuration, and subsystem coordination.
  RouterClock.ClockShiftListener Listener interface for receiving notifications when the router clock shifts.
  RouterContext Extended application context that provides centralized resource coordination for router instances.
  RouterThrottle Controls router load by throttling message processing and tunnel participation.
  Service Defines the lifecycle interface for router subsystems.
  StatisticsManager Collects and publishes router performance statistics to the network database.
  TunnelInfo Defines the information associated with a tunnel
  TunnelManagerFacade Manages tunnel creation, maintenance, and selection for encrypted routing.
  TunnelPoolSettings Wrap up the settings for a pool of tunnels.
  TunnelTestStatus Test status for tunnel testing display

- Classes in net.i2p.router used by net.i2p.router.client
  Class and Description
  ClientManagerFacade Manages client connections and LeaseSet operations for I2P applications.
  ClientMessage Wrap a message either destined for a local client or received from one.
  Job Interface for router-internal executable tasks.
  JobImpl Base implementation of a Job For use by the router only.
  RouterContext Extended application context that provides centralized resource coordination for router instances.
  Service Defines the lifecycle interface for router subsystems.

- Classes in net.i2p.router used by net.i2p.router.crypto
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.crypto.ratchet
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.dummy
  Class and Description
  ClientManagerFacade Manages client connections and LeaseSet operations for I2P applications.
  ClientMessage Wrap a message either destined for a local client or received from one.
  ClientTunnelSettings Wrap up the client settings specifying their tunnel criteria
  CommSystemFacade Manages peer communication subsystem including transport protocols, connection handling, and network address management for router-to-router messaging.
  Job Interface for router-internal executable tasks.
  NetworkDatabaseFacade Abstract interface for I2P network database operations.
  OutNetMessage Wrap up an outbound I2NP message, along with the information associated with its delivery and jobs to be fired off if particular events occur.
  PeerManagerFacade Manage peer references and keep them up to date so that when asked for peers, it can provide appropriate peers according to the criteria provided.
  RouterContext Extended application context that provides centralized resource coordination for router instances.
  Service Defines the lifecycle interface for router subsystems.
  TunnelInfo Defines the information associated with a tunnel
  TunnelManagerFacade Manages tunnel creation, maintenance, and selection for encrypted routing.
  TunnelPoolSettings Wrap up the settings for a pool of tunnels.

- Classes in net.i2p.router used by net.i2p.router.message
  Class and Description
  ClientMessage Wrap a message either destined for a local client or received from one.
  HandlerJobBuilder Defines a class that builds jobs to handle a particular message - these builders are registered with the InNetMessagePool for various I2NP message types, allowing immediate queueing of a handler job rather than waiting for a polling job to come pick it up.
  Job Interface for router-internal executable tasks.
  JobImpl Base implementation of a Job For use by the router only.
  MessageSelector Define a mechanism to select what messages are associated with a particular OutNetMessage.
  ReplyJob Defines an executable task that can be fired off in reply to a message
  RouterContext Extended application context that provides centralized resource coordination for router instances.
  TunnelInfo Defines the information associated with a tunnel

- Classes in net.i2p.router used by net.i2p.router.networkdb
  Class and Description
  Job Interface for router-internal executable tasks.
  JobImpl Base implementation of a Job For use by the router only.
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.networkdb.kademlia
  Class and Description
  HandlerJobBuilder Defines a class that builds jobs to handle a particular message - these builders are registered with the InNetMessagePool for various I2NP message types, allowing immediate queueing of a handler job rather than waiting for a polling job to come pick it up.
  Job Interface for router-internal executable tasks.
  JobImpl Base implementation of a Job For use by the router only.
  MessageSelector Define a mechanism to select what messages are associated with a particular OutNetMessage.
  NetworkDatabaseFacade Abstract interface for I2P network database operations.
  ReplyJob Defines an executable task that can be fired off in reply to a message
  RouterContext Extended application context that provides centralized resource coordination for router instances.
  Service Defines the lifecycle interface for router subsystems.
  TunnelInfo Defines the information associated with a tunnel

- Classes in net.i2p.router used by net.i2p.router.networkdb.reseed
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.news
  Class and Description
  RouterCommandLine Simple command line access to various utilities.

- Classes in net.i2p.router used by net.i2p.router.peermanager
  Class and Description
  Job Interface for router-internal executable tasks.
  JobImpl Base implementation of a Job For use by the router only.
  PeerManagerFacade Manage peer references and keep them up to date so that when asked for peers, it can provide appropriate peers according to the criteria provided.
  ProfileManager Manages peer profiles and performance metrics for router peers.
  RouterContext Extended application context that provides centralized resource coordination for router instances.
  Service Defines the lifecycle interface for router subsystems.

- Classes in net.i2p.router used by net.i2p.router.startup
  Class and Description
  Job Interface for router-internal executable tasks.
  JobImpl Base implementation of a Job For use by the router only.
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.sybil
  Class and Description
  Job Interface for router-internal executable tasks.
  JobImpl Base implementation of a Job For use by the router only.
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.tasks
  Class and Description
  Job Interface for router-internal executable tasks.
  JobImpl Base implementation of a Job For use by the router only.
  Router Core router implementation that manages I2P node lifecycle, configuration, and subsystem coordination.
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.transport
  Class and Description
  CommSystemFacade Manages peer communication subsystem including transport protocols, connection handling, and network address management for router-to-router messaging.
  CommSystemFacade.Status Network connectivity status enumeration for IPv4 and IPv6 transport capabilities.
  Job Interface for router-internal executable tasks.
  JobImpl Base implementation of a Job For use by the router only.
  MessageSelector Define a mechanism to select what messages are associated with a particular OutNetMessage.
  OutNetMessage Wrap up an outbound I2NP message, along with the information associated with its delivery and jobs to be fired off if particular events occur.
  ReplyJob Defines an executable task that can be fired off in reply to a message
  RouterContext Extended application context that provides centralized resource coordination for router instances.
  Service Defines the lifecycle interface for router subsystems.

- Classes in net.i2p.router used by net.i2p.router.transport.ntcp
  Class and Description
  CommSystemFacade.Status Network connectivity status enumeration for IPv4 and IPv6 transport capabilities.
  OutNetMessage Wrap up an outbound I2NP message, along with the information associated with its delivery and jobs to be fired off if particular events occur.
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.transport.udp
  Class and Description
  CommSystemFacade.Status Network connectivity status enumeration for IPv4 and IPv6 transport capabilities.
  OutNetMessage Wrap up an outbound I2NP message, along with the information associated with its delivery and jobs to be fired off if particular events occur.
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.tunnel
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.
  Service Defines the lifecycle interface for router subsystems.
  TunnelInfo Defines the information associated with a tunnel
  TunnelTestStatus Test status for tunnel testing display

- Classes in net.i2p.router used by net.i2p.router.tunnel.pool
  Class and Description
  ClientTunnelSettings Wrap up the client settings specifying their tunnel criteria
  Job Interface for router-internal executable tasks.
  JobImpl Base implementation of a Job For use by the router only.
  RouterContext Extended application context that provides centralized resource coordination for router instances.
  Service Defines the lifecycle interface for router subsystems.
  TunnelInfo Defines the information associated with a tunnel
  TunnelManagerFacade Manages tunnel creation, maintenance, and selection for encrypted routing.
  TunnelPoolSettings Wrap up the settings for a pool of tunnels.

- Classes in net.i2p.router used by net.i2p.router.update
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.util
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.web
  Class and Description
  RouterContext Extended application context that provides centralized resource coordination for router instances.

- Classes in net.i2p.router used by net.i2p.router.web.helpers
  Class and Description
  Job Interface for router-internal executable tasks.
  JobImpl Base implementation of a Job For use by the router only.
  RouterContext Extended application context that provides centralized resource coordination for router instances.