Package 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.
-
Interface Summary Interface Description CompleteListener Callback for Snark events.CoordinatorListener Callback used when some peer changes state.DataLoader Callback used to fetch dataPeerListener Listener for Peer events.ShutdownListener Callback for end of shutdown sequence.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.CommandLine Simple command line access to various utilities.ConnectionAcceptor Accepts connections on a I2PServerSocket and routes them to PeerAcceptors.ExtensionHandler REF: BEP 10 Extension ProtocolI2PSnarkUtil 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)IdleChecker Periodically check for idle condition based on connected peers, and reduce/restore tunnel count as necessary.MagnetState Simple state for the download of the metainfo, shared between Peer and ExtensionHandler.MagnetURI Message Used to queue outgoing connections sendMessage() should be used to translate them to wire format.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 Store the received data either on the heap or in a temp file.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 Deprecated. unused, for command line client only, commented out in Snark.javaPeerState 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 snarksSnarkShutdown Deprecated. unusedStaticSnark Main snark startup class for staticly linking with gcj.Storage Maintains pieces on disk.Tracker A structure for known trackersTrackerClient Informs metainfo tracker of events and gets new peers for peer coordinator.TrackerInfo The data structure for the tracker response.UpdateHandler Handles the request to update the router by firing up a magnet.UpdateRunner The downloader for router signed updates.URIUtil URI Holder.WebPeer BEP 19. -
Exception Summary Exception Description PeerAcceptor.ProtocolException A unique exception so we can tell the ConnectionAcceptor about non-BT connectionsSnark.RouterException A unique exception class to blame the router that can be caught by SnarkManager