void PieceManager::IncreaseHave(const BitField &remote_bitf) { if(remote_bitf.NBits() != m_bitfield.NBits()) { assert(0); return; } for(size_t i = 0; i < remote_bitf.NBits(); ++i) { if(remote_bitf.IsSet(i)) { IncreaseHave(i); } } }
PieceManager::PieceManager(const BitField &bit_field, const TorrentFile &tf, Storage &storage) :m_bitfield(bit_field) , m_torrent_file(tf) , m_storage(storage) , m_is_endgame(false) { assert(m_storage.IsOpen()); assert(bit_field.NBits() == tf.GetPieceCount()); }
void PieceManager::DecreaseHave(const BitField &remote_bitf) { for(size_t i = 0; i < remote_bitf.NBits(); ++i) { if(remote_bitf.IsSet(i)) { DecreaseHave(i); } } }