Packages that use I2PThread
Package
Description
POP3 client (RFC 1939) for SusiMail, including APOP authentication.
Address book application for fetching and maintaining I2P host databases from subscription sources.
Implementation of preconfigured tunnels for clients and servers, including special-purpose tunnels for IRC, SOCKS, HTTP and streaming.
IRC tunnel support: DCC and CTCP handling for IRC clients using a client tunnel.
Jetty integration: starts the embedded Jetty server for all I2P webapps.
The I2P router application handles I2P network communication.
Post-quantum hybrid key encapsulation built on the bundled Bouncy Castle ML-KEM primitives.
The Double Ratchet with X25519 key agreement and ECIES hybrid encryption, used by the NTCP2 and SSU transports for session encryption.
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.
Transport-layer key agreement: the X25519 key factory used by the NTCP2 and SSU2 session handshakes for peer authentication and session encryption.
Tunnel pool management: pool lifecycle, peer selection, build scheduling and failure handling for client and exploratory tunnels.
Router-side update checking and installation: fetching update notifications, downloading and verifying updates, and staging them for the restart.
Demo and test client classes.
General utility classes shared across the core libraries and the router.
Uses of I2PThread in i2p.susi.webmail.pop3
Subclasses of I2PThread in i2p.susi.webmail.pop3Modifier and TypeClassDescriptionprivate classThread fetching the new messages of a check.private classDeletes the waiting messages.private classCloses the idle mailbox connection.Uses of I2PThread in net.i2p.addressbook
Subclasses of I2PThread in net.i2p.addressbookModifier and TypeClassDescriptionclassA thread that waits five minutes, then runs the addressbook daemon.Uses of I2PThread in net.i2p.i2ptunnel
Subclasses of I2PThread in net.i2p.i2ptunnelModifier and TypeClassDescriptionprivate classThread running one ping session.classHTTP client runner that filters response headers to enforce the "Connection: close" header, ensuring browsers treat the connection as non-persistent, even if the server doesn't comply.private classBackground thread to close I2P socket without blocking the main thread.classI2PTunnelOutproxyRunner forwards data bidirectionally between two connected sockets: one representing an external socket connection and the other an I2P socket connection.private classForwards data fromInputStreamto OutputStream.classThread that forwards traffic between an I2PSocket and a TCP Socket.(package private) classListens for in-JVM connections on internal socket.Uses of I2PThread in net.i2p.i2ptunnel.irc
Subclasses of I2PThread in net.i2p.i2ptunnel.ircModifier and TypeClassDescriptionprivate classJust so we can do the callbacks.Uses of I2PThread in net.i2p.jetty
Subclasses of I2PThread in net.i2p.jettyModifier and TypeClassDescriptionprivate classThread starting the server.private classThread stopping the server.Uses of I2PThread in net.i2p.router
Subclasses of I2PThread in net.i2p.routerModifier and TypeClassDescription(package private) classWorker thread that executes jobs from the router job queue.Fields in net.i2p.router declared as I2PThreadModifier and TypeFieldDescriptionprivate I2PThreadRouter._gracefulShutdownDetectorThread watching for a shutdown request.Uses of I2PThread in net.i2p.router.crypto.pqc
Subclasses of I2PThread in net.i2p.router.crypto.pqcUses of I2PThread in net.i2p.router.crypto.ratchet
Subclasses of I2PThread in net.i2p.router.crypto.ratchetModifier and TypeClassDescriptionclassThreaded factory for pre-calculating Elligator2-encoded X25519 key pairs to prevent Diffie-Hellman computation bottlenecks in critical pathsUses of I2PThread in net.i2p.router.peermanager
Subclasses of I2PThread in net.i2p.router.peermanagerUses of I2PThread in net.i2p.router.transport
Subclasses of I2PThread in net.i2p.router.transportModifier and TypeClassDescriptionprivate classThis takes too long to run on the SimpleTimer2 queue.Uses of I2PThread in net.i2p.router.transport.crypto
Subclasses of I2PThread in net.i2p.router.transport.cryptoUses of I2PThread in net.i2p.router.tunnel.pool
Fields in net.i2p.router.tunnel.pool with type parameters of type I2PThreadModifier and TypeFieldDescriptionprivate final CopyOnWriteArrayList<I2PThread> TunnelPoolManager._handlerThreadsThe running handler threads.Uses of I2PThread in net.i2p.router.update
Subclasses of I2PThread in net.i2p.router.updateModifier and TypeClassDescription(package private) classCheck for an updated su3 version.(package private) classEepget the .su3 file to the temp dir, then notify.private static classUse for both check and update.(package private) classTask to fetch updates to the news.xml, and to keep track of whether that has an announcement for a new version.private classDon't clog the scheduler when fetching the news.(package private) classCheck for an updated version of a plugin.(package private) classCheck for an updated version of a plugin.(package private) classDoes a simple EepHead to get the last-modified header.(package private) classEepget the .zip file to the temp dir, then notify.r Moved fromUnsignedUpdateHandlerand turned into an UpdateTask.(package private) classThe downloader for router signed updates, and the base class for all the other Checkers and Runners.Uses of I2PThread in net.i2p.sam.client
Subclasses of I2PThread in net.i2p.sam.clientModifier and TypeClassDescriptionprivate classReceives datagram or raw messages and writes them to files.private classForwards received messages to a local port.private static classSends periodic ping messages on the stream.Uses of I2PThread in net.i2p.util
Subclasses of I2PThread in net.i2p.utilModifier and TypeClassDescriptionprivate static classGzips a rotated log file in the background.classLikeI2PThreadbut with per-thread OOM listeners, rather than a static router-wide listener list, so that an OOM in an app won't call the router listener to shutdown the whole router.private classThread flushing the logs at shutdown.private classExecutes a shell command in its own thread.private static classConsumes stream data.