Package org.klomp.snark


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.

  • Class
    Description
    Bandwidth and bandwidth limits Maintain three bandwidth estimators: Sent, received, and requested.
    Bandwidth and bandwidth limits Maintain three bandwidth estimators: Sent, received, and requested.
    Container of a byte array representing set and unset bits.
    Connect via I2CP and ask the router the bandwidth limits.
    Simple command line access to various utilities.
    Callback for Snark events.
    Accepts connections on a I2PServerSocket and routes them to PeerAcceptors.
    Callback used when some peer changes state.
    Callback used to fetch data
    REF: BEP 10 Extension Protocol
    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)
    Periodically check for idle condition based on connected peers, and reduce/restore tunnel count as necessary.
    Simple state for the download of the metainfo, shared between Peer and ExtensionHandler.
     
    Used to queue outgoing connections sendMessage() should be used to translate them to wire format.
    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.
    Store the received data either on the heap or in a temp file.
     
    Accepts incomming connections from peers.
    A unique exception so we can tell the ConnectionAcceptor about non-BT connections
    TimerTask that checks for good/bad up/downloader.
     
     
    Coordinates what peer does what.
    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.
    Store the address information about a peer.
    Listener for Peer events.
    Deprecated.
    unused, for command line client only, commented out in Snark.java
     
    This class is used solely by PeerCoordinator.
    Holds all information needed for a partial piece request.
    Callback for end of shutdown sequence.
    Main Snark program startup class.
    A unique exception class to blame the router that can be caught by SnarkManager
    Manage multiple snarks
    Deprecated.
    unused
    Main snark startup class for staticly linking with gcj.
    Maintains pieces on disk.
    Callback used when Storage changes.
    A structure for known trackers
    Informs metainfo tracker of events and gets new peers for peer coordinator.
    The data structure for the tracker response.
    One of these for all trackers and info hashes.
     
    Handles the request to update the router by firing up a magnet.
    The downloader for router signed updates.
    URI Holder.
    BEP 19.