Ticket #4649: reverify4649.patch

File reverify4649.patch, 4.0 KB (added by cfpp2p, 9 years ago)
  • quark.c

     
    277277  { "rename-partial-files", 20 },
    278278  { "reqq", 4 },
    279279  { "result", 6 },
     280  { "reverify-torrents-tries", 23 },
    280281  { "rpc-authentication-required", 27 },
    281282  { "rpc-bind-address", 16 },
    282283  { "rpc-enabled", 11 },
  • session.c

     
    351351  tr_variantDictAddReal (d, TR_KEY_ratio_limit,                     2.0);
    352352  tr_variantDictAddBool (d, TR_KEY_ratio_limit_enabled,             false);
    353353  tr_variantDictAddBool (d, TR_KEY_rename_partial_files,            true);
     354  tr_variantDictAddInt  (d, TR_KEY_reverify_torrents,               0);
    354355  tr_variantDictAddBool (d, TR_KEY_rpc_authentication_required,     false);
    355356  tr_variantDictAddStr  (d, TR_KEY_rpc_bind_address,                "0.0.0.0");
    356357  tr_variantDictAddBool (d, TR_KEY_rpc_enabled,                     false);
     
    423424  tr_variantDictAddReal (d, TR_KEY_ratio_limit,                  s->desiredRatio);
    424425  tr_variantDictAddBool (d, TR_KEY_ratio_limit_enabled,          s->isRatioLimited);
    425426  tr_variantDictAddBool (d, TR_KEY_rename_partial_files,         tr_sessionIsIncompleteFileNamingEnabled (s));
     427  tr_variantDictAddInt  (d, TR_KEY_reverify_torrents,            s->reverifyTorrents);
    426428  tr_variantDictAddBool (d, TR_KEY_rpc_authentication_required,  tr_sessionIsRPCPasswordEnabled (s));
    427429  tr_variantDictAddStr  (d, TR_KEY_rpc_bind_address,             tr_sessionGetRPCBindAddress (s));
    428430  tr_variantDictAddBool (d, TR_KEY_rpc_enabled,                  tr_sessionIsRPCEnabled (s));
     
    812814    tr_sessionSetDeleteSource (session, boolVal);
    813815  if (tr_variantDictFindInt (settings, TR_KEY_peer_id_ttl_hours, &i))
    814816    session->peer_id_ttl_hours = i;
     817  if(tr_variantDictFindInt (settings, TR_KEY_reverify_torrents, &i))
     818    session->reverifyTorrents = ( i > 0 ) ? i : 0 ;
    815819
    816820  /* torrent queues */
    817821  if (tr_variantDictFindInt (settings, TR_KEY_queue_stalled_minutes, &i))
  • session.h

     
    120120
    121121    uint8_t                      peer_id_ttl_hours;
    122122
     123    int                          reverifyTorrents;
     124
    123125    tr_variant                   removedTorrents;
    124126
    125127    bool                         stalledEnabled;
  • torrent.c

     
    869869  tor->uniqueId = nextUniqueId++;
    870870  tor->magicNumber = TORRENT_MAGIC_NUMBER;
    871871  tor->queuePosition = session->torrentCount;
     872  tor->reverifyTorrent = tor->session->reverifyTorrents;
    872873
    873874  tr_sha1 (tor->obfuscatedHash, "req2", 4,
    874875           tor->info.hash, SHA_DIGEST_LENGTH,
     
    21842185              tr_torrentCheckSeedLimit (tor);
    21852186            }
    21862187
     2188          if( tor->session->reverifyTorrents )
     2189          {
     2190              if( tor->reverifyTorrent-- )
     2191                  tr_torrentVerify (tor, NULL, NULL);
     2192              else
     2193              {
     2194                  tr_torrentSetLocalError (tor, "%s", _("Reverify count exceeded - pausing torrent -- resetting retries"));
     2195                  tor->reverifyTorrent = tor->session->reverifyTorrents;  /* reset reverify tries */
     2196              }
     2197          }
     2198
    21872199          if (tr_sessionIsTorrentDoneScriptEnabled (tor->session))
    21882200            torrentCallScript (tor, tr_sessionGetTorrentDoneScript (tor->session));
    21892201        }
  • torrent.h

     
    263263
    264264    int                        uniqueId;
    265265
     266    int                        reverifyTorrent;
     267
    266268    struct tr_bandwidth        bandwidth;
    267269
    268270    struct tr_swarm          * swarm;