# Uses of Package
org.klomp.snark

- Packages that use org.klomp.snark
  Package | Description
  --- | ---
  org.klomp.snark |

- Classes in org.klomp.snark used by org.klomp.snark
  Class and Description
  BitField Container of a byte array representing set and unset bits.
  ConnectionAcceptor Accepts connections on a TCP port and routes them to sub-acceptors.
  CoordinatorListener Callback used when some peer changes state.
  DataLoader Callback used to fetch data
  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.
  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.
  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.
  PeerListener Listener for Peer events.
  PeerState
  Request Holds all information needed for a partial piece request.
  ShutdownListener Callback for end of shutdown sequence.
  Snark Main Snark program startup class.
  Snark.CompleteListener
  SnarkManager Manage multiple snarks
  Storage Maintains pieces on disk.
  StorageListener Callback used when Storage changes.
  TrackerClient Informs metainfo tracker of events and gets new peers for peer coordinator.