Пример #1
0
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);
        }
    }
}
Пример #2
0
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());
}
Пример #3
0
void PieceManager::DecreaseHave(const BitField &remote_bitf)
{

    for(size_t i = 0; i < remote_bitf.NBits(); ++i)
    {
        if(remote_bitf.IsSet(i))
        {
            DecreaseHave(i);
        }
    }

}