added torrent_handle::clear_error() to retry a torrent that is in an error state (torrent_status::error is set)

This commit is contained in:
Arvid Norberg 2008-07-12 17:00:52 +00:00
parent 3162a03d0c
commit ff6cbbc6b6
8 changed files with 150 additions and 103 deletions

View File

@ -267,6 +267,7 @@ void bind_torrent_handle()
.def("is_paused", _(&torrent_handle::is_paused))
.def("pause", _(&torrent_handle::pause))
.def("resume", _(&torrent_handle::resume))
.def("clear_error", _(&torrent_handle::clear_error))
.def("is_auto_managed", _(&torrent_handle::is_auto_managed))
.def("auto_managed", _(&torrent_handle::auto_managed))

View File

@ -97,130 +97,131 @@
<li><a class="reference" href="#set-peer-upload-limit-set-peer-download-limit" id="id82" name="id82">set_peer_upload_limit() set_peer_download_limit()</a></li>
<li><a class="reference" href="#id5" id="id83" name="id83">pause() resume() is_paused()</a></li>
<li><a class="reference" href="#force-recheck" id="id84" name="id84">force_recheck()</a></li>
<li><a class="reference" href="#resolve-countries" id="id85" name="id85">resolve_countries()</a></li>
<li><a class="reference" href="#is-seed" id="id86" name="id86">is_seed()</a></li>
<li><a class="reference" href="#is-auto-managed-auto-managed" id="id87" name="id87">is_auto_managed() auto_managed()</a></li>
<li><a class="reference" href="#has-metadata" id="id88" name="id88">has_metadata()</a></li>
<li><a class="reference" href="#set-tracker-login" id="id89" name="id89">set_tracker_login()</a></li>
<li><a class="reference" href="#trackers-replace-trackers" id="id90" name="id90">trackers() replace_trackers()</a></li>
<li><a class="reference" href="#add-url-seed-remove-url-seed-url-seeds" id="id91" name="id91">add_url_seed() remove_url_seed() url_seeds()</a></li>
<li><a class="reference" href="#queue-position-queue-position-up-queue-position-down-queue-position-top-queue-position-bottom" id="id92" name="id92">queue_position() queue_position_up() queue_position_down() queue_position_top() queue_position_bottom()</a></li>
<li><a class="reference" href="#use-interface" id="id93" name="id93">use_interface()</a></li>
<li><a class="reference" href="#info-hash" id="id94" name="id94">info_hash()</a></li>
<li><a class="reference" href="#id6" id="id95" name="id95">set_max_uploads() set_max_connections()</a></li>
<li><a class="reference" href="#save-resume-data" id="id96" name="id96">save_resume_data()</a></li>
<li><a class="reference" href="#id7" id="id97" name="id97">status()</a></li>
<li><a class="reference" href="#get-download-queue" id="id98" name="id98">get_download_queue()</a></li>
<li><a class="reference" href="#get-peer-info" id="id99" name="id99">get_peer_info()</a></li>
<li><a class="reference" href="#get-torrent-info" id="id100" name="id100">get_torrent_info()</a></li>
<li><a class="reference" href="#is-valid" id="id101" name="id101">is_valid()</a></li>
<li><a class="reference" href="#clear-error" id="id85" name="id85">clear_error()</a></li>
<li><a class="reference" href="#resolve-countries" id="id86" name="id86">resolve_countries()</a></li>
<li><a class="reference" href="#is-seed" id="id87" name="id87">is_seed()</a></li>
<li><a class="reference" href="#is-auto-managed-auto-managed" id="id88" name="id88">is_auto_managed() auto_managed()</a></li>
<li><a class="reference" href="#has-metadata" id="id89" name="id89">has_metadata()</a></li>
<li><a class="reference" href="#set-tracker-login" id="id90" name="id90">set_tracker_login()</a></li>
<li><a class="reference" href="#trackers-replace-trackers" id="id91" name="id91">trackers() replace_trackers()</a></li>
<li><a class="reference" href="#add-url-seed-remove-url-seed-url-seeds" id="id92" name="id92">add_url_seed() remove_url_seed() url_seeds()</a></li>
<li><a class="reference" href="#queue-position-queue-position-up-queue-position-down-queue-position-top-queue-position-bottom" id="id93" name="id93">queue_position() queue_position_up() queue_position_down() queue_position_top() queue_position_bottom()</a></li>
<li><a class="reference" href="#use-interface" id="id94" name="id94">use_interface()</a></li>
<li><a class="reference" href="#info-hash" id="id95" name="id95">info_hash()</a></li>
<li><a class="reference" href="#id6" id="id96" name="id96">set_max_uploads() set_max_connections()</a></li>
<li><a class="reference" href="#save-resume-data" id="id97" name="id97">save_resume_data()</a></li>
<li><a class="reference" href="#id7" id="id98" name="id98">status()</a></li>
<li><a class="reference" href="#get-download-queue" id="id99" name="id99">get_download_queue()</a></li>
<li><a class="reference" href="#get-peer-info" id="id100" name="id100">get_peer_info()</a></li>
<li><a class="reference" href="#get-torrent-info" id="id101" name="id101">get_torrent_info()</a></li>
<li><a class="reference" href="#is-valid" id="id102" name="id102">is_valid()</a></li>
</ul>
</li>
<li><a class="reference" href="#torrent-status" id="id102" name="id102">torrent_status</a></li>
<li><a class="reference" href="#peer-info" id="id103" name="id103">peer_info</a></li>
<li><a class="reference" href="#session-settings" id="id104" name="id104">session_settings</a></li>
<li><a class="reference" href="#pe-settings" id="id105" name="id105">pe_settings</a></li>
<li><a class="reference" href="#proxy-settings" id="id106" name="id106">proxy_settings</a></li>
<li><a class="reference" href="#ip-filter" id="id107" name="id107">ip_filter</a><ul>
<li><a class="reference" href="#id10" id="id108" name="id108">ip_filter()</a></li>
<li><a class="reference" href="#add-rule" id="id109" name="id109">add_rule()</a></li>
<li><a class="reference" href="#access" id="id110" name="id110">access()</a></li>
<li><a class="reference" href="#export-filter" id="id111" name="id111">export_filter()</a></li>
<li><a class="reference" href="#torrent-status" id="id103" name="id103">torrent_status</a></li>
<li><a class="reference" href="#peer-info" id="id104" name="id104">peer_info</a></li>
<li><a class="reference" href="#session-settings" id="id105" name="id105">session_settings</a></li>
<li><a class="reference" href="#pe-settings" id="id106" name="id106">pe_settings</a></li>
<li><a class="reference" href="#proxy-settings" id="id107" name="id107">proxy_settings</a></li>
<li><a class="reference" href="#ip-filter" id="id108" name="id108">ip_filter</a><ul>
<li><a class="reference" href="#id10" id="id109" name="id109">ip_filter()</a></li>
<li><a class="reference" href="#add-rule" id="id110" name="id110">add_rule()</a></li>
<li><a class="reference" href="#access" id="id111" name="id111">access()</a></li>
<li><a class="reference" href="#export-filter" id="id112" name="id112">export_filter()</a></li>
</ul>
</li>
<li><a class="reference" href="#big-number" id="id112" name="id112">big_number</a></li>
<li><a class="reference" href="#bitfield" id="id113" name="id113">bitfield</a></li>
<li><a class="reference" href="#hasher" id="id114" name="id114">hasher</a></li>
<li><a class="reference" href="#fingerprint" id="id115" name="id115">fingerprint</a></li>
<li><a class="reference" href="#upnp-and-nat-pmp" id="id116" name="id116">UPnP and NAT-PMP</a><ul>
<li><a class="reference" href="#add-mapping" id="id117" name="id117">add_mapping</a></li>
<li><a class="reference" href="#delete-mapping" id="id118" name="id118">delete_mapping</a></li>
<li><a class="reference" href="#router-model" id="id119" name="id119">router_model()</a></li>
<li><a class="reference" href="#big-number" id="id113" name="id113">big_number</a></li>
<li><a class="reference" href="#bitfield" id="id114" name="id114">bitfield</a></li>
<li><a class="reference" href="#hasher" id="id115" name="id115">hasher</a></li>
<li><a class="reference" href="#fingerprint" id="id116" name="id116">fingerprint</a></li>
<li><a class="reference" href="#upnp-and-nat-pmp" id="id117" name="id117">UPnP and NAT-PMP</a><ul>
<li><a class="reference" href="#add-mapping" id="id118" name="id118">add_mapping</a></li>
<li><a class="reference" href="#delete-mapping" id="id119" name="id119">delete_mapping</a></li>
<li><a class="reference" href="#router-model" id="id120" name="id120">router_model()</a></li>
</ul>
</li>
<li><a class="reference" href="#free-functions" id="id120" name="id120">free functions</a><ul>
<li><a class="reference" href="#identify-client" id="id121" name="id121">identify_client()</a></li>
<li><a class="reference" href="#client-fingerprint" id="id122" name="id122">client_fingerprint()</a></li>
<li><a class="reference" href="#bdecode-bencode" id="id123" name="id123">bdecode() bencode()</a></li>
<li><a class="reference" href="#free-functions" id="id121" name="id121">free functions</a><ul>
<li><a class="reference" href="#identify-client" id="id122" name="id122">identify_client()</a></li>
<li><a class="reference" href="#client-fingerprint" id="id123" name="id123">client_fingerprint()</a></li>
<li><a class="reference" href="#bdecode-bencode" id="id124" name="id124">bdecode() bencode()</a></li>
</ul>
</li>
<li><a class="reference" href="#alerts" id="id124" name="id124">alerts</a><ul>
<li><a class="reference" href="#external-ip-alert" id="id125" name="id125">external_ip_alert</a></li>
<li><a class="reference" href="#listen-failed-alert" id="id126" name="id126">listen_failed_alert</a></li>
<li><a class="reference" href="#portmap-error-alert" id="id127" name="id127">portmap_error_alert</a></li>
<li><a class="reference" href="#portmap-alert" id="id128" name="id128">portmap_alert</a></li>
<li><a class="reference" href="#file-error-alert" id="id129" name="id129">file_error_alert</a></li>
<li><a class="reference" href="#tracker-announce-alert" id="id130" name="id130">tracker_announce_alert</a></li>
<li><a class="reference" href="#tracker-error-alert" id="id131" name="id131">tracker_error_alert</a></li>
<li><a class="reference" href="#tracker-reply-alert" id="id132" name="id132">tracker_reply_alert</a></li>
<li><a class="reference" href="#dht-reply-alert" id="id133" name="id133">dht_reply_alert</a></li>
<li><a class="reference" href="#tracker-warning-alert" id="id134" name="id134">tracker_warning_alert</a></li>
<li><a class="reference" href="#scrape-reply-alert" id="id135" name="id135">scrape_reply_alert</a></li>
<li><a class="reference" href="#scrape-failed-alert" id="id136" name="id136">scrape_failed_alert</a></li>
<li><a class="reference" href="#url-seed-alert" id="id137" name="id137">url_seed_alert</a></li>
<li><a class="reference" href="#hash-failed-alert" id="id138" name="id138">hash_failed_alert</a></li>
<li><a class="reference" href="#peer-ban-alert" id="id139" name="id139">peer_ban_alert</a></li>
<li><a class="reference" href="#peer-error-alert" id="id140" name="id140">peer_error_alert</a></li>
<li><a class="reference" href="#invalid-request-alert" id="id141" name="id141">invalid_request_alert</a></li>
<li><a class="reference" href="#torrent-finished-alert" id="id142" name="id142">torrent_finished_alert</a></li>
<li><a class="reference" href="#metadata-failed-alert" id="id143" name="id143">metadata_failed_alert</a></li>
<li><a class="reference" href="#metadata-received-alert" id="id144" name="id144">metadata_received_alert</a></li>
<li><a class="reference" href="#fastresume-rejected-alert" id="id145" name="id145">fastresume_rejected_alert</a></li>
<li><a class="reference" href="#peer-blocked-alert" id="id146" name="id146">peer_blocked_alert</a></li>
<li><a class="reference" href="#storage-moved-alert" id="id147" name="id147">storage_moved_alert</a></li>
<li><a class="reference" href="#torrent-paused-alert" id="id148" name="id148">torrent_paused_alert</a></li>
<li><a class="reference" href="#torrent-resumed-alert" id="id149" name="id149">torrent_resumed_alert</a></li>
<li><a class="reference" href="#save-resume-data-alert" id="id150" name="id150">save_resume_data_alert</a></li>
<li><a class="reference" href="#save-resume-data-failed-alert" id="id151" name="id151">save_resume_data_failed_alert</a></li>
<li><a class="reference" href="#dispatcher" id="id152" name="id152">dispatcher</a></li>
<li><a class="reference" href="#alerts" id="id125" name="id125">alerts</a><ul>
<li><a class="reference" href="#external-ip-alert" id="id126" name="id126">external_ip_alert</a></li>
<li><a class="reference" href="#listen-failed-alert" id="id127" name="id127">listen_failed_alert</a></li>
<li><a class="reference" href="#portmap-error-alert" id="id128" name="id128">portmap_error_alert</a></li>
<li><a class="reference" href="#portmap-alert" id="id129" name="id129">portmap_alert</a></li>
<li><a class="reference" href="#file-error-alert" id="id130" name="id130">file_error_alert</a></li>
<li><a class="reference" href="#tracker-announce-alert" id="id131" name="id131">tracker_announce_alert</a></li>
<li><a class="reference" href="#tracker-error-alert" id="id132" name="id132">tracker_error_alert</a></li>
<li><a class="reference" href="#tracker-reply-alert" id="id133" name="id133">tracker_reply_alert</a></li>
<li><a class="reference" href="#dht-reply-alert" id="id134" name="id134">dht_reply_alert</a></li>
<li><a class="reference" href="#tracker-warning-alert" id="id135" name="id135">tracker_warning_alert</a></li>
<li><a class="reference" href="#scrape-reply-alert" id="id136" name="id136">scrape_reply_alert</a></li>
<li><a class="reference" href="#scrape-failed-alert" id="id137" name="id137">scrape_failed_alert</a></li>
<li><a class="reference" href="#url-seed-alert" id="id138" name="id138">url_seed_alert</a></li>
<li><a class="reference" href="#hash-failed-alert" id="id139" name="id139">hash_failed_alert</a></li>
<li><a class="reference" href="#peer-ban-alert" id="id140" name="id140">peer_ban_alert</a></li>
<li><a class="reference" href="#peer-error-alert" id="id141" name="id141">peer_error_alert</a></li>
<li><a class="reference" href="#invalid-request-alert" id="id142" name="id142">invalid_request_alert</a></li>
<li><a class="reference" href="#torrent-finished-alert" id="id143" name="id143">torrent_finished_alert</a></li>
<li><a class="reference" href="#metadata-failed-alert" id="id144" name="id144">metadata_failed_alert</a></li>
<li><a class="reference" href="#metadata-received-alert" id="id145" name="id145">metadata_received_alert</a></li>
<li><a class="reference" href="#fastresume-rejected-alert" id="id146" name="id146">fastresume_rejected_alert</a></li>
<li><a class="reference" href="#peer-blocked-alert" id="id147" name="id147">peer_blocked_alert</a></li>
<li><a class="reference" href="#storage-moved-alert" id="id148" name="id148">storage_moved_alert</a></li>
<li><a class="reference" href="#torrent-paused-alert" id="id149" name="id149">torrent_paused_alert</a></li>
<li><a class="reference" href="#torrent-resumed-alert" id="id150" name="id150">torrent_resumed_alert</a></li>
<li><a class="reference" href="#save-resume-data-alert" id="id151" name="id151">save_resume_data_alert</a></li>
<li><a class="reference" href="#save-resume-data-failed-alert" id="id152" name="id152">save_resume_data_failed_alert</a></li>
<li><a class="reference" href="#dispatcher" id="id153" name="id153">dispatcher</a></li>
</ul>
</li>
<li><a class="reference" href="#exceptions" id="id153" name="id153">exceptions</a><ul>
<li><a class="reference" href="#invalid-handle" id="id154" name="id154">invalid_handle</a></li>
<li><a class="reference" href="#duplicate-torrent" id="id155" name="id155">duplicate_torrent</a></li>
<li><a class="reference" href="#invalid-encoding" id="id156" name="id156">invalid_encoding</a></li>
<li><a class="reference" href="#type-error" id="id157" name="id157">type_error</a></li>
<li><a class="reference" href="#invalid-torrent-file" id="id158" name="id158">invalid_torrent_file</a></li>
<li><a class="reference" href="#exceptions" id="id154" name="id154">exceptions</a><ul>
<li><a class="reference" href="#invalid-handle" id="id155" name="id155">invalid_handle</a></li>
<li><a class="reference" href="#duplicate-torrent" id="id156" name="id156">duplicate_torrent</a></li>
<li><a class="reference" href="#invalid-encoding" id="id157" name="id157">invalid_encoding</a></li>
<li><a class="reference" href="#type-error" id="id158" name="id158">type_error</a></li>
<li><a class="reference" href="#invalid-torrent-file" id="id159" name="id159">invalid_torrent_file</a></li>
</ul>
</li>
<li><a class="reference" href="#storage-interface" id="id159" name="id159">storage_interface</a><ul>
<li><a class="reference" href="#initialize" id="id160" name="id160">initialize()</a></li>
<li><a class="reference" href="#read" id="id161" name="id161">read()</a></li>
<li><a class="reference" href="#write" id="id162" name="id162">write()</a></li>
<li><a class="reference" href="#id12" id="id163" name="id163">move_storage()</a></li>
<li><a class="reference" href="#verify-resume-data" id="id164" name="id164">verify_resume_data()</a></li>
<li><a class="reference" href="#write-resume-data" id="id165" name="id165">write_resume_data()</a></li>
<li><a class="reference" href="#move-slot" id="id166" name="id166">move_slot()</a></li>
<li><a class="reference" href="#swap-slots" id="id167" name="id167">swap_slots()</a></li>
<li><a class="reference" href="#swap-slots3" id="id168" name="id168">swap_slots3()</a></li>
<li><a class="reference" href="#hash-for-slot" id="id169" name="id169">hash_for_slot()</a></li>
<li><a class="reference" href="#release-files" id="id170" name="id170">release_files()</a></li>
<li><a class="reference" href="#delete-files" id="id171" name="id171">delete_files()</a></li>
<li><a class="reference" href="#storage-interface" id="id160" name="id160">storage_interface</a><ul>
<li><a class="reference" href="#initialize" id="id161" name="id161">initialize()</a></li>
<li><a class="reference" href="#read" id="id162" name="id162">read()</a></li>
<li><a class="reference" href="#write" id="id163" name="id163">write()</a></li>
<li><a class="reference" href="#id12" id="id164" name="id164">move_storage()</a></li>
<li><a class="reference" href="#verify-resume-data" id="id165" name="id165">verify_resume_data()</a></li>
<li><a class="reference" href="#write-resume-data" id="id166" name="id166">write_resume_data()</a></li>
<li><a class="reference" href="#move-slot" id="id167" name="id167">move_slot()</a></li>
<li><a class="reference" href="#swap-slots" id="id168" name="id168">swap_slots()</a></li>
<li><a class="reference" href="#swap-slots3" id="id169" name="id169">swap_slots3()</a></li>
<li><a class="reference" href="#hash-for-slot" id="id170" name="id170">hash_for_slot()</a></li>
<li><a class="reference" href="#release-files" id="id171" name="id171">release_files()</a></li>
<li><a class="reference" href="#delete-files" id="id172" name="id172">delete_files()</a></li>
</ul>
</li>
<li><a class="reference" href="#queuing" id="id172" name="id172">queuing</a><ul>
<li><a class="reference" href="#downloading" id="id173" name="id173">downloading</a></li>
<li><a class="reference" href="#seeding" id="id174" name="id174">seeding</a></li>
<li><a class="reference" href="#queuing" id="id173" name="id173">queuing</a><ul>
<li><a class="reference" href="#downloading" id="id174" name="id174">downloading</a></li>
<li><a class="reference" href="#seeding" id="id175" name="id175">seeding</a></li>
</ul>
</li>
<li><a class="reference" href="#fast-resume" id="id175" name="id175">fast resume</a><ul>
<li><a class="reference" href="#file-format" id="id176" name="id176">file format</a></li>
<li><a class="reference" href="#fast-resume" id="id176" name="id176">fast resume</a><ul>
<li><a class="reference" href="#file-format" id="id177" name="id177">file format</a></li>
</ul>
</li>
<li><a class="reference" href="#threads" id="id177" name="id177">threads</a></li>
<li><a class="reference" href="#storage-allocation" id="id178" name="id178">storage allocation</a><ul>
<li><a class="reference" href="#sparse-allocation" id="id179" name="id179">sparse allocation</a></li>
<li><a class="reference" href="#full-allocation" id="id180" name="id180">full allocation</a></li>
<li><a class="reference" href="#compact-allocation" id="id181" name="id181">compact allocation</a></li>
<li><a class="reference" href="#threads" id="id178" name="id178">threads</a></li>
<li><a class="reference" href="#storage-allocation" id="id179" name="id179">storage allocation</a><ul>
<li><a class="reference" href="#sparse-allocation" id="id180" name="id180">sparse allocation</a></li>
<li><a class="reference" href="#full-allocation" id="id181" name="id181">full allocation</a></li>
<li><a class="reference" href="#compact-allocation" id="id182" name="id182">compact allocation</a></li>
</ul>
</li>
<li><a class="reference" href="#extensions" id="id182" name="id182">extensions</a><ul>
<li><a class="reference" href="#metadata-from-peers" id="id183" name="id183">metadata from peers</a></li>
<li><a class="reference" href="#http-seeding" id="id184" name="id184">HTTP seeding</a></li>
<li><a class="reference" href="#extensions" id="id183" name="id183">extensions</a><ul>
<li><a class="reference" href="#metadata-from-peers" id="id184" name="id184">metadata from peers</a></li>
<li><a class="reference" href="#http-seeding" id="id185" name="id185">HTTP seeding</a></li>
</ul>
</li>
<li><a class="reference" href="#filename-checks" id="id185" name="id185">filename checks</a></li>
<li><a class="reference" href="#acknowledgments" id="id186" name="id186">acknowledgments</a></li>
<li><a class="reference" href="#filename-checks" id="id186" name="id186">filename checks</a></li>
<li><a class="reference" href="#acknowledgments" id="id187" name="id187">acknowledgments</a></li>
</ul>
</div>
<div class="section">
@ -1650,6 +1651,7 @@ struct torrent_handle
bool is_paused() const;
bool is_seed() const;
void force_recheck() const;
void clear_error() const;
void resolve_countries(bool r);
bool resolve_countries() const;
@ -1911,6 +1913,16 @@ compared to the piece hashes). Once the check is complete, the torrent will star
to peers again, as normal.</p>
</div>
<div class="section">
<h2><a id="clear-error" name="clear-error">clear_error()</a></h2>
<blockquote>
<pre class="literal-block">
void clear_error() const;
</pre>
</blockquote>
<p>If the torrent is in an error state (i.e. <tt class="docutils literal"><span class="pre">torrent_status::error</span></tt> is non-empty), this
will clear the error and start the torrent again.</p>
</div>
<div class="section">
<h2><a id="resolve-countries" name="resolve-countries">resolve_countries()</a></h2>
<blockquote>
<pre class="literal-block">

View File

@ -1567,6 +1567,7 @@ Its declaration looks like this::
bool is_paused() const;
bool is_seed() const;
void force_recheck() const;
void clear_error() const;
void resolve_countries(bool r);
bool resolve_countries() const;
@ -1841,6 +1842,15 @@ will be added to the checking queue, and will be checked (all the files will be
compared to the piece hashes). Once the check is complete, the torrent will start connecting
to peers again, as normal.
clear_error()
-------------
::
void clear_error() const;
If the torrent is in an error state (i.e. ``torrent_status::error`` is non-empty), this
will clear the error and start the torrent again.
resolve_countries()
-------------------

View File

@ -1156,6 +1156,12 @@ int main(int ac, char* av[])
}
}
if (c == 'c')
{
torrent_handle h = get_active_torrent(handles);
if (h.is_valid()) h.clear_error();
}
// toggle displays
if (c == 'i') print_peers = !print_peers;
if (c == 'l') print_log = !print_log;
@ -1205,7 +1211,7 @@ int main(int ac, char* av[])
std::stringstream out;
out << "[q] quit [i] toggle peers [d] toggle downloading pieces [p] toggle paused "
"[a] toggle piece bar [s] toggle download sequential [f] toggle files "
"[j] force recheck [space] toggle session pause\n"
"[j] force recheck [space] toggle session pause [c] clear error\n"
"[1] toggle IP [2] toggle AS [3] toggle timers [4] toggle block progress "
"[5] toggle peer rate [6] toggle failures [7] toggle send buffers\n";

View File

@ -172,6 +172,8 @@ namespace libtorrent
torrent_status::state_t state() const { return m_state; }
void set_state(torrent_status::state_t s);
void clear_error();
session_settings const& settings() const;
aux::session_impl& session() { return m_ses; }

View File

@ -325,6 +325,8 @@ namespace libtorrent
void file_progress(std::vector<float>& progress) const TORRENT_DEPRECATED;
void file_progress(std::vector<size_type>& progress) const;
void clear_error() const;
std::vector<announce_entry> const& trackers() const;
void replace_trackers(std::vector<announce_entry> const&) const;

View File

@ -3604,6 +3604,14 @@ namespace libtorrent
}
}
void torrent::clear_error()
{
if (m_error.empty()) return;
if (m_ses.m_auto_manage_time_scaler > 2)
m_ses.m_auto_manage_time_scaler = 2;
m_error.clear();
}
void torrent::auto_managed(bool a)
{
INVARIANT_CHECK;

View File

@ -319,6 +319,12 @@ namespace libtorrent
TORRENT_FORWARD(set_queue_position((std::numeric_limits<int>::max)()));
}
void torrent_handle::clear_error() const
{
INVARIANT_CHECK;
TORRENT_FORWARD(clear_error());
}
void torrent_handle::set_tracker_login(std::string const& name
, std::string const& password) const
{