Packages that use net.i2p.router.util
Package
Description
The I2P router application handles I2P network communication.
The Double Ratchet with X25519 key agreement and ECIES hybrid encryption, used by the NTCP2 and SSU transports for session encryption.
The Kademlia distributed hash table (DHT) network database: lookup, store and explore jobs, the data store, the floodfill variants, and lookup throttling.
Peer profiles and capacity calculation, peer test jobs, peer selection for tunnel building, and the database and tunnel history used for peer selection.
Transport framework: the transport lifecycle and pool management, connection handling and bandwidth throttling for the transports (NTCP2 over TCP, SSU over UDP) that carry I2P messages between routers, plus NAT traversal via UPnP and GeoIP country lookups.
NTCP2, the TCP transport: framed, ratchet-encrypted and mutually authenticated connections between routers.
SSU2, the UDP transport: datagram sessions with Holepunch peer discovery, plus the older SSU compatibility code.
Tunnel messages and the tunnel layer: the
TunnelManagerFacade, tunnel build request and reply processing, and the inbound and outbound tunnel structures. Tunnel pool management: pool lifecycle, peer selection, build scheduling and failure handling for client and exploratory tunnels.
Router utility classes: CoDel active queue management, time-decaying collections, a diagnostics ring buffer, CIDR matching, and password management.
The router console user interface, implemented in routerconsole.jar, with these classes supporting the webapp in routerconsole.war.
- Classes in net.i2p.router.util used by net.i2p.routerClassDescriptionInterface for CoDel priority queue entries with extended tracking.Interface for CoDel queue entries with enqueue time tracking.Time-decaying Bloom filter series for efficient data management.Event logging utility with caching and file-based persistence.Interface for priority queue entries with sequence tracking.
- Classes in net.i2p.router.util used by net.i2p.router.crypto.ratchetClassDescriptionDouble-buffered hash set with time-based decay for efficient data management.
- Classes in net.i2p.router.util used by net.i2p.router.networkdb.kademlia
- Classes in net.i2p.router.util used by net.i2p.router.peermanager
- Classes in net.i2p.router.util used by net.i2p.router.transport
- Classes in net.i2p.router.util used by net.i2p.router.transport.ntcpClassDescriptionTime-decaying Bloom filter series for efficient data management.Priority blocking queue with bounded capacity and FIFO ordering within priority levels.
- Classes in net.i2p.router.util used by net.i2p.router.transport.udpClassDescriptionSynchronized collection with per-thread cached iterators for efficient element iteration.Interface for CoDel priority queue entries with extended tracking.Interface for CoDel queue entries with enqueue time tracking.Time-decaying Bloom filter series for efficient data management.Interface for priority queue entries with sequence tracking.Priority blocking queue with bounded capacity and FIFO ordering within priority levels.
- Classes in net.i2p.router.util used by net.i2p.router.tunnelClassDescriptionInterface for CoDel priority queue entries with extended tracking.Interface for CoDel queue entries with enqueue time tracking.Time-decaying Bloom filter series for efficient data management.Interface for priority queue entries with sequence tracking.
- Classes in net.i2p.router.util used by net.i2p.router.tunnel.poolClassDescriptionInterface for CoDel queue entries with enqueue time tracking.Time-decaying Bloom filter series for efficient data management.IP address masking utility for router family and network detection.
- Classes in net.i2p.router.util used by net.i2p.router.utilClassDescriptionArrayList with per-thread cached iterators for reduced object allocation overhead.An iterator reused across traversals of the list.Synchronized collection with per-thread cached iterators for efficient element iteration.Static inner CachedIterator class - implements hasNext(),
CachedIteratorCollection.CachedIterator.next()& remove()Node object that contains: (1) Data object (2) Link to previous Node object (3) Link to next Node object.Interface for CoDel priority queue entries with extended tracking.Interface for CoDel queue entries with enqueue time tracking.CoDel (Controlled Delay) implementation of Active Queue Management.CoDel (Controlled Delay) implementation with priority-based queue management.Time-decaying Bloom filter series for efficient data management.This saves the data as-is if the length is <= 8 bytes, otherwise it stores an 8-byte hash.What a decay found, carried out of the write lock so the caller can log it without extending the exclusive section.Interface for priority queue entries with sequence tracking.Priority blocking queue with bounded capacity and FIFO ordering within priority levels.Comparator used to order queue elements by descending priority, then ascending sequence number to preserve FIFO inside priority. - Classes in net.i2p.router.util used by net.i2p.router.webClassDescriptionComprehensive password management for router configuration with migration support.