| 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 for end of 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.
|
| TrackerClient
Handles communication with BitTorrent trackers and DHT to discover new peers.
|
| 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 for end of 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.
|