regenerated html

This commit is contained in:
Arvid Norberg 2011-03-13 18:18:41 +00:00
parent c0253d9977
commit e7d86a7402
2 changed files with 269 additions and 169 deletions

View File

@ -452,6 +452,29 @@ upload and download rate.</li>
</ul> </ul>
</td> </td>
</tr> </tr>
<tr><td><tt class="docutils literal"><span class="pre">iconv</span></tt></td>
<td><ul class="first last simple">
<li><tt class="docutils literal"><span class="pre">auto</span></tt> - use iconv for string conversions for
linux and mingw and other posix platforms.</li>
<li><tt class="docutils literal"><span class="pre">on</span></tt> - force use of iconv</li>
<li><tt class="docutils literal"><span class="pre">off</span></tt> - force not using iconv (disables locale
awareness except on windows).</li>
</ul>
</td>
</tr>
<tr><td><tt class="docutils literal"><span class="pre">asserts</span></tt></td>
<td><ul class="first last simple">
<li><tt class="docutils literal"><span class="pre">off</span></tt> - disable all asserts</li>
<li><tt class="docutils literal"><span class="pre">peoduction</span></tt> - enable asserts in release
builds, but don't abort, just log them to
<tt class="docutils literal"><span class="pre">extern</span> <span class="pre">char</span> <span class="pre">const*</span> <span class="pre">libtorrent_assert_log</span></tt>.</li>
<li><tt class="docutils literal"><span class="pre">on</span></tt> - enable asserts in debug builds (this is
the default). On GNU systems, print a stack
trace of the assert and some more information.</li>
<li><tt class="docutils literal"><span class="pre">system</span></tt> use the libc assert macro</li>
</ul>
</td>
</tr>
</tbody> </tbody>
</table> </table>
<p>The <tt class="docutils literal"><span class="pre">variant</span></tt> feature is <em>implicit</em>, which means you don't need to specify <p>The <tt class="docutils literal"><span class="pre">variant</span></tt> feature is <em>implicit</em>, which means you don't need to specify
@ -720,6 +743,17 @@ or for running before releases.</td>
<td>This will exclude all deprecated functions from <td>This will exclude all deprecated functions from
the header files and cpp files.</td> the header files and cpp files.</td>
</tr> </tr>
<tr><td><tt class="docutils literal"><span class="pre">TORRENT_PRODUCTION_ASSERTS</span></tt></td>
<td>Define to either 0 or 1. Enables assert logging
in release builds.</td>
</tr>
<tr><td><tt class="docutils literal"><span class="pre">TORRENT_NO_ASSERTS</span></tt></td>
<td>Disables all asserts.</td>
</tr>
<tr><td><tt class="docutils literal"><span class="pre">TORRENT_USE_SYSTEM_ASSERTS</span></tt></td>
<td>Uses the libc assert macro rather then the
custom one.</td>
</tr>
</tbody> </tbody>
</table> </table>
<p>If you experience that libtorrent uses unreasonable amounts of cpu, it will <p>If you experience that libtorrent uses unreasonable amounts of cpu, it will

View File

@ -147,183 +147,184 @@
<li><a class="reference internal" href="#clear-error" id="id95">clear_error()</a></li> <li><a class="reference internal" href="#clear-error" id="id95">clear_error()</a></li>
<li><a class="reference internal" href="#set-upload-mode" id="id96">set_upload_mode()</a></li> <li><a class="reference internal" href="#set-upload-mode" id="id96">set_upload_mode()</a></li>
<li><a class="reference internal" href="#set-share-mode" id="id97">set_share_mode()</a></li> <li><a class="reference internal" href="#set-share-mode" id="id97">set_share_mode()</a></li>
<li><a class="reference internal" href="#resolve-countries" id="id98">resolve_countries()</a></li> <li><a class="reference internal" href="#apply-ip-filter" id="id98">apply_ip_filter()</a></li>
<li><a class="reference internal" href="#is-seed" id="id99">is_seed()</a></li> <li><a class="reference internal" href="#resolve-countries" id="id99">resolve_countries()</a></li>
<li><a class="reference internal" href="#auto-managed" id="id100">auto_managed()</a></li> <li><a class="reference internal" href="#is-seed" id="id100">is_seed()</a></li>
<li><a class="reference internal" href="#set-metadata" id="id101">set_metadata()</a></li> <li><a class="reference internal" href="#auto-managed" id="id101">auto_managed()</a></li>
<li><a class="reference internal" href="#set-tracker-login" id="id102">set_tracker_login()</a></li> <li><a class="reference internal" href="#set-metadata" id="id102">set_metadata()</a></li>
<li><a class="reference internal" href="#trackers-replace-trackers-add-tracker" id="id103">trackers() replace_trackers() add_tracker()</a></li> <li><a class="reference internal" href="#set-tracker-login" id="id103">set_tracker_login()</a></li>
<li><a class="reference internal" href="#add-url-seed-remove-url-seed-url-seeds" id="id104">add_url_seed() remove_url_seed() url_seeds()</a></li> <li><a class="reference internal" href="#trackers-replace-trackers-add-tracker" id="id104">trackers() replace_trackers() add_tracker()</a></li>
<li><a class="reference internal" href="#add-http-seed-remove-http-seed-http-seeds" id="id105">add_http_seed() remove_http_seed() http_seeds()</a></li> <li><a class="reference internal" href="#add-url-seed-remove-url-seed-url-seeds" id="id105">add_url_seed() remove_url_seed() url_seeds()</a></li>
<li><a class="reference internal" href="#queue-position-queue-position-up-queue-position-down-queue-position-top-queue-position-bottom" id="id106">queue_position() queue_position_up() queue_position_down() queue_position_top() queue_position_bottom()</a></li> <li><a class="reference internal" href="#add-http-seed-remove-http-seed-http-seeds" id="id106">add_http_seed() remove_http_seed() http_seeds()</a></li>
<li><a class="reference internal" href="#set-priority" id="id107">set_priority()</a></li> <li><a class="reference internal" href="#queue-position-queue-position-up-queue-position-down-queue-position-top-queue-position-bottom" id="id107">queue_position() queue_position_up() queue_position_down() queue_position_top() queue_position_bottom()</a></li>
<li><a class="reference internal" href="#use-interface" id="id108">use_interface()</a></li> <li><a class="reference internal" href="#set-priority" id="id108">set_priority()</a></li>
<li><a class="reference internal" href="#info-hash" id="id109">info_hash()</a></li> <li><a class="reference internal" href="#use-interface" id="id109">use_interface()</a></li>
<li><a class="reference internal" href="#set-max-uploads-max-uploads" id="id110">set_max_uploads() max_uploads()</a></li> <li><a class="reference internal" href="#info-hash" id="id110">info_hash()</a></li>
<li><a class="reference internal" href="#set-max-connections-max-connections" id="id111">set_max_connections() max_connections()</a></li> <li><a class="reference internal" href="#set-max-uploads-max-uploads" id="id111">set_max_uploads() max_uploads()</a></li>
<li><a class="reference internal" href="#save-resume-data" id="id112">save_resume_data()</a></li> <li><a class="reference internal" href="#set-max-connections-max-connections" id="id112">set_max_connections() max_connections()</a></li>
<li><a class="reference internal" href="#need-save-resume-data" id="id113">need_save_resume_data()</a></li> <li><a class="reference internal" href="#save-resume-data" id="id113">save_resume_data()</a></li>
<li><a class="reference internal" href="#id5" id="id114">status()</a></li> <li><a class="reference internal" href="#need-save-resume-data" id="id114">need_save_resume_data()</a></li>
<li><a class="reference internal" href="#get-download-queue" id="id115">get_download_queue()</a></li> <li><a class="reference internal" href="#id5" id="id115">status()</a></li>
<li><a class="reference internal" href="#get-peer-info" id="id116">get_peer_info()</a></li> <li><a class="reference internal" href="#get-download-queue" id="id116">get_download_queue()</a></li>
<li><a class="reference internal" href="#get-torrent-info" id="id117">get_torrent_info()</a></li> <li><a class="reference internal" href="#get-peer-info" id="id117">get_peer_info()</a></li>
<li><a class="reference internal" href="#is-valid" id="id118">is_valid()</a></li> <li><a class="reference internal" href="#get-torrent-info" id="id118">get_torrent_info()</a></li>
<li><a class="reference internal" href="#is-valid" id="id119">is_valid()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#torrent-status" id="id119">torrent_status</a></li> <li><a class="reference internal" href="#torrent-status" id="id120">torrent_status</a></li>
<li><a class="reference internal" href="#peer-info" id="id120">peer_info</a></li> <li><a class="reference internal" href="#peer-info" id="id121">peer_info</a></li>
<li><a class="reference internal" href="#feed-handle" id="id121">feed_handle</a><ul> <li><a class="reference internal" href="#feed-handle" id="id122">feed_handle</a><ul>
<li><a class="reference internal" href="#update-feed" id="id122">update_feed()</a></li> <li><a class="reference internal" href="#update-feed" id="id123">update_feed()</a></li>
<li><a class="reference internal" href="#get-feed-status" id="id123">get_feed_status()</a></li> <li><a class="reference internal" href="#get-feed-status" id="id124">get_feed_status()</a></li>
<li><a class="reference internal" href="#set-settings-settings" id="id124">set_settings() settings()</a></li> <li><a class="reference internal" href="#set-settings-settings" id="id125">set_settings() settings()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#feed-item" id="id125">feed_item</a></li> <li><a class="reference internal" href="#feed-item" id="id126">feed_item</a></li>
<li><a class="reference internal" href="#session-customization" id="id126">session customization</a><ul> <li><a class="reference internal" href="#session-customization" id="id127">session customization</a><ul>
<li><a class="reference internal" href="#presets" id="id127">presets</a></li> <li><a class="reference internal" href="#presets" id="id128">presets</a></li>
<li><a class="reference internal" href="#session-settings" id="id128">session_settings</a></li> <li><a class="reference internal" href="#session-settings" id="id129">session_settings</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#pe-settings" id="id129">pe_settings</a></li> <li><a class="reference internal" href="#pe-settings" id="id130">pe_settings</a></li>
<li><a class="reference internal" href="#proxy-settings" id="id130">proxy_settings</a></li> <li><a class="reference internal" href="#proxy-settings" id="id131">proxy_settings</a></li>
<li><a class="reference internal" href="#ip-filter" id="id131">ip_filter</a><ul> <li><a class="reference internal" href="#ip-filter" id="id132">ip_filter</a><ul>
<li><a class="reference internal" href="#id8" id="id132">ip_filter()</a></li> <li><a class="reference internal" href="#id8" id="id133">ip_filter()</a></li>
<li><a class="reference internal" href="#add-rule" id="id133">add_rule()</a></li> <li><a class="reference internal" href="#add-rule" id="id134">add_rule()</a></li>
<li><a class="reference internal" href="#access" id="id134">access()</a></li> <li><a class="reference internal" href="#access" id="id135">access()</a></li>
<li><a class="reference internal" href="#export-filter" id="id135">export_filter()</a></li> <li><a class="reference internal" href="#export-filter" id="id136">export_filter()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#big-number" id="id136">big_number</a></li> <li><a class="reference internal" href="#big-number" id="id137">big_number</a></li>
<li><a class="reference internal" href="#bitfield" id="id137">bitfield</a></li> <li><a class="reference internal" href="#bitfield" id="id138">bitfield</a></li>
<li><a class="reference internal" href="#hasher" id="id138">hasher</a></li> <li><a class="reference internal" href="#hasher" id="id139">hasher</a></li>
<li><a class="reference internal" href="#fingerprint" id="id139">fingerprint</a></li> <li><a class="reference internal" href="#fingerprint" id="id140">fingerprint</a></li>
<li><a class="reference internal" href="#upnp-and-nat-pmp" id="id140">UPnP and NAT-PMP</a><ul> <li><a class="reference internal" href="#upnp-and-nat-pmp" id="id141">UPnP and NAT-PMP</a><ul>
<li><a class="reference internal" href="#add-mapping" id="id141">add_mapping()</a></li> <li><a class="reference internal" href="#add-mapping" id="id142">add_mapping()</a></li>
<li><a class="reference internal" href="#delete-mapping" id="id142">delete_mapping()</a></li> <li><a class="reference internal" href="#delete-mapping" id="id143">delete_mapping()</a></li>
<li><a class="reference internal" href="#router-model" id="id143">router_model()</a></li> <li><a class="reference internal" href="#router-model" id="id144">router_model()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#free-functions" id="id144">free functions</a><ul> <li><a class="reference internal" href="#free-functions" id="id145">free functions</a><ul>
<li><a class="reference internal" href="#identify-client" id="id145">identify_client()</a></li> <li><a class="reference internal" href="#identify-client" id="id146">identify_client()</a></li>
<li><a class="reference internal" href="#client-fingerprint" id="id146">client_fingerprint()</a></li> <li><a class="reference internal" href="#client-fingerprint" id="id147">client_fingerprint()</a></li>
<li><a class="reference internal" href="#lazy-bdecode" id="id147">lazy_bdecode()</a></li> <li><a class="reference internal" href="#lazy-bdecode" id="id148">lazy_bdecode()</a></li>
<li><a class="reference internal" href="#bdecode-bencode" id="id148">bdecode() bencode()</a></li> <li><a class="reference internal" href="#bdecode-bencode" id="id149">bdecode() bencode()</a></li>
<li><a class="reference internal" href="#add-magnet-uri" id="id149">add_magnet_uri()</a></li> <li><a class="reference internal" href="#add-magnet-uri" id="id150">add_magnet_uri()</a></li>
<li><a class="reference internal" href="#make-magnet-uri" id="id150">make_magnet_uri()</a></li> <li><a class="reference internal" href="#make-magnet-uri" id="id151">make_magnet_uri()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#alerts" id="id151">alerts</a><ul> <li><a class="reference internal" href="#alerts" id="id152">alerts</a><ul>
<li><a class="reference internal" href="#torrent-added-alert" id="id152">torrent_added_alert</a></li> <li><a class="reference internal" href="#torrent-added-alert" id="id153">torrent_added_alert</a></li>
<li><a class="reference internal" href="#torrent-removed-alert" id="id153">torrent_removed_alert</a></li> <li><a class="reference internal" href="#torrent-removed-alert" id="id154">torrent_removed_alert</a></li>
<li><a class="reference internal" href="#read-piece-alert" id="id154">read_piece_alert</a></li> <li><a class="reference internal" href="#read-piece-alert" id="id155">read_piece_alert</a></li>
<li><a class="reference internal" href="#external-ip-alert" id="id155">external_ip_alert</a></li> <li><a class="reference internal" href="#external-ip-alert" id="id156">external_ip_alert</a></li>
<li><a class="reference internal" href="#listen-failed-alert" id="id156">listen_failed_alert</a></li> <li><a class="reference internal" href="#listen-failed-alert" id="id157">listen_failed_alert</a></li>
<li><a class="reference internal" href="#listen-succeeded-alert" id="id157">listen_succeeded_alert</a></li> <li><a class="reference internal" href="#listen-succeeded-alert" id="id158">listen_succeeded_alert</a></li>
<li><a class="reference internal" href="#portmap-error-alert" id="id158">portmap_error_alert</a></li> <li><a class="reference internal" href="#portmap-error-alert" id="id159">portmap_error_alert</a></li>
<li><a class="reference internal" href="#portmap-alert" id="id159">portmap_alert</a></li> <li><a class="reference internal" href="#portmap-alert" id="id160">portmap_alert</a></li>
<li><a class="reference internal" href="#portmap-log-alert" id="id160">portmap_log_alert</a></li> <li><a class="reference internal" href="#portmap-log-alert" id="id161">portmap_log_alert</a></li>
<li><a class="reference internal" href="#file-error-alert" id="id161">file_error_alert</a></li> <li><a class="reference internal" href="#file-error-alert" id="id162">file_error_alert</a></li>
<li><a class="reference internal" href="#torrent-error-alert" id="id162">torrent_error_alert</a></li> <li><a class="reference internal" href="#torrent-error-alert" id="id163">torrent_error_alert</a></li>
<li><a class="reference internal" href="#file-renamed-alert" id="id163">file_renamed_alert</a></li> <li><a class="reference internal" href="#file-renamed-alert" id="id164">file_renamed_alert</a></li>
<li><a class="reference internal" href="#file-rename-failed-alert" id="id164">file_rename_failed_alert</a></li> <li><a class="reference internal" href="#file-rename-failed-alert" id="id165">file_rename_failed_alert</a></li>
<li><a class="reference internal" href="#tracker-announce-alert" id="id165">tracker_announce_alert</a></li> <li><a class="reference internal" href="#tracker-announce-alert" id="id166">tracker_announce_alert</a></li>
<li><a class="reference internal" href="#tracker-error-alert" id="id166">tracker_error_alert</a></li> <li><a class="reference internal" href="#tracker-error-alert" id="id167">tracker_error_alert</a></li>
<li><a class="reference internal" href="#tracker-reply-alert" id="id167">tracker_reply_alert</a></li> <li><a class="reference internal" href="#tracker-reply-alert" id="id168">tracker_reply_alert</a></li>
<li><a class="reference internal" href="#tracker-warning-alert" id="id168">tracker_warning_alert</a></li> <li><a class="reference internal" href="#tracker-warning-alert" id="id169">tracker_warning_alert</a></li>
<li><a class="reference internal" href="#scrape-reply-alert" id="id169">scrape_reply_alert</a></li> <li><a class="reference internal" href="#scrape-reply-alert" id="id170">scrape_reply_alert</a></li>
<li><a class="reference internal" href="#scrape-failed-alert" id="id170">scrape_failed_alert</a></li> <li><a class="reference internal" href="#scrape-failed-alert" id="id171">scrape_failed_alert</a></li>
<li><a class="reference internal" href="#url-seed-alert" id="id171">url_seed_alert</a></li> <li><a class="reference internal" href="#url-seed-alert" id="id172">url_seed_alert</a></li>
<li><a class="reference internal" href="#hash-failed-alert" id="id172">hash_failed_alert</a></li> <li><a class="reference internal" href="#hash-failed-alert" id="id173">hash_failed_alert</a></li>
<li><a class="reference internal" href="#peer-alert" id="id173">peer_alert</a></li> <li><a class="reference internal" href="#peer-alert" id="id174">peer_alert</a></li>
<li><a class="reference internal" href="#peer-connect-alert" id="id174">peer_connect_alert</a></li> <li><a class="reference internal" href="#peer-connect-alert" id="id175">peer_connect_alert</a></li>
<li><a class="reference internal" href="#peer-ban-alert" id="id175">peer_ban_alert</a></li> <li><a class="reference internal" href="#peer-ban-alert" id="id176">peer_ban_alert</a></li>
<li><a class="reference internal" href="#peer-snubbed-alert" id="id176">peer_snubbed_alert</a></li> <li><a class="reference internal" href="#peer-snubbed-alert" id="id177">peer_snubbed_alert</a></li>
<li><a class="reference internal" href="#peer-unsnubbed-alert" id="id177">peer_unsnubbed_alert</a></li> <li><a class="reference internal" href="#peer-unsnubbed-alert" id="id178">peer_unsnubbed_alert</a></li>
<li><a class="reference internal" href="#peer-error-alert" id="id178">peer_error_alert</a></li> <li><a class="reference internal" href="#peer-error-alert" id="id179">peer_error_alert</a></li>
<li><a class="reference internal" href="#peer-connected-alert" id="id179">peer_connected_alert</a></li> <li><a class="reference internal" href="#peer-connected-alert" id="id180">peer_connected_alert</a></li>
<li><a class="reference internal" href="#peer-disconnected-alert" id="id180">peer_disconnected_alert</a></li> <li><a class="reference internal" href="#peer-disconnected-alert" id="id181">peer_disconnected_alert</a></li>
<li><a class="reference internal" href="#invalid-request-alert" id="id181">invalid_request_alert</a></li> <li><a class="reference internal" href="#invalid-request-alert" id="id182">invalid_request_alert</a></li>
<li><a class="reference internal" href="#request-dropped-alert" id="id182">request_dropped_alert</a></li> <li><a class="reference internal" href="#request-dropped-alert" id="id183">request_dropped_alert</a></li>
<li><a class="reference internal" href="#block-timeout-alert" id="id183">block_timeout_alert</a></li> <li><a class="reference internal" href="#block-timeout-alert" id="id184">block_timeout_alert</a></li>
<li><a class="reference internal" href="#block-finished-alert" id="id184">block_finished_alert</a></li> <li><a class="reference internal" href="#block-finished-alert" id="id185">block_finished_alert</a></li>
<li><a class="reference internal" href="#lsd-peer-alert" id="id185">lsd_peer_alert</a></li> <li><a class="reference internal" href="#lsd-peer-alert" id="id186">lsd_peer_alert</a></li>
<li><a class="reference internal" href="#file-completed-alert" id="id186">file_completed_alert</a></li> <li><a class="reference internal" href="#file-completed-alert" id="id187">file_completed_alert</a></li>
<li><a class="reference internal" href="#block-downloading-alert" id="id187">block_downloading_alert</a></li> <li><a class="reference internal" href="#block-downloading-alert" id="id188">block_downloading_alert</a></li>
<li><a class="reference internal" href="#unwanted-block-alert" id="id188">unwanted_block_alert</a></li> <li><a class="reference internal" href="#unwanted-block-alert" id="id189">unwanted_block_alert</a></li>
<li><a class="reference internal" href="#torrent-delete-failed-alert" id="id189">torrent_delete_failed_alert</a></li> <li><a class="reference internal" href="#torrent-delete-failed-alert" id="id190">torrent_delete_failed_alert</a></li>
<li><a class="reference internal" href="#torrent-deleted-alert" id="id190">torrent_deleted_alert</a></li> <li><a class="reference internal" href="#torrent-deleted-alert" id="id191">torrent_deleted_alert</a></li>
<li><a class="reference internal" href="#torrent-finished-alert" id="id191">torrent_finished_alert</a></li> <li><a class="reference internal" href="#torrent-finished-alert" id="id192">torrent_finished_alert</a></li>
<li><a class="reference internal" href="#performance-alert" id="id192">performance_alert</a></li> <li><a class="reference internal" href="#performance-alert" id="id193">performance_alert</a></li>
<li><a class="reference internal" href="#state-changed-alert" id="id193">state_changed_alert</a></li> <li><a class="reference internal" href="#state-changed-alert" id="id194">state_changed_alert</a></li>
<li><a class="reference internal" href="#metadata-failed-alert" id="id194">metadata_failed_alert</a></li> <li><a class="reference internal" href="#metadata-failed-alert" id="id195">metadata_failed_alert</a></li>
<li><a class="reference internal" href="#metadata-received-alert" id="id195">metadata_received_alert</a></li> <li><a class="reference internal" href="#metadata-received-alert" id="id196">metadata_received_alert</a></li>
<li><a class="reference internal" href="#fastresume-rejected-alert" id="id196">fastresume_rejected_alert</a></li> <li><a class="reference internal" href="#fastresume-rejected-alert" id="id197">fastresume_rejected_alert</a></li>
<li><a class="reference internal" href="#peer-blocked-alert" id="id197">peer_blocked_alert</a></li> <li><a class="reference internal" href="#peer-blocked-alert" id="id198">peer_blocked_alert</a></li>
<li><a class="reference internal" href="#storage-moved-alert" id="id198">storage_moved_alert</a></li> <li><a class="reference internal" href="#storage-moved-alert" id="id199">storage_moved_alert</a></li>
<li><a class="reference internal" href="#storage-moved-failed-alert" id="id199">storage_moved_failed_alert</a></li> <li><a class="reference internal" href="#storage-moved-failed-alert" id="id200">storage_moved_failed_alert</a></li>
<li><a class="reference internal" href="#torrent-paused-alert" id="id200">torrent_paused_alert</a></li> <li><a class="reference internal" href="#torrent-paused-alert" id="id201">torrent_paused_alert</a></li>
<li><a class="reference internal" href="#torrent-resumed-alert" id="id201">torrent_resumed_alert</a></li> <li><a class="reference internal" href="#torrent-resumed-alert" id="id202">torrent_resumed_alert</a></li>
<li><a class="reference internal" href="#save-resume-data-alert" id="id202">save_resume_data_alert</a></li> <li><a class="reference internal" href="#save-resume-data-alert" id="id203">save_resume_data_alert</a></li>
<li><a class="reference internal" href="#save-resume-data-failed-alert" id="id203">save_resume_data_failed_alert</a></li> <li><a class="reference internal" href="#save-resume-data-failed-alert" id="id204">save_resume_data_failed_alert</a></li>
<li><a class="reference internal" href="#stats-alert" id="id204">stats_alert</a></li> <li><a class="reference internal" href="#stats-alert" id="id205">stats_alert</a></li>
<li><a class="reference internal" href="#cache-flushed-alert" id="id205">cache_flushed_alert</a></li> <li><a class="reference internal" href="#cache-flushed-alert" id="id206">cache_flushed_alert</a></li>
<li><a class="reference internal" href="#dht-announce-alert" id="id206">dht_announce_alert</a></li> <li><a class="reference internal" href="#dht-announce-alert" id="id207">dht_announce_alert</a></li>
<li><a class="reference internal" href="#dht-get-peers-alert" id="id207">dht_get_peers_alert</a></li> <li><a class="reference internal" href="#dht-get-peers-alert" id="id208">dht_get_peers_alert</a></li>
<li><a class="reference internal" href="#dht-reply-alert" id="id208">dht_reply_alert</a></li> <li><a class="reference internal" href="#dht-reply-alert" id="id209">dht_reply_alert</a></li>
<li><a class="reference internal" href="#dht-bootstrap-alert" id="id209">dht_bootstrap_alert</a></li> <li><a class="reference internal" href="#dht-bootstrap-alert" id="id210">dht_bootstrap_alert</a></li>
<li><a class="reference internal" href="#anonymous-mode-alert" id="id210">anonymous_mode_alert</a></li> <li><a class="reference internal" href="#anonymous-mode-alert" id="id211">anonymous_mode_alert</a></li>
<li><a class="reference internal" href="#rss-alert" id="id211">rss_alert</a></li> <li><a class="reference internal" href="#rss-alert" id="id212">rss_alert</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#alert-dispatcher" id="id212">alert dispatcher</a></li> <li><a class="reference internal" href="#alert-dispatcher" id="id213">alert dispatcher</a></li>
<li><a class="reference internal" href="#exceptions" id="id213">exceptions</a><ul> <li><a class="reference internal" href="#exceptions" id="id214">exceptions</a><ul>
<li><a class="reference internal" href="#libtorrent-exception" id="id214">libtorrent_exception</a></li> <li><a class="reference internal" href="#libtorrent-exception" id="id215">libtorrent_exception</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#error-code" id="id215">error_code</a><ul> <li><a class="reference internal" href="#error-code" id="id216">error_code</a><ul>
<li><a class="reference internal" href="#translating-error-codes" id="id216">translating error codes</a></li> <li><a class="reference internal" href="#translating-error-codes" id="id217">translating error codes</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#storage-interface" id="id217">storage_interface</a><ul> <li><a class="reference internal" href="#storage-interface" id="id218">storage_interface</a><ul>
<li><a class="reference internal" href="#initialize" id="id218">initialize()</a></li> <li><a class="reference internal" href="#initialize" id="id219">initialize()</a></li>
<li><a class="reference internal" href="#has-any-file" id="id219">has_any_file()</a></li> <li><a class="reference internal" href="#has-any-file" id="id220">has_any_file()</a></li>
<li><a class="reference internal" href="#readv-writev" id="id220">readv() writev()</a></li> <li><a class="reference internal" href="#readv-writev" id="id221">readv() writev()</a></li>
<li><a class="reference internal" href="#sparse-end" id="id221">sparse_end()</a></li> <li><a class="reference internal" href="#sparse-end" id="id222">sparse_end()</a></li>
<li><a class="reference internal" href="#id10" id="id222">move_storage()</a></li> <li><a class="reference internal" href="#id10" id="id223">move_storage()</a></li>
<li><a class="reference internal" href="#verify-resume-data" id="id223">verify_resume_data()</a></li> <li><a class="reference internal" href="#verify-resume-data" id="id224">verify_resume_data()</a></li>
<li><a class="reference internal" href="#write-resume-data" id="id224">write_resume_data()</a></li> <li><a class="reference internal" href="#write-resume-data" id="id225">write_resume_data()</a></li>
<li><a class="reference internal" href="#move-slot" id="id225">move_slot()</a></li> <li><a class="reference internal" href="#move-slot" id="id226">move_slot()</a></li>
<li><a class="reference internal" href="#swap-slots" id="id226">swap_slots()</a></li> <li><a class="reference internal" href="#swap-slots" id="id227">swap_slots()</a></li>
<li><a class="reference internal" href="#swap-slots3" id="id227">swap_slots3()</a></li> <li><a class="reference internal" href="#swap-slots3" id="id228">swap_slots3()</a></li>
<li><a class="reference internal" href="#id11" id="id228">rename_file()</a></li> <li><a class="reference internal" href="#id11" id="id229">rename_file()</a></li>
<li><a class="reference internal" href="#release-files" id="id229">release_files()</a></li> <li><a class="reference internal" href="#release-files" id="id230">release_files()</a></li>
<li><a class="reference internal" href="#delete-files" id="id230">delete_files()</a></li> <li><a class="reference internal" href="#delete-files" id="id231">delete_files()</a></li>
<li><a class="reference internal" href="#finalize-file" id="id231">finalize_file()</a></li> <li><a class="reference internal" href="#finalize-file" id="id232">finalize_file()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#magnet-links" id="id232">magnet links</a></li> <li><a class="reference internal" href="#magnet-links" id="id233">magnet links</a></li>
<li><a class="reference internal" href="#queuing" id="id233">queuing</a><ul> <li><a class="reference internal" href="#queuing" id="id234">queuing</a><ul>
<li><a class="reference internal" href="#downloading" id="id234">downloading</a></li> <li><a class="reference internal" href="#downloading" id="id235">downloading</a></li>
<li><a class="reference internal" href="#seeding" id="id235">seeding</a></li> <li><a class="reference internal" href="#seeding" id="id236">seeding</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#fast-resume" id="id236">fast resume</a><ul> <li><a class="reference internal" href="#fast-resume" id="id237">fast resume</a><ul>
<li><a class="reference internal" href="#file-format" id="id237">file format</a></li> <li><a class="reference internal" href="#file-format" id="id238">file format</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#threads" id="id238">threads</a></li> <li><a class="reference internal" href="#threads" id="id239">threads</a></li>
<li><a class="reference internal" href="#storage-allocation" id="id239">storage allocation</a><ul> <li><a class="reference internal" href="#storage-allocation" id="id240">storage allocation</a><ul>
<li><a class="reference internal" href="#sparse-allocation" id="id240">sparse allocation</a></li> <li><a class="reference internal" href="#sparse-allocation" id="id241">sparse allocation</a></li>
<li><a class="reference internal" href="#full-allocation" id="id241">full allocation</a></li> <li><a class="reference internal" href="#full-allocation" id="id242">full allocation</a></li>
<li><a class="reference internal" href="#compact-allocation" id="id242">compact allocation</a></li> <li><a class="reference internal" href="#compact-allocation" id="id243">compact allocation</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#extensions" id="id243">extensions</a><ul> <li><a class="reference internal" href="#extensions" id="id244">extensions</a><ul>
<li><a class="reference internal" href="#metadata-from-peers" id="id244">metadata from peers</a></li> <li><a class="reference internal" href="#metadata-from-peers" id="id245">metadata from peers</a></li>
<li><a class="reference internal" href="#http-seeding" id="id245">HTTP seeding</a></li> <li><a class="reference internal" href="#http-seeding" id="id246">HTTP seeding</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#filename-checks" id="id246">filename checks</a></li> <li><a class="reference internal" href="#filename-checks" id="id247">filename checks</a></li>
</ul> </ul>
</div> </div>
<div class="section" id="overview"> <div class="section" id="overview">
@ -519,9 +520,14 @@ class session: public boost::noncopyable
bool is_listening() const; bool is_listening() const;
unsigned short listen_port() const; unsigned short listen_port() const;
enum { listen_reuse_address = 1 }; enum {
bool listen_on( listen_reuse_address = 1,
listen_no_system_port = 2
};
void listen_on(
std::pair&lt;int, int&gt; const&amp; port_range std::pair&lt;int, int&gt; const&amp; port_range
, error_code&amp; ec
, char const* interface = 0 , char const* interface = 0
, int flags = 0); , int flags = 0);
@ -1160,8 +1166,15 @@ a piece is, the more likely it is to be flushed to disk.</p>
<pre class="literal-block"> <pre class="literal-block">
bool is_listening() const; bool is_listening() const;
unsigned short listen_port() const; unsigned short listen_port() const;
bool listen_on(
enum {
listen_reuse_address = 1,
listen_no_system_port = 2
};
void listen_on(
std::pair&lt;int, int&gt; const&amp; port_range std::pair&lt;int, int&gt; const&amp; port_range
, error_code&amp; ec
, char const* interface = 0 , char const* interface = 0
, int flags = 0); , int flags = 0);
</pre> </pre>
@ -1178,12 +1191,16 @@ will be opened with these new settings. The port range is the ports it will try
to listen on, if the first port fails, it will continue trying the next port within to listen on, if the first port fails, it will continue trying the next port within
the range and so on. The interface parameter can be left as 0, in that case the the range and so on. The interface parameter can be left as 0, in that case the
os will decide which interface to listen on, otherwise it should be the ip-address os will decide which interface to listen on, otherwise it should be the ip-address
of the interface you want the listener socket bound to. <tt class="docutils literal"><span class="pre">listen_on()</span></tt> returns true of the interface you want the listener socket bound to. <tt class="docutils literal"><span class="pre">listen_on()</span></tt> returns the
if it managed to open the socket, and false if it failed. If it fails, it will also error code of the operation in <tt class="docutils literal"><span class="pre">ec</span></tt>. If this indicates success, the session is
generate an appropriate alert (<a class="reference internal" href="#listen-failed-alert">listen_failed_alert</a>). If all ports in the specified listening on a port within the specified range. If it fails, it will also
range fails to be opened for listening, libtorrent will try to use port 0 (which generate an appropriate alert (<a class="reference internal" href="#listen-failed-alert">listen_failed_alert</a>).</p>
tells the operating system to pick a port that's free). If that still fails you <p>If all ports in the specified range fails to be opened for listening, libtorrent will
may see a <a class="reference internal" href="#listen-failed-alert">listen_failed_alert</a> with port 0 even if you didn't ask to listen on it.</p> try to use port 0 (which tells the operating system to pick a port that's free). If
that still fails you may see a <a class="reference internal" href="#listen-failed-alert">listen_failed_alert</a> with port 0 even if you didn't
ask to listen on it.</p>
<p>It is possible to prevent libtorrent from binding to port 0 by passing in the flag
<tt class="docutils literal"><span class="pre">session::no_system_port</span></tt> in the <tt class="docutils literal"><span class="pre">flags</span></tt> argument.</p>
<p>The interface parameter can also be a hostname that will resolve to the device you <p>The interface parameter can also be a hostname that will resolve to the device you
want to listen on. If you don't specify an interface, libtorrent may attempt to want to listen on. If you don't specify an interface, libtorrent may attempt to
listen on multiple interfaces (typically 0.0.0.0 and ::). This means that if your listen on multiple interfaces (typically 0.0.0.0 and ::). This means that if your
@ -2228,6 +2245,7 @@ struct torrent_handle
std::string name() const; std::string name() const;
enum save_resume_flags_t { flush_disk_cache = 1, save_info_dict = 2 };
void save_resume_data(int flags = 0) const; void save_resume_data(int flags = 0) const;
bool need_save_resume_data() const; bool need_save_resume_data() const;
void force_reannounce() const; void force_reannounce() const;
@ -2287,6 +2305,8 @@ struct torrent_handle
void set_upload_mode(bool m) const; void set_upload_mode(bool m) const;
void set_share_mode(bool m) const; void set_share_mode(bool m) const;
void apply_ip_filter(bool b) const;
void flush_cache() const; void flush_cache() const;
void resolve_countries(bool r); void resolve_countries(bool r);
@ -2761,6 +2781,14 @@ not necessarily be downloaded, especially not the whole of it. Only parts that a
to be distributed to more than 2 other peers are downloaded, and only if the previous to be distributed to more than 2 other peers are downloaded, and only if the previous
prediction was correct.</p> prediction was correct.</p>
</div> </div>
<div class="section" id="apply-ip-filter">
<h2>apply_ip_filter()</h2>
<pre class="literal-block">
void apply_ip_filter(bool b) const;
</pre>
<p>Set to true to apply the session global IP filter to this torrent (which is the
default). Set to false to make this torrent ignore the IP filter.</p>
</div>
<div class="section" id="resolve-countries"> <div class="section" id="resolve-countries">
<h2>resolve_countries()</h2> <h2>resolve_countries()</h2>
<blockquote> <blockquote>
@ -2968,14 +2996,18 @@ function, it means unlimited.</p>
<h2>save_resume_data()</h2> <h2>save_resume_data()</h2>
<blockquote> <blockquote>
<pre class="literal-block"> <pre class="literal-block">
enum save_resume_flags_t { flush_disk_cache = 1, save_info_dict = 2 };
void save_resume_data(int flags = 0) const; void save_resume_data(int flags = 0) const;
</pre> </pre>
</blockquote> </blockquote>
<p><tt class="docutils literal"><span class="pre">save_resume_data()</span></tt> generates fast-resume data and returns it as an <a class="reference internal" href="#entry">entry</a>. This <a class="reference internal" href="#entry">entry</a> <p><tt class="docutils literal"><span class="pre">save_resume_data()</span></tt> generates fast-resume data and returns it as an <a class="reference internal" href="#entry">entry</a>. This <a class="reference internal" href="#entry">entry</a>
is suitable for being bencoded. For more information about how fast-resume works, see <a class="reference internal" href="#fast-resume">fast resume</a>.</p> is suitable for being bencoded. For more information about how fast-resume works, see <a class="reference internal" href="#fast-resume">fast resume</a>.</p>
<p>The <tt class="docutils literal"><span class="pre">flags</span></tt> argument may be set to <tt class="docutils literal"><span class="pre">torrent_handle::flush_cache</span></tt>. Doing so will flush the disk <p>The <tt class="docutils literal"><span class="pre">flags</span></tt> argument is a bitmask of flags ORed together. If the flag <tt class="docutils literal"><span class="pre">torrent_handle::flush_cache</span></tt>
cache before creating the resume data. This avoids a problem with file timestamps in the resume is set, the disk cache will be flushed before creating the resume data. This avoids a problem with
data in case the cache hasn't been flushed yet.</p> file timestamps in the resume data in case the cache hasn't been flushed yet.</p>
<p>If the flag <tt class="docutils literal"><span class="pre">torrent_handle::save_info_dict</span></tt> is set, the resume data will contain the metadata
from the torrent file as well. This is default for any torrent that's added without a torrent
file (such as a magnet link or a URL).</p>
<p>This operation is asynchronous, <tt class="docutils literal"><span class="pre">save_resume_data</span></tt> will return immediately. The resume data <p>This operation is asynchronous, <tt class="docutils literal"><span class="pre">save_resume_data</span></tt> will return immediately. The resume data
is delivered when it's done through an <a class="reference internal" href="#save-resume-data-alert">save_resume_data_alert</a>.</p> is delivered when it's done through an <a class="reference internal" href="#save-resume-data-alert">save_resume_data_alert</a>.</p>
<p>The fast resume data will be empty in the following cases:</p> <p>The fast resume data will be empty in the following cases:</p>
@ -3336,6 +3368,7 @@ struct torrent_status
int queue_position; int queue_position;
bool need_save_resume; bool need_save_resume;
bool ip_filter_applies;
}; };
</pre> </pre>
<p><tt class="docutils literal"><span class="pre">handle</span></tt> is a handle to the torrent whose status the object represents.</p> <p><tt class="docutils literal"><span class="pre">handle</span></tt> is a handle to the torrent whose status the object represents.</p>
@ -3563,6 +3596,8 @@ queue. If the torrent is a seed or finished, this is -1.</p>
<p><tt class="docutils literal"><span class="pre">need_save_resume</span></tt> is true if this torrent has unsaved changes <p><tt class="docutils literal"><span class="pre">need_save_resume</span></tt> is true if this torrent has unsaved changes
to its download state and statistics since the last resume data to its download state and statistics since the last resume data
was saved.</p> was saved.</p>
<p><tt class="docutils literal"><span class="pre">ip_filter_applies</span></tt> is true if the session global IP filter applies
to this torrent. This defaults to true.</p>
</div> </div>
<div class="section" id="peer-info"> <div class="section" id="peer-info">
<h1>peer_info</h1> <h1>peer_info</h1>
@ -4265,6 +4300,7 @@ struct session_settings
bool enable_incoming_tcp; bool enable_incoming_tcp;
int max_pex_peers; int max_pex_peers;
bool ignore_resume_timestamps; bool ignore_resume_timestamps;
bool no_recheck_incomplete_resume;
bool anonymous_mode; bool anonymous_mode;
int tick_interval; int tick_interval;
int share_mode_target; int share_mode_target;
@ -4305,6 +4341,9 @@ struct session_settings
bool no_connect_privileged_ports; bool no_connect_privileged_ports;
int alert_queue_size; int alert_queue_size;
int max_metadata_size; int max_metadata_size;
bool smooth_connects;
bool always_send_user_agent;
bool apply_ip_filter_to_trackers;
}; };
</pre> </pre>
<p><tt class="docutils literal"><span class="pre">version</span></tt> is automatically set to the libtorrent version you're using <p><tt class="docutils literal"><span class="pre">version</span></tt> is automatically set to the libtorrent version you're using
@ -4859,7 +4898,9 @@ be changed individually later using
<p>if <tt class="docutils literal"><span class="pre">broadcast_lsd</span></tt> is set to true, the local peer discovery <p>if <tt class="docutils literal"><span class="pre">broadcast_lsd</span></tt> is set to true, the local peer discovery
(or Local Service Discovery) will not only use IP multicast, but also (or Local Service Discovery) will not only use IP multicast, but also
broadcast its messages. This can be useful when running on networks broadcast its messages. This can be useful when running on networks
that don't support multicast. It's off by default since it's inefficient.</p> that don't support multicast. Since broadcast messages might be
expensive and disruptive on networks, only every 8th announce uses
broadcast.</p>
<p><tt class="docutils literal"><span class="pre">enable_outgoing_utp</span></tt>, <tt class="docutils literal"><span class="pre">enable_incoming_utp</span></tt>, <tt class="docutils literal"><span class="pre">enable_outgoing_tcp</span></tt>, <p><tt class="docutils literal"><span class="pre">enable_outgoing_utp</span></tt>, <tt class="docutils literal"><span class="pre">enable_incoming_utp</span></tt>, <tt class="docutils literal"><span class="pre">enable_outgoing_tcp</span></tt>,
<tt class="docutils literal"><span class="pre">enable_incoming_tcp</span></tt> all determines if libtorrent should attempt to make <tt class="docutils literal"><span class="pre">enable_incoming_tcp</span></tt> all determines if libtorrent should attempt to make
outgoing connections of the specific type, or allow incoming connection. By outgoing connections of the specific type, or allow incoming connection. By
@ -4872,6 +4913,12 @@ to accepted (torrents are more likely to be fully checked when loaded).
It might be useful to set this to true if your network is faster than your It might be useful to set this to true if your network is faster than your
disk, and it would be faster to redownload potentially missed pieces than disk, and it would be faster to redownload potentially missed pieces than
to go through the whole storage to look for them.</p> to go through the whole storage to look for them.</p>
<p><tt class="docutils literal"><span class="pre">no_recheck_incomplete_resume</span></tt> determines if the storage should check
the whole files when resume data is incomplete or missing or whether
it should simply assume we don't have any of the data. By default, this
is determined by the existance of any of the files. By setting this setting
to true, the files won't be checked, but will go straight to download
mode.</p>
<p><tt class="docutils literal"><span class="pre">anonymous_mode</span></tt> defaults to false. When set to true, the client tries <p><tt class="docutils literal"><span class="pre">anonymous_mode</span></tt> defaults to false. When set to true, the client tries
to hide its identity to a certain degree. The peer-ID will no longer to hide its identity to a certain degree. The peer-ID will no longer
include the client's fingerprint. The user-agent will be reset to an include the client's fingerprint. The user-agent will be reset to an
@ -4991,6 +5038,18 @@ alerts are not popped, the queue will eventually fill up to this level. This
defaults to 1000.</p> defaults to 1000.</p>
<p><tt class="docutils literal"><span class="pre">max_metadata_size</span></tt> is the maximum allowed size (in bytes) to be received <p><tt class="docutils literal"><span class="pre">max_metadata_size</span></tt> is the maximum allowed size (in bytes) to be received
by the metadata extension, i.e. magnet links. It defaults to 1 MiB.</p> by the metadata extension, i.e. magnet links. It defaults to 1 MiB.</p>
<p><tt class="docutils literal"><span class="pre">smooth_connects</span></tt> is true by default, which means the number of connection
attempts per second may be limited to below the <tt class="docutils literal"><span class="pre">connection_speed</span></tt>, in case
we're close to bump up against the limit of number of connections. The intention
of this setting is to more evenly distribute our connection attempts over time,
instead of attempting to connectin in batches, and timing them out in batches.</p>
<p><tt class="docutils literal"><span class="pre">always_send_user_agent</span></tt> defaults to false. When set to true, web connections
will include a user-agent with every request, as opposed to just the first
request in a connection.</p>
<p><tt class="docutils literal"><span class="pre">apply_ip_filter_to_trackers</span></tt> defaults to true. It determines whether the
IP filter applies to trackers as well as peers. If this is set to false,
trackers are exempt from the IP filter (if there is one). If no IP filter
is set, this setting is irrelevant.</p>
</div> </div>
</div> </div>
<div class="section" id="pe-settings"> <div class="section" id="pe-settings">
@ -6174,7 +6233,7 @@ struct peer_disconnected_alert: peer_alert
<div class="section" id="invalid-request-alert"> <div class="section" id="invalid-request-alert">
<h2>invalid_request_alert</h2> <h2>invalid_request_alert</h2>
<p>This is a debug alert that is generated by an incoming invalid piece request. <p>This is a debug alert that is generated by an incoming invalid piece request.
<tt class="docutils literal"><span class="pre">Ïp</span></tt> is the address of the peer and the <tt class="docutils literal"><span class="pre">request</span></tt> is the actual incoming <tt class="docutils literal"><span class="pre">ìp</span></tt> is the address of the peer and the <tt class="docutils literal"><span class="pre">request</span></tt> is the actual incoming
request from the peer.</p> request from the peer.</p>
<pre class="literal-block"> <pre class="literal-block">
struct invalid_request_alert: peer_alert struct invalid_request_alert: peer_alert
@ -7222,6 +7281,13 @@ potentially better peer</td>
<td>The peer sent an pex messages too often. This is a possible <td>The peer sent an pex messages too often. This is a possible
attempt of and attack</td> attempt of and attack</td>
</tr> </tr>
<tr><td>109</td>
<td>no_metadata</td>
<td>The operation failed because it requires the torrent to have
the metadata (.torrent file) and it doesn't have it yet.
This happens for magnet links before they have downloaded the
metadata, and also torrents added by URL.</td>
</tr>
</tbody> </tbody>
</table> </table>
<p>NAT-PMP errors:</p> <p>NAT-PMP errors:</p>
@ -7609,13 +7675,13 @@ std::string error_code_to_string(boost::system::error_code const&amp; ec)
static const char const* swedish[] = static const char const* swedish[] =
{ {
&quot;inget fel&quot;, &quot;inget fel&quot;,
&quot;en fil i torrenten kolliderar med en fil frÂn en annan torrent&quot;, &quot;en fil i torrenten kolliderar med en fil från en annan torrent&quot;,
&quot;hash check misslyckades&quot;, &quot;hash check misslyckades&quot;,
&quot;torrent filen r inte en dictionary&quot;, &quot;torrent filen är inte en dictionary&quot;,
&quot;'info'-nyckeln saknas eller r korrupt i torrentfilen&quot;, &quot;'info'-nyckeln saknas eller är korrupt i torrentfilen&quot;,
&quot;'info'-f‰ltet ‰r inte en dictionary&quot;, &quot;'info'-fältet är inte en dictionary&quot;,
&quot;'piece length' f‰ltet saknas eller ‰r korrupt i torrentfilen&quot;, &quot;'piece length' fältet saknas eller är korrupt i torrentfilen&quot;,
&quot;torrentfilen saknar namnfltet&quot;, &quot;torrentfilen saknar namnfältet&quot;,
&quot;ogiltigt namn i torrentfilen (kan vara en attack)&quot;, &quot;ogiltigt namn i torrentfilen (kan vara en attack)&quot;,
// ... more strings here // ... more strings here
}; };