forked from premiere/premiere-libtorrent
fix one more issue with end-game mode when some pieces that are no longer selected for download have been downloaded
This commit is contained in:
parent
7332f6b219
commit
1c2b7471cb
|
@ -341,6 +341,9 @@ namespace libtorrent
|
|||
|
||||
int num_have() const { return m_num_have; }
|
||||
|
||||
// the number of pieces we want and don't have
|
||||
int num_want_left() const { return num_pieces() - m_num_have - m_num_filtered; }
|
||||
|
||||
#ifdef TORRENT_DEBUG
|
||||
// used in debug mode
|
||||
void verify_priority(int start, int end, int prio) const;
|
||||
|
|
|
@ -236,15 +236,8 @@ namespace libtorrent
|
|||
// and we're not strictly speaking in end-game mode yet
|
||||
// also, if we already have at least one outstanding
|
||||
// request, we shouldn't pick any busy pieces either
|
||||
|
||||
// the number of pieces we want (i.e. not including the filtered pieces)
|
||||
int num_want = t.torrent_file().num_pieces() - p.num_filtered();
|
||||
// the number of pieces we already have (not counting pieces that are filtered
|
||||
// that we might have still for some reason)
|
||||
int num_have = p.num_have() - p.num_have_filtered();
|
||||
|
||||
bool dont_pick_busy_blocks = (ses.m_settings.strict_end_game_mode
|
||||
&& num_have + p.num_downloading_pieces() < num_want)
|
||||
&& p.num_downloading_pieces() < p.num_want_left())
|
||||
|| dq.size() + rq.size() > 0;
|
||||
|
||||
// this is filled with an interesting piece
|
||||
|
|
Loading…
Reference in New Issue