forked from premiere/premiere-libtorrent
clean up in piece picker
This commit is contained in:
parent
f5c3c6addc
commit
387498e54f
|
@ -1 +1 @@
|
||||||
Subproject commit 0151d5c17fa3f4cf0ce518d0b8f90a23792c9b24
|
Subproject commit 66356b0ce99cd126c7c99df50609b3050ba44e5d
|
|
@ -1893,21 +1893,15 @@ namespace libtorrent
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
int append_blocks(std::vector<piece_block>& dst, std::vector<piece_block>& src
|
int append_blocks(std::vector<piece_block>& dst, std::vector<piece_block>& src
|
||||||
, int num_blocks)
|
, int const num_blocks)
|
||||||
{
|
{
|
||||||
if (src.empty()) return num_blocks;
|
if (src.empty()) return num_blocks;
|
||||||
int to_copy;
|
int const to_copy = (std::min)(int(src.size()), num_blocks);
|
||||||
// if (prefer_contiguous_blocks == 0)
|
|
||||||
to_copy = (std::min)(int(src.size()), num_blocks);
|
|
||||||
// else
|
|
||||||
// to_copy = int(src.size());
|
|
||||||
|
|
||||||
dst.insert(dst.end()
|
dst.insert(dst.end(), src.begin(), src.begin() + to_copy);
|
||||||
, src.begin(), src.begin() + to_copy);
|
src.erase(src.begin(), src.begin() + to_copy);
|
||||||
src.clear();
|
|
||||||
return num_blocks - to_copy;
|
return num_blocks - to_copy;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// lower availability comes first. This is a less-than comparison, it returns
|
// lower availability comes first. This is a less-than comparison, it returns
|
||||||
|
@ -2338,8 +2332,7 @@ get_out:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ret |= picker_log_alert::backup1;
|
ret |= picker_log_alert::backup1;
|
||||||
num_blocks = append_blocks(interesting_blocks, backup_blocks
|
num_blocks = append_blocks(interesting_blocks, backup_blocks, num_blocks);
|
||||||
, num_blocks);
|
|
||||||
if (num_blocks <= 0) return ret;
|
if (num_blocks <= 0) return ret;
|
||||||
|
|
||||||
ret |= picker_log_alert::backup2;
|
ret |= picker_log_alert::backup2;
|
||||||
|
|
Loading…
Reference in New Issue