# Package org.klomp.snark

Interface Summary
Interface | Description
--- | ---
CoordinatorListener | Callback used when some peer changes state.
DataLoader | Callback used to fetch data
PeerListener | Listener for Peer events.
ShutdownListener | Callback for end of shutdown sequence.
Snark.CompleteListener |
StorageListener | Callback used when Storage changes.

Class Summary
Class | Description
--- | ---
BitField | Container of a byte array representing set and unset bits.
BWLimits | Connect via I2CP and ask the router the bandwidth limits.
ConnectionAcceptor | Accepts connections on a TCP port and routes them to sub-acceptors.
ExtensionHandler | REF: BEP 10 Extension Protocol
I2PSnarkUtil | I2P specific helpers for I2PSnark We use this class as a sort of context for i2psnark so we can run multiple instances of single Snarks (but not multiple SnarkManagers, it is still static)
MagnetState | Simple state for the download of the metainfo, shared between Peer and ExtensionHandler.
Message |
MetaInfo | Note: this class is buggy, as it doesn't propogate custom meta fields into the bencoded info data, and from there to the info_hash.
PartialPiece | This is the class passed from PeerCoordinator to PeerState so PeerState may start requests.
Peer |
PeerAcceptor | Accepts incomming connections from peers.
PeerCheckerTask | TimerTask that checks for good/bad up/downloader.
PeerConnectionIn |
PeerConnectionOut |
PeerCoordinator | Coordinates what peer does what.
PeerCoordinatorSet | Hmm, any guesses as to what this is? Used by the multitorrent functionality in the PeerAcceptor to pick the right PeerCoordinator to accept the con for.
PeerID | Store the address information about a peer.
PeerMonitorTask | TimerTask that monitors the peers and total up/download speeds.
PeerState |
Piece | This class is used solely by PeerCoordinator.
Request | Holds all information needed for a partial piece request.
Snark | Main Snark program startup class.
SnarkManager | Manage multiple snarks
SnarkShutdown | Makes sure everything ends correctly when shutting down.
StaticSnark | Main snark startup class for staticly linking with gcj.
Storage | Maintains pieces on disk.
TrackerClient | Informs metainfo tracker of events and gets new peers for peer coordinator.
TrackerInfo | The data structure for the tracker response.