| Package | Description |
|---|---|
| org.klomp.snark | I2P version of the snark bittorrent client, imported in 2005 and heavily enhanced to add a web UI, DHT support, and other features. |
| org.klomp.snark.web | The I2PSnark web user interface package, providing a complete web-based torrent management system
implemented as a webapp in i2psnark.war. |
| Class and Description |
|---|
| BandwidthListener Bandwidth and bandwidth limits |
| BitField Container of a byte array representing set and unset bits for torrent piece availability. |
| CompleteListener Callback for Snark events. |
| ConnectionAcceptor Accepts incoming I2P connections and routes them to the appropriate PeerAcceptor. |
| CoordinatorListener Callback interface for monitoring PeerCoordinator state changes. |
| DataLoader Callback used to fetch data |
| I2PSnarkUtil I2P-specific utilities and context management for I2PSnark. |
| MagnetState Simple state for the download of the metainfo, shared between Peer and ExtensionHandler. |
| MetaInfo Holds all information extracted from a torrent file. |
| PartialPiece Represents a piece of a torrent being downloaded, storing partial data either on the heap or in a
temporary file if the piece is large. |
| Peer Represents a peer in the BitTorrent network, managing all public information and communication
with that peer. |
| PeerAcceptor Accepts incomming connections from peers. |
| PeerConnectionIn Handles incoming BitTorrent protocol messages from a peer. This class runs in a separate thread to continuously read and parse incoming messages, delegating them to the appropriate PeerState handlers. |
| PeerConnectionOut Manages outgoing BitTorrent protocol messages to a peer. This class maintains a queue of outgoing messages and handles bandwidth limiting, message prioritization, and reliable delivery to the peer. |
| PeerCoordinator Coordinates peer activities for a single torrent including upload/download management,
peer selection, piece distribution, and bandwidth allocation. |
| PeerCoordinatorSet Thread-safe collection for managing PeerCoordinator instances across multiple torrents. |
| PeerID Store the address information about a peer. |
| PeerListener Listener for Peer events. |
| PeerState Manages the state and protocol logic for a BitTorrent peer connection. This class tracks peer interest/choking status, piece availability, request queues, and handles all BitTorrent protocol message processing. |
| Piece Represents a torrent piece and tracks which peers have it and are requesting it. |
| Request Holds all information needed for a partial piece request. |
| ShutdownListener Callback interface for the end of the shutdown sequence. |
| Snark Main Snark program startup class. |
| SnarkManager Central manager for multiple torrent downloads and the I2PSnark application. |
| Storage Storage manages torrent data files on disk for I2PSnark. |
| StorageListener Callback interface for monitoring Storage state changes and progress. |
| TorrentCreateFilter A structure for torrent creation filters |
| Tracker Represents a known BitTorrent tracker with its configuration and capabilities. |
| UDPTrackerClient One of these for all trackers and info hashes. |
| UDPTrackerClient.TrackerResponse Represents a response from a UDP tracker. This class encapsulates the tracker's response including peer lists, interval information, and any error messages. |
| Class and Description |
|---|
| CoordinatorListener Callback interface for monitoring PeerCoordinator state changes. |
| ShutdownListener Callback interface for the end of the shutdown sequence. |
| Snark Main Snark program startup class. |
| SnarkManager Central manager for multiple torrent downloads and the I2PSnark application. |
| Storage Storage manages torrent data files on disk for I2PSnark. |
| StorageListener Callback interface for monitoring Storage state changes and progress. |