mirror of
https://github.com/transmission/transmission
synced 2024-12-28 02:27:41 +00:00
Merge pull request #1080 from guidocella/prefetch-magnet
Fetch metadata of stopped magnets
This commit is contained in:
commit
17914bed2c
3 changed files with 13 additions and 3 deletions
|
@ -344,7 +344,7 @@ void tr_torrentSetMetadataPiece(tr_torrent* tor, int piece, void const* data, in
|
|||
tor->incompleteMetadata = NULL;
|
||||
tor->isStopping = true;
|
||||
tor->magnetVerify = true;
|
||||
tor->startAfterVerify = true;
|
||||
tor->startAfterVerify = !tor->prefetchMagnetMetadata;
|
||||
tr_torrentMarkEdited(tor);
|
||||
}
|
||||
else /* drat. */
|
||||
|
|
|
@ -1020,8 +1020,16 @@ static void torrentInit(tr_torrent* tor, tr_ctor const* ctor)
|
|||
|
||||
if (isNewTorrent)
|
||||
{
|
||||
tor->startAfterVerify = doStart;
|
||||
tr_torrentVerify(tor, NULL, NULL);
|
||||
if (!tr_torrentHasMetadata(tor) && !doStart)
|
||||
{
|
||||
tor->prefetchMagnetMetadata = true;
|
||||
tr_torrentStartNow(tor);
|
||||
}
|
||||
else
|
||||
{
|
||||
tor->startAfterVerify = doStart;
|
||||
tr_torrentVerify(tor, NULL, NULL);
|
||||
}
|
||||
}
|
||||
else if (doStart)
|
||||
{
|
||||
|
@ -2025,6 +2033,7 @@ void tr_torrentStop(tr_torrent* tor)
|
|||
|
||||
tor->isRunning = false;
|
||||
tor->isStopping = false;
|
||||
tor->prefetchMagnetMetadata = false;
|
||||
tr_torrentSetDirty(tor);
|
||||
tr_runInEventThread(tor->session, stopTorrent, tor);
|
||||
|
||||
|
|
|
@ -241,6 +241,7 @@ struct tr_torrent
|
|||
bool isDirty;
|
||||
bool isQueued;
|
||||
|
||||
bool prefetchMagnetMetadata;
|
||||
bool magnetVerify;
|
||||
|
||||
bool infoDictOffsetIsCached;
|
||||
|
|
Loading…
Reference in a new issue