forked from premiere/premiere-libtorrent
extend piece_picker unit test and comment out unused function
This commit is contained in:
parent
cb6d3cdd44
commit
5ea0db3145
|
@ -341,7 +341,7 @@ namespace libtorrent
|
||||||
void check_peers();
|
void check_peers();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int get_block_state(piece_block block) const;
|
// int get_block_state(piece_block block) const;
|
||||||
|
|
||||||
// returns true if any client is currently downloading this
|
// returns true if any client is currently downloading this
|
||||||
// piece-block, or if it's queued for downloading by some client
|
// piece-block, or if it's queued for downloading by some client
|
||||||
|
|
|
@ -267,6 +267,7 @@ namespace libtorrent
|
||||||
// blocks that are allocated from the m_block_info array.
|
// blocks that are allocated from the m_block_info array.
|
||||||
m_free_block_infos.push_back(i->info_idx);
|
m_free_block_infos.push_back(i->info_idx);
|
||||||
|
|
||||||
|
TORRENT_ASSERT(find_dl_piece(download_state, i->index) == i);
|
||||||
m_piece_map[i->index].download_state = piece_pos::piece_open;
|
m_piece_map[i->index].download_state = piece_pos::piece_open;
|
||||||
m_downloads[download_state].erase(i);
|
m_downloads[download_state].erase(i);
|
||||||
|
|
||||||
|
@ -1603,7 +1604,6 @@ namespace libtorrent
|
||||||
--m_num_passed;
|
--m_num_passed;
|
||||||
}
|
}
|
||||||
erase_download_piece(i);
|
erase_download_piece(i);
|
||||||
p.download_state = piece_pos::piece_open;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1657,11 +1657,12 @@ namespace libtorrent
|
||||||
|
|
||||||
if (p.have()) return;
|
if (p.have()) return;
|
||||||
|
|
||||||
if (p.download_queue() != piece_pos::piece_open)
|
int state = p.download_queue();
|
||||||
|
if (state != piece_pos::piece_open)
|
||||||
{
|
{
|
||||||
std::vector<downloading_piece>::iterator i
|
std::vector<downloading_piece>::iterator i
|
||||||
= find_dl_piece(p.download_queue(), index);
|
= find_dl_piece(state, index);
|
||||||
TORRENT_ASSERT(i != m_downloads[p.download_queue()].end());
|
TORRENT_ASSERT(i != m_downloads[state].end());
|
||||||
// decrement num_passed here to compensate
|
// decrement num_passed here to compensate
|
||||||
// for the unconditional increment further down
|
// for the unconditional increment further down
|
||||||
if (i->passed_hash_check) --m_num_passed;
|
if (i->passed_hash_check) --m_num_passed;
|
||||||
|
@ -3000,7 +3001,7 @@ get_out:
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
int piece_picker::get_block_state(piece_block block) const
|
int piece_picker::get_block_state(piece_block block) const
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(block.block_index != piece_block::invalid.block_index);
|
TORRENT_ASSERT(block.block_index != piece_block::invalid.block_index);
|
||||||
|
@ -3022,7 +3023,7 @@ get_out:
|
||||||
TORRENT_ASSERT(info[block.block_index].piece_index == block.piece_index);
|
TORRENT_ASSERT(info[block.block_index].piece_index == block.piece_index);
|
||||||
return info[block.block_index].state;
|
return info[block.block_index].state;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
bool piece_picker::is_requested(piece_block block) const
|
bool piece_picker::is_requested(piece_block block) const
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_USE_VALGRIND
|
#ifdef TORRENT_USE_VALGRIND
|
||||||
|
|
|
@ -825,6 +825,37 @@ int test_main()
|
||||||
TEST_EQUAL(p->cursor(), 7);
|
TEST_EQUAL(p->cursor(), 7);
|
||||||
TEST_EQUAL(p->reverse_cursor(), 0);
|
TEST_EQUAL(p->reverse_cursor(), 0);
|
||||||
|
|
||||||
|
// sweep in, set_piece_priority()
|
||||||
|
print_title("test cursors. sweep in, set_piece_priority");
|
||||||
|
p = setup_picker("7654321", " ", "", "");
|
||||||
|
for (int left = 0, right = 6; left <= 3 && right >= 3; ++left, --right)
|
||||||
|
{
|
||||||
|
TEST_EQUAL(p->cursor(), left);
|
||||||
|
TEST_EQUAL(p->reverse_cursor(), right + 1);
|
||||||
|
p->set_piece_priority(left, 0);
|
||||||
|
p->set_piece_priority(right, 0);
|
||||||
|
}
|
||||||
|
TEST_CHECK(p->is_finished());
|
||||||
|
TEST_CHECK(!p->is_seeding());
|
||||||
|
TEST_EQUAL(p->cursor(), 7);
|
||||||
|
TEST_EQUAL(p->reverse_cursor(), 0);
|
||||||
|
|
||||||
|
// sweep in, we_have()
|
||||||
|
print_title("test cursors. sweep in, we_have");
|
||||||
|
p = setup_picker("7654321", " ", "", "");
|
||||||
|
for (int left = 0, right = 6; left <= 3 && right >= 3; ++left, --right)
|
||||||
|
{
|
||||||
|
TEST_EQUAL(p->cursor(), left);
|
||||||
|
TEST_EQUAL(p->reverse_cursor(), right + 1);
|
||||||
|
p->we_have(left);
|
||||||
|
p->we_have(right);
|
||||||
|
}
|
||||||
|
TEST_CHECK(p->is_finished());
|
||||||
|
TEST_CHECK(p->is_seeding());
|
||||||
|
TEST_EQUAL(p->cursor(), 7);
|
||||||
|
TEST_EQUAL(p->reverse_cursor(), 0);
|
||||||
|
|
||||||
|
|
||||||
print_title("test cursors. sweep up, we_dont_have");
|
print_title("test cursors. sweep up, we_dont_have");
|
||||||
p = setup_picker("7654321", "*******", "", "");
|
p = setup_picker("7654321", "*******", "", "");
|
||||||
TEST_CHECK(p->is_finished());
|
TEST_CHECK(p->is_finished());
|
||||||
|
@ -859,6 +890,24 @@ int test_main()
|
||||||
TEST_EQUAL(p->cursor(), 0);
|
TEST_EQUAL(p->cursor(), 0);
|
||||||
TEST_EQUAL(p->reverse_cursor(), 7);
|
TEST_EQUAL(p->reverse_cursor(), 7);
|
||||||
|
|
||||||
|
print_title("test cursors. sweep out, we_dont_have");
|
||||||
|
p = setup_picker("7654321", "*******", "", "");
|
||||||
|
TEST_CHECK(p->is_finished());
|
||||||
|
TEST_CHECK(p->is_seeding());
|
||||||
|
TEST_EQUAL(p->cursor(), 7);
|
||||||
|
TEST_EQUAL(p->reverse_cursor(), 0);
|
||||||
|
for (int left = 3, right = 3; left >= 0 && right < 7; --left, ++right)
|
||||||
|
{
|
||||||
|
p->we_dont_have(left);
|
||||||
|
p->we_dont_have(right);
|
||||||
|
TEST_EQUAL(p->cursor(), left);
|
||||||
|
TEST_EQUAL(p->reverse_cursor(), right + 1);
|
||||||
|
}
|
||||||
|
TEST_CHECK(!p->is_finished());
|
||||||
|
TEST_CHECK(!p->is_seeding());
|
||||||
|
TEST_EQUAL(p->cursor(), 0);
|
||||||
|
TEST_EQUAL(p->reverse_cursor(), 7);
|
||||||
|
|
||||||
// test cursors
|
// test cursors
|
||||||
print_title("test cursors");
|
print_title("test cursors");
|
||||||
p = setup_picker("7654321", " ", "", "");
|
p = setup_picker("7654321", " ", "", "");
|
||||||
|
|
Loading…
Reference in New Issue