## Uses of Class
org.klomp.snark.BitField

- Packages that use BitField
  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.

- - ### Uses of BitField in org.klomp.snark

    Fields in org.klomp.snark declared as BitField
    Modifier and Type | Field and Description
    --- | ---
    `(package private) BitField` | PeerState.`bitfield` the pieces the peer has.

    Methods in org.klomp.snark that return BitField
    Modifier and Type | Method and Description
    --- | ---
    `BitField` | Storage.`getBitField()` The BitField that tells which pieces this storage contains.
    `BitField` | CompleteListener.`getSavedTorrentBitField(Snark snark)`
    `BitField` | SnarkManager.`getSavedTorrentBitField(Snark snark)` Get the saved bitfield for a torrent from the config file.
    `BitField` | UpdateRunner.`getSavedTorrentBitField(Snark snark)`

    Methods in org.klomp.snark with parameters of type BitField
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | SnarkManager.`addTorrent(MetaInfo metainfo, BitField bitfield, String filename, File baseFile, boolean dontAutoStart)` Add a torrent from a MetaInfo.
    `void` | Storage.`check(long savedTime, BitField savedBitField)` Creates (and/or checks) all files from the metainfo file list.
    `PartialPiece` | PeerListener.`getPartialPiece(Peer peer, BitField havePieces)` Called when a peer has connected and there may be a partially downloaded piece that the coordinatorator can give the peer task
    `PartialPiece` | PeerCoordinator.`getPartialPiece(Peer peer, BitField havePieces)` Return partial piece to the PeerState if it's still wanted and peer has it.
    `boolean` | PeerListener.`gotBitField(Peer peer, BitField bitfield)` Called when a bitmap message is received.
    `boolean` | PeerCoordinator.`gotBitField(Peer peer, BitField bitfield)` Returns true if the given bitfield contains at least one piece we are interested in.
    `boolean` | PeerListener.`needPiece(Peer peer, BitField bitfield)` Called when we are downloading from the peer and may need to ask for a new piece.
    `boolean` | PeerCoordinator.`needPiece(Peer peer, BitField havePieces)` Called when we are downloading from the peer and may need to ask for a new piece.
    `void` | Peer.`runConnection(I2PSnarkUtil util, PeerListener listener, BandwidthListener bwl, BitField bitfield, MagnetState mState, boolean uploadOnly)` Runs the connection to the other peer.
    `void` | WebPeer.`runConnection(I2PSnarkUtil util, PeerListener listener, BandwidthListener bwl, BitField ignore, MagnetState mState, boolean uploadOnly)` Runs the connection to the other peer.
    `(package private) void` | PeerConnectionOut.`sendBitfield(BitField bitfield)`