forked from premiere/premiere-libtorrent
small opt torrent::add_piece
This commit is contained in:
parent
a93429c5db
commit
3f23ef59c6
|
@ -1274,8 +1274,9 @@ namespace libtorrent {
|
||||||
piece_refcount refcount{picker(), piece};
|
piece_refcount refcount{picker(), piece};
|
||||||
for (int i = 0; i < blocks_in_piece; ++i, p.start += block_size())
|
for (int i = 0; i < blocks_in_piece; ++i, p.start += block_size())
|
||||||
{
|
{
|
||||||
if (picker().is_finished(piece_block(piece, i))
|
piece_block const block(piece, i);
|
||||||
&& !(flags & torrent_handle::overwrite_existing))
|
if (!(flags & torrent_handle::overwrite_existing)
|
||||||
|
&& picker().is_finished(block))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
p.length = std::min(piece_size - p.start, int(block_size()));
|
p.length = std::min(piece_size - p.start, int(block_size()));
|
||||||
|
@ -1285,7 +1286,6 @@ namespace libtorrent {
|
||||||
, std::bind(&torrent::on_disk_write_complete
|
, std::bind(&torrent::on_disk_write_complete
|
||||||
, shared_from_this(), _1, p));
|
, shared_from_this(), _1, p));
|
||||||
|
|
||||||
piece_block const block(piece, i);
|
|
||||||
bool const was_finished = picker().is_piece_finished(p.piece);
|
bool const was_finished = picker().is_piece_finished(p.piece);
|
||||||
bool const multi = picker().num_peers(block) > 1;
|
bool const multi = picker().num_peers(block) > 1;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue