update build docs
This commit is contained in:
parent
3d04b5cc49
commit
f4cf656306
|
@ -2,25 +2,23 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<script type="text/javascript">
|
||||
/* <![CDATA[ */
|
||||
(function() {
|
||||
var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
|
||||
|
||||
s.type = 'text/javascript';
|
||||
s.async = true;
|
||||
s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
|
||||
|
||||
t.parentNode.insertBefore(s, t);
|
||||
})();
|
||||
/* ]]> */
|
||||
</script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>libtorrent manual</title>
|
||||
<meta name="author" content="Arvid Norberg, arvid@rasterbar.com" />
|
||||
<link rel="stylesheet" type="text/css" href="../../css/base.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../css/rst.css" />
|
||||
<script type="text/javascript">
|
||||
/* <![CDATA[ */
|
||||
(function() {
|
||||
var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
|
||||
s.type = 'text/javascript';
|
||||
s.async = true;
|
||||
s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
|
||||
t.parentNode.insertBefore(s, t);
|
||||
})();
|
||||
/* ]]> */
|
||||
</script>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<style type="text/css">
|
||||
/* Hides from IE-mac \*/
|
||||
|
@ -502,16 +500,10 @@ and boost.program_options.</p>
|
|||
<p>No build system is present if libtorrent is checked out from CVS - it
|
||||
needs to be generated first. If you're building from a released tarball,
|
||||
you may skip directly to <a class="reference internal" href="#step-2-running-configure">Step 2: Running configure</a>.</p>
|
||||
<p>Execute the following commands, in the given order, to generate
|
||||
the build system:</p>
|
||||
<p>Execute the following command to generate the build system:</p>
|
||||
<pre class="literal-block">
|
||||
aclocal -I m4
|
||||
autoheader
|
||||
libtoolize --copy --force
|
||||
automake --add-missing --copy --gnu
|
||||
autoconf
|
||||
./autotool.sh
|
||||
</pre>
|
||||
<p>On darwin/OSX you have to run <tt class="docutils literal"><span class="pre">glibtoolize</span></tt> instead of <tt class="docutils literal"><span class="pre">libtoolize</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section" id="step-2-running-configure">
|
||||
<h3>Step 2: Running configure</h3>
|
||||
|
|
|
@ -410,16 +410,9 @@ No build system is present if libtorrent is checked out from CVS - it
|
|||
needs to be generated first. If you're building from a released tarball,
|
||||
you may skip directly to `Step 2: Running configure`_.
|
||||
|
||||
Execute the following commands, in the given order, to generate
|
||||
the build system::
|
||||
Execute the following command to generate the build system::
|
||||
|
||||
aclocal -I m4
|
||||
autoheader
|
||||
libtoolize --copy --force
|
||||
automake --add-missing --copy --gnu
|
||||
autoconf
|
||||
|
||||
On darwin/OSX you have to run ``glibtoolize`` instead of ``libtoolize``.
|
||||
./autotool.sh
|
||||
|
||||
Step 2: Running configure
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
|
732
docs/manual.html
732
docs/manual.html
|
@ -64,282 +64,285 @@
|
|||
<li><a class="reference internal" href="#load-state-save-state" id="id20">load_state() save_state()</a></li>
|
||||
<li><a class="reference internal" href="#pause-resume-is-paused" id="id21">pause() resume() is_paused()</a></li>
|
||||
<li><a class="reference internal" href="#abort" id="id22">abort()</a></li>
|
||||
<li><a class="reference internal" href="#add-torrent" id="id23">add_torrent()</a></li>
|
||||
<li><a class="reference internal" href="#async-add-torrent-add-torrent" id="id23">async_add_torrent() add_torrent()</a></li>
|
||||
<li><a class="reference internal" href="#remove-torrent" id="id24">remove_torrent()</a></li>
|
||||
<li><a class="reference internal" href="#find-torrent-get-torrents" id="id25">find_torrent() get_torrents()</a></li>
|
||||
<li><a class="reference internal" href="#get-torrent-status-refresh-torrent-status" id="id26">get_torrent_status() refresh_torrent_status()</a></li>
|
||||
<li><a class="reference internal" href="#load-asnum-db-load-country-db-as-for-ip" id="id27">load_asnum_db() load_country_db() as_for_ip()</a></li>
|
||||
<li><a class="reference internal" href="#set-ip-filter" id="id28">set_ip_filter()</a></li>
|
||||
<li><a class="reference internal" href="#get-ip-filter" id="id29">get_ip_filter()</a></li>
|
||||
<li><a class="reference internal" href="#status" id="id30">status()</a></li>
|
||||
<li><a class="reference internal" href="#get-cache-status" id="id31">get_cache_status()</a></li>
|
||||
<li><a class="reference internal" href="#get-cache-info" id="id32">get_cache_info()</a></li>
|
||||
<li><a class="reference internal" href="#is-listening-listen-port-listen-on" id="id33">is_listening() listen_port() listen_on()</a></li>
|
||||
<li><a class="reference internal" href="#set-alert-mask" id="id34">set_alert_mask()</a></li>
|
||||
<li><a class="reference internal" href="#pop-alerts-pop-alert-wait-for-alert" id="id35">pop_alerts() pop_alert() wait_for_alert()</a></li>
|
||||
<li><a class="reference internal" href="#add-feed" id="id36">add_feed()</a></li>
|
||||
<li><a class="reference internal" href="#remove-feed" id="id37">remove_feed()</a></li>
|
||||
<li><a class="reference internal" href="#get-feeds" id="id38">get_feeds()</a></li>
|
||||
<li><a class="reference internal" href="#add-extension" id="id39">add_extension()</a></li>
|
||||
<li><a class="reference internal" href="#set-settings-set-pe-settings" id="id40">set_settings() set_pe_settings()</a></li>
|
||||
<li><a class="reference internal" href="#set-proxy-proxy" id="id41">set_proxy() proxy()</a></li>
|
||||
<li><a class="reference internal" href="#set-i2p-proxy-i2p-proxy" id="id42">set_i2p_proxy() i2p_proxy()</a></li>
|
||||
<li><a class="reference internal" href="#start-dht-stop-dht-set-dht-settings-dht-state-is-dht-running" id="id43">start_dht() stop_dht() set_dht_settings() dht_state() is_dht_running()</a></li>
|
||||
<li><a class="reference internal" href="#add-dht-node-add-dht-router" id="id44">add_dht_node() add_dht_router()</a></li>
|
||||
<li><a class="reference internal" href="#start-lsd-stop-lsd" id="id45">start_lsd() stop_lsd()</a></li>
|
||||
<li><a class="reference internal" href="#start-upnp-stop-upnp" id="id46">start_upnp() stop_upnp()</a></li>
|
||||
<li><a class="reference internal" href="#start-natpmp-stop-natpmp" id="id47">start_natpmp() stop_natpmp()</a></li>
|
||||
<li><a class="reference internal" href="#post-torrent-updates" id="id27">post_torrent_updates()</a></li>
|
||||
<li><a class="reference internal" href="#load-asnum-db-load-country-db-as-for-ip" id="id28">load_asnum_db() load_country_db() as_for_ip()</a></li>
|
||||
<li><a class="reference internal" href="#set-ip-filter" id="id29">set_ip_filter()</a></li>
|
||||
<li><a class="reference internal" href="#get-ip-filter" id="id30">get_ip_filter()</a></li>
|
||||
<li><a class="reference internal" href="#status" id="id31">status()</a></li>
|
||||
<li><a class="reference internal" href="#get-cache-status" id="id32">get_cache_status()</a></li>
|
||||
<li><a class="reference internal" href="#get-cache-info" id="id33">get_cache_info()</a></li>
|
||||
<li><a class="reference internal" href="#is-listening-listen-port-listen-on" id="id34">is_listening() listen_port() listen_on()</a></li>
|
||||
<li><a class="reference internal" href="#set-alert-mask" id="id35">set_alert_mask()</a></li>
|
||||
<li><a class="reference internal" href="#pop-alerts-pop-alert-wait-for-alert" id="id36">pop_alerts() pop_alert() wait_for_alert()</a></li>
|
||||
<li><a class="reference internal" href="#add-feed" id="id37">add_feed()</a></li>
|
||||
<li><a class="reference internal" href="#remove-feed" id="id38">remove_feed()</a></li>
|
||||
<li><a class="reference internal" href="#get-feeds" id="id39">get_feeds()</a></li>
|
||||
<li><a class="reference internal" href="#add-extension" id="id40">add_extension()</a></li>
|
||||
<li><a class="reference internal" href="#set-settings-set-pe-settings" id="id41">set_settings() set_pe_settings()</a></li>
|
||||
<li><a class="reference internal" href="#set-proxy-proxy" id="id42">set_proxy() proxy()</a></li>
|
||||
<li><a class="reference internal" href="#set-i2p-proxy-i2p-proxy" id="id43">set_i2p_proxy() i2p_proxy()</a></li>
|
||||
<li><a class="reference internal" href="#start-dht-stop-dht-set-dht-settings-dht-state-is-dht-running" id="id44">start_dht() stop_dht() set_dht_settings() dht_state() is_dht_running()</a></li>
|
||||
<li><a class="reference internal" href="#add-dht-node-add-dht-router" id="id45">add_dht_node() add_dht_router()</a></li>
|
||||
<li><a class="reference internal" href="#start-lsd-stop-lsd" id="id46">start_lsd() stop_lsd()</a></li>
|
||||
<li><a class="reference internal" href="#start-upnp-stop-upnp" id="id47">start_upnp() stop_upnp()</a></li>
|
||||
<li><a class="reference internal" href="#start-natpmp-stop-natpmp" id="id48">start_natpmp() stop_natpmp()</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#entry" id="id48">entry</a><ul>
|
||||
<li><a class="reference internal" href="#integer-string-list-dict-type" id="id49">integer() string() list() dict() type()</a></li>
|
||||
<li><a class="reference internal" href="#operator" id="id50">operator[]</a></li>
|
||||
<li><a class="reference internal" href="#find-key" id="id51">find_key()</a></li>
|
||||
<li><a class="reference internal" href="#entry" id="id49">entry</a><ul>
|
||||
<li><a class="reference internal" href="#integer-string-list-dict-type" id="id50">integer() string() list() dict() type()</a></li>
|
||||
<li><a class="reference internal" href="#operator" id="id51">operator[]</a></li>
|
||||
<li><a class="reference internal" href="#find-key" id="id52">find_key()</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#torrent-info" id="id52">torrent_info</a><ul>
|
||||
<li><a class="reference internal" href="#id3" id="id53">torrent_info()</a></li>
|
||||
<li><a class="reference internal" href="#add-tracker" id="id54">add_tracker()</a></li>
|
||||
<li><a class="reference internal" href="#files-orig-files" id="id55">files() orig_files()</a></li>
|
||||
<li><a class="reference internal" href="#remap-files" id="id56">remap_files()</a></li>
|
||||
<li><a class="reference internal" href="#rename-file" id="id57">rename_file()</a></li>
|
||||
<li><a class="reference internal" href="#begin-files-end-files-rbegin-files-rend-files" id="id58">begin_files() end_files() rbegin_files() rend_files()</a></li>
|
||||
<li><a class="reference internal" href="#num-files-file-at" id="id59">num_files() file_at()</a></li>
|
||||
<li><a class="reference internal" href="#map-block" id="id60">map_block()</a></li>
|
||||
<li><a class="reference internal" href="#map-file" id="id61">map_file()</a></li>
|
||||
<li><a class="reference internal" href="#add-url-seed-add-http-seed" id="id62">add_url_seed() add_http_seed()</a></li>
|
||||
<li><a class="reference internal" href="#trackers" id="id63">trackers()</a></li>
|
||||
<li><a class="reference internal" href="#total-size-piece-length-piece-size-num-pieces" id="id64">total_size() piece_length() piece_size() num_pieces()</a></li>
|
||||
<li><a class="reference internal" href="#hash-for-piece-hash-for-piece-ptr-info-hash" id="id65">hash_for_piece() hash_for_piece_ptr() info_hash()</a></li>
|
||||
<li><a class="reference internal" href="#merkle-tree-set-merkle-tree" id="id66">merkle_tree() set_merkle_tree()</a></li>
|
||||
<li><a class="reference internal" href="#name-comment-creation-date-creator" id="id67">name() comment() creation_date() creator()</a></li>
|
||||
<li><a class="reference internal" href="#priv" id="id68">priv()</a></li>
|
||||
<li><a class="reference internal" href="#nodes" id="id69">nodes()</a></li>
|
||||
<li><a class="reference internal" href="#add-node" id="id70">add_node()</a></li>
|
||||
<li><a class="reference internal" href="#metadata-metadata-size" id="id71">metadata() metadata_size()</a></li>
|
||||
<li><a class="reference internal" href="#torrent-info" id="id53">torrent_info</a><ul>
|
||||
<li><a class="reference internal" href="#id3" id="id54">torrent_info()</a></li>
|
||||
<li><a class="reference internal" href="#add-tracker" id="id55">add_tracker()</a></li>
|
||||
<li><a class="reference internal" href="#files-orig-files" id="id56">files() orig_files()</a></li>
|
||||
<li><a class="reference internal" href="#remap-files" id="id57">remap_files()</a></li>
|
||||
<li><a class="reference internal" href="#rename-file" id="id58">rename_file()</a></li>
|
||||
<li><a class="reference internal" href="#begin-files-end-files-rbegin-files-rend-files" id="id59">begin_files() end_files() rbegin_files() rend_files()</a></li>
|
||||
<li><a class="reference internal" href="#num-files-file-at" id="id60">num_files() file_at()</a></li>
|
||||
<li><a class="reference internal" href="#map-block" id="id61">map_block()</a></li>
|
||||
<li><a class="reference internal" href="#map-file" id="id62">map_file()</a></li>
|
||||
<li><a class="reference internal" href="#add-url-seed-add-http-seed" id="id63">add_url_seed() add_http_seed()</a></li>
|
||||
<li><a class="reference internal" href="#trackers" id="id64">trackers()</a></li>
|
||||
<li><a class="reference internal" href="#total-size-piece-length-piece-size-num-pieces" id="id65">total_size() piece_length() piece_size() num_pieces()</a></li>
|
||||
<li><a class="reference internal" href="#hash-for-piece-hash-for-piece-ptr-info-hash" id="id66">hash_for_piece() hash_for_piece_ptr() info_hash()</a></li>
|
||||
<li><a class="reference internal" href="#merkle-tree-set-merkle-tree" id="id67">merkle_tree() set_merkle_tree()</a></li>
|
||||
<li><a class="reference internal" href="#name-comment-creation-date-creator" id="id68">name() comment() creation_date() creator()</a></li>
|
||||
<li><a class="reference internal" href="#priv" id="id69">priv()</a></li>
|
||||
<li><a class="reference internal" href="#nodes" id="id70">nodes()</a></li>
|
||||
<li><a class="reference internal" href="#add-node" id="id71">add_node()</a></li>
|
||||
<li><a class="reference internal" href="#metadata-metadata-size" id="id72">metadata() metadata_size()</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#torrent-handle" id="id72">torrent_handle</a><ul>
|
||||
<li><a class="reference internal" href="#set-piece-deadline-reset-piece-deadline" id="id73">set_piece_deadline() reset_piece_deadline()</a></li>
|
||||
<li><a class="reference internal" href="#piece-availability" id="id74">piece_availability()</a></li>
|
||||
<li><a class="reference internal" href="#piece-priority-prioritize-pieces-piece-priorities" id="id75">piece_priority() prioritize_pieces() piece_priorities()</a></li>
|
||||
<li><a class="reference internal" href="#file-priority-prioritize-files-file-priorities" id="id76">file_priority() prioritize_files() file_priorities()</a></li>
|
||||
<li><a class="reference internal" href="#file-progress" id="id77">file_progress()</a></li>
|
||||
<li><a class="reference internal" href="#save-path" id="id78">save_path()</a></li>
|
||||
<li><a class="reference internal" href="#move-storage" id="id79">move_storage()</a></li>
|
||||
<li><a class="reference internal" href="#id4" id="id80">rename_file()</a></li>
|
||||
<li><a class="reference internal" href="#get-storage-impl" id="id81">get_storage_impl()</a></li>
|
||||
<li><a class="reference internal" href="#super-seeding" id="id82">super_seeding()</a></li>
|
||||
<li><a class="reference internal" href="#add-piece" id="id83">add_piece()</a></li>
|
||||
<li><a class="reference internal" href="#read-piece" id="id84">read_piece()</a></li>
|
||||
<li><a class="reference internal" href="#force-reannounce-force-dht-announce" id="id85">force_reannounce() force_dht_announce()</a></li>
|
||||
<li><a class="reference internal" href="#scrape-tracker" id="id86">scrape_tracker()</a></li>
|
||||
<li><a class="reference internal" href="#connect-peer" id="id87">connect_peer()</a></li>
|
||||
<li><a class="reference internal" href="#name" id="id88">name()</a></li>
|
||||
<li><a class="reference internal" href="#set-ratio" id="id89">set_ratio()</a></li>
|
||||
<li><a class="reference internal" href="#set-upload-limit-set-download-limit-upload-limit-download-limit" id="id90">set_upload_limit() set_download_limit() upload_limit() download_limit()</a></li>
|
||||
<li><a class="reference internal" href="#set-sequential-download" id="id91">set_sequential_download()</a></li>
|
||||
<li><a class="reference internal" href="#get-peer-download-limit-get-peer-upload-limit-set-peer-upload-limit-set-peer-download-limit" id="id92">get_peer_download_limit() get_peer_upload_limit() set_peer_upload_limit() set_peer_download_limit()</a></li>
|
||||
<li><a class="reference internal" href="#pause-resume" id="id93">pause() resume()</a></li>
|
||||
<li><a class="reference internal" href="#flush-cache" id="id94">flush_cache()</a></li>
|
||||
<li><a class="reference internal" href="#force-recheck" id="id95">force_recheck()</a></li>
|
||||
<li><a class="reference internal" href="#clear-error" id="id96">clear_error()</a></li>
|
||||
<li><a class="reference internal" href="#set-upload-mode" id="id97">set_upload_mode()</a></li>
|
||||
<li><a class="reference internal" href="#set-share-mode" id="id98">set_share_mode()</a></li>
|
||||
<li><a class="reference internal" href="#apply-ip-filter" id="id99">apply_ip_filter()</a></li>
|
||||
<li><a class="reference internal" href="#resolve-countries" id="id100">resolve_countries()</a></li>
|
||||
<li><a class="reference internal" href="#is-seed" id="id101">is_seed()</a></li>
|
||||
<li><a class="reference internal" href="#auto-managed" id="id102">auto_managed()</a></li>
|
||||
<li><a class="reference internal" href="#set-metadata" id="id103">set_metadata()</a></li>
|
||||
<li><a class="reference internal" href="#set-tracker-login" id="id104">set_tracker_login()</a></li>
|
||||
<li><a class="reference internal" href="#trackers-replace-trackers-add-tracker" id="id105">trackers() replace_trackers() add_tracker()</a></li>
|
||||
<li><a class="reference internal" href="#add-url-seed-remove-url-seed-url-seeds" id="id106">add_url_seed() remove_url_seed() url_seeds()</a></li>
|
||||
<li><a class="reference internal" href="#add-http-seed-remove-http-seed-http-seeds" id="id107">add_http_seed() remove_http_seed() http_seeds()</a></li>
|
||||
<li><a class="reference internal" href="#queue-position-queue-position-up-queue-position-down-queue-position-top-queue-position-bottom" id="id108">queue_position() queue_position_up() queue_position_down() queue_position_top() queue_position_bottom()</a></li>
|
||||
<li><a class="reference internal" href="#set-priority" id="id109">set_priority()</a></li>
|
||||
<li><a class="reference internal" href="#use-interface" id="id110">use_interface()</a></li>
|
||||
<li><a class="reference internal" href="#info-hash" id="id111">info_hash()</a></li>
|
||||
<li><a class="reference internal" href="#set-max-uploads-max-uploads" id="id112">set_max_uploads() max_uploads()</a></li>
|
||||
<li><a class="reference internal" href="#set-max-connections-max-connections" id="id113">set_max_connections() max_connections()</a></li>
|
||||
<li><a class="reference internal" href="#save-resume-data" id="id114">save_resume_data()</a></li>
|
||||
<li><a class="reference internal" href="#need-save-resume-data" id="id115">need_save_resume_data()</a></li>
|
||||
<li><a class="reference internal" href="#id5" id="id116">status()</a></li>
|
||||
<li><a class="reference internal" href="#get-download-queue" id="id117">get_download_queue()</a></li>
|
||||
<li><a class="reference internal" href="#get-peer-info" id="id118">get_peer_info()</a></li>
|
||||
<li><a class="reference internal" href="#get-torrent-info" id="id119">get_torrent_info()</a></li>
|
||||
<li><a class="reference internal" href="#is-valid" id="id120">is_valid()</a></li>
|
||||
<li><a class="reference internal" href="#set-ssl-certificate" id="id121">set_ssl_certificate()</a></li>
|
||||
<li><a class="reference internal" href="#torrent-handle" id="id73">torrent_handle</a><ul>
|
||||
<li><a class="reference internal" href="#set-piece-deadline-reset-piece-deadline" id="id74">set_piece_deadline() reset_piece_deadline()</a></li>
|
||||
<li><a class="reference internal" href="#piece-availability" id="id75">piece_availability()</a></li>
|
||||
<li><a class="reference internal" href="#piece-priority-prioritize-pieces-piece-priorities" id="id76">piece_priority() prioritize_pieces() piece_priorities()</a></li>
|
||||
<li><a class="reference internal" href="#file-priority-prioritize-files-file-priorities" id="id77">file_priority() prioritize_files() file_priorities()</a></li>
|
||||
<li><a class="reference internal" href="#file-progress" id="id78">file_progress()</a></li>
|
||||
<li><a class="reference internal" href="#save-path" id="id79">save_path()</a></li>
|
||||
<li><a class="reference internal" href="#move-storage" id="id80">move_storage()</a></li>
|
||||
<li><a class="reference internal" href="#id4" id="id81">rename_file()</a></li>
|
||||
<li><a class="reference internal" href="#get-storage-impl" id="id82">get_storage_impl()</a></li>
|
||||
<li><a class="reference internal" href="#super-seeding" id="id83">super_seeding()</a></li>
|
||||
<li><a class="reference internal" href="#add-piece" id="id84">add_piece()</a></li>
|
||||
<li><a class="reference internal" href="#read-piece" id="id85">read_piece()</a></li>
|
||||
<li><a class="reference internal" href="#force-reannounce-force-dht-announce" id="id86">force_reannounce() force_dht_announce()</a></li>
|
||||
<li><a class="reference internal" href="#scrape-tracker" id="id87">scrape_tracker()</a></li>
|
||||
<li><a class="reference internal" href="#connect-peer" id="id88">connect_peer()</a></li>
|
||||
<li><a class="reference internal" href="#name" id="id89">name()</a></li>
|
||||
<li><a class="reference internal" href="#set-ratio" id="id90">set_ratio()</a></li>
|
||||
<li><a class="reference internal" href="#set-upload-limit-set-download-limit-upload-limit-download-limit" id="id91">set_upload_limit() set_download_limit() upload_limit() download_limit()</a></li>
|
||||
<li><a class="reference internal" href="#set-sequential-download" id="id92">set_sequential_download()</a></li>
|
||||
<li><a class="reference internal" href="#get-peer-download-limit-get-peer-upload-limit-set-peer-upload-limit-set-peer-download-limit" id="id93">get_peer_download_limit() get_peer_upload_limit() set_peer_upload_limit() set_peer_download_limit()</a></li>
|
||||
<li><a class="reference internal" href="#pause-resume" id="id94">pause() resume()</a></li>
|
||||
<li><a class="reference internal" href="#flush-cache" id="id95">flush_cache()</a></li>
|
||||
<li><a class="reference internal" href="#force-recheck" id="id96">force_recheck()</a></li>
|
||||
<li><a class="reference internal" href="#clear-error" id="id97">clear_error()</a></li>
|
||||
<li><a class="reference internal" href="#set-upload-mode" id="id98">set_upload_mode()</a></li>
|
||||
<li><a class="reference internal" href="#set-share-mode" id="id99">set_share_mode()</a></li>
|
||||
<li><a class="reference internal" href="#apply-ip-filter" id="id100">apply_ip_filter()</a></li>
|
||||
<li><a class="reference internal" href="#resolve-countries" id="id101">resolve_countries()</a></li>
|
||||
<li><a class="reference internal" href="#is-seed" id="id102">is_seed()</a></li>
|
||||
<li><a class="reference internal" href="#auto-managed" id="id103">auto_managed()</a></li>
|
||||
<li><a class="reference internal" href="#set-metadata" id="id104">set_metadata()</a></li>
|
||||
<li><a class="reference internal" href="#set-tracker-login" id="id105">set_tracker_login()</a></li>
|
||||
<li><a class="reference internal" href="#trackers-replace-trackers-add-tracker" id="id106">trackers() replace_trackers() add_tracker()</a></li>
|
||||
<li><a class="reference internal" href="#add-url-seed-remove-url-seed-url-seeds" id="id107">add_url_seed() remove_url_seed() url_seeds()</a></li>
|
||||
<li><a class="reference internal" href="#add-http-seed-remove-http-seed-http-seeds" id="id108">add_http_seed() remove_http_seed() http_seeds()</a></li>
|
||||
<li><a class="reference internal" href="#queue-position-queue-position-up-queue-position-down-queue-position-top-queue-position-bottom" id="id109">queue_position() queue_position_up() queue_position_down() queue_position_top() queue_position_bottom()</a></li>
|
||||
<li><a class="reference internal" href="#set-priority" id="id110">set_priority()</a></li>
|
||||
<li><a class="reference internal" href="#use-interface" id="id111">use_interface()</a></li>
|
||||
<li><a class="reference internal" href="#info-hash" id="id112">info_hash()</a></li>
|
||||
<li><a class="reference internal" href="#set-max-uploads-max-uploads" id="id113">set_max_uploads() max_uploads()</a></li>
|
||||
<li><a class="reference internal" href="#set-max-connections-max-connections" id="id114">set_max_connections() max_connections()</a></li>
|
||||
<li><a class="reference internal" href="#save-resume-data" id="id115">save_resume_data()</a></li>
|
||||
<li><a class="reference internal" href="#need-save-resume-data" id="id116">need_save_resume_data()</a></li>
|
||||
<li><a class="reference internal" href="#id5" id="id117">status()</a></li>
|
||||
<li><a class="reference internal" href="#get-download-queue" id="id118">get_download_queue()</a></li>
|
||||
<li><a class="reference internal" href="#get-peer-info" id="id119">get_peer_info()</a></li>
|
||||
<li><a class="reference internal" href="#get-torrent-info" id="id120">get_torrent_info()</a></li>
|
||||
<li><a class="reference internal" href="#is-valid" id="id121">is_valid()</a></li>
|
||||
<li><a class="reference internal" href="#set-ssl-certificate" id="id122">set_ssl_certificate()</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#torrent-status" id="id122">torrent_status</a></li>
|
||||
<li><a class="reference internal" href="#peer-info" id="id123">peer_info</a></li>
|
||||
<li><a class="reference internal" href="#feed-handle" id="id124">feed_handle</a><ul>
|
||||
<li><a class="reference internal" href="#update-feed" id="id125">update_feed()</a></li>
|
||||
<li><a class="reference internal" href="#get-feed-status" id="id126">get_feed_status()</a></li>
|
||||
<li><a class="reference internal" href="#set-settings-settings" id="id127">set_settings() settings()</a></li>
|
||||
<li><a class="reference internal" href="#torrent-status" id="id123">torrent_status</a></li>
|
||||
<li><a class="reference internal" href="#peer-info" id="id124">peer_info</a></li>
|
||||
<li><a class="reference internal" href="#feed-handle" id="id125">feed_handle</a><ul>
|
||||
<li><a class="reference internal" href="#update-feed" id="id126">update_feed()</a></li>
|
||||
<li><a class="reference internal" href="#get-feed-status" id="id127">get_feed_status()</a></li>
|
||||
<li><a class="reference internal" href="#set-settings-settings" id="id128">set_settings() settings()</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#feed-item" id="id128">feed_item</a></li>
|
||||
<li><a class="reference internal" href="#session-customization" id="id129">session customization</a><ul>
|
||||
<li><a class="reference internal" href="#presets" id="id130">presets</a></li>
|
||||
<li><a class="reference internal" href="#session-settings" id="id131">session_settings</a></li>
|
||||
<li><a class="reference internal" href="#feed-item" id="id129">feed_item</a></li>
|
||||
<li><a class="reference internal" href="#session-customization" id="id130">session customization</a><ul>
|
||||
<li><a class="reference internal" href="#presets" id="id131">presets</a></li>
|
||||
<li><a class="reference internal" href="#session-settings" id="id132">session_settings</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#pe-settings" id="id132">pe_settings</a></li>
|
||||
<li><a class="reference internal" href="#proxy-settings" id="id133">proxy_settings</a></li>
|
||||
<li><a class="reference internal" href="#ip-filter" id="id134">ip_filter</a><ul>
|
||||
<li><a class="reference internal" href="#id8" id="id135">ip_filter()</a></li>
|
||||
<li><a class="reference internal" href="#add-rule" id="id136">add_rule()</a></li>
|
||||
<li><a class="reference internal" href="#access" id="id137">access()</a></li>
|
||||
<li><a class="reference internal" href="#export-filter" id="id138">export_filter()</a></li>
|
||||
<li><a class="reference internal" href="#pe-settings" id="id133">pe_settings</a></li>
|
||||
<li><a class="reference internal" href="#proxy-settings" id="id134">proxy_settings</a></li>
|
||||
<li><a class="reference internal" href="#ip-filter" id="id135">ip_filter</a><ul>
|
||||
<li><a class="reference internal" href="#id8" id="id136">ip_filter()</a></li>
|
||||
<li><a class="reference internal" href="#add-rule" id="id137">add_rule()</a></li>
|
||||
<li><a class="reference internal" href="#access" id="id138">access()</a></li>
|
||||
<li><a class="reference internal" href="#export-filter" id="id139">export_filter()</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#big-number" id="id139">big_number</a></li>
|
||||
<li><a class="reference internal" href="#bitfield" id="id140">bitfield</a></li>
|
||||
<li><a class="reference internal" href="#hasher" id="id141">hasher</a></li>
|
||||
<li><a class="reference internal" href="#fingerprint" id="id142">fingerprint</a></li>
|
||||
<li><a class="reference internal" href="#upnp-and-nat-pmp" id="id143">UPnP and NAT-PMP</a><ul>
|
||||
<li><a class="reference internal" href="#add-mapping" id="id144">add_mapping()</a></li>
|
||||
<li><a class="reference internal" href="#delete-mapping" id="id145">delete_mapping()</a></li>
|
||||
<li><a class="reference internal" href="#router-model" id="id146">router_model()</a></li>
|
||||
<li><a class="reference internal" href="#big-number" id="id140">big_number</a></li>
|
||||
<li><a class="reference internal" href="#bitfield" id="id141">bitfield</a></li>
|
||||
<li><a class="reference internal" href="#hasher" id="id142">hasher</a></li>
|
||||
<li><a class="reference internal" href="#fingerprint" id="id143">fingerprint</a></li>
|
||||
<li><a class="reference internal" href="#upnp-and-nat-pmp" id="id144">UPnP and NAT-PMP</a><ul>
|
||||
<li><a class="reference internal" href="#add-mapping" id="id145">add_mapping()</a></li>
|
||||
<li><a class="reference internal" href="#delete-mapping" id="id146">delete_mapping()</a></li>
|
||||
<li><a class="reference internal" href="#router-model" id="id147">router_model()</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#free-functions" id="id147">free functions</a><ul>
|
||||
<li><a class="reference internal" href="#identify-client" id="id148">identify_client()</a></li>
|
||||
<li><a class="reference internal" href="#client-fingerprint" id="id149">client_fingerprint()</a></li>
|
||||
<li><a class="reference internal" href="#lazy-bdecode" id="id150">lazy_bdecode()</a></li>
|
||||
<li><a class="reference internal" href="#bdecode-bencode" id="id151">bdecode() bencode()</a></li>
|
||||
<li><a class="reference internal" href="#add-magnet-uri" id="id152">add_magnet_uri()</a></li>
|
||||
<li><a class="reference internal" href="#make-magnet-uri" id="id153">make_magnet_uri()</a></li>
|
||||
<li><a class="reference internal" href="#free-functions" id="id148">free functions</a><ul>
|
||||
<li><a class="reference internal" href="#identify-client" id="id149">identify_client()</a></li>
|
||||
<li><a class="reference internal" href="#client-fingerprint" id="id150">client_fingerprint()</a></li>
|
||||
<li><a class="reference internal" href="#lazy-bdecode" id="id151">lazy_bdecode()</a></li>
|
||||
<li><a class="reference internal" href="#bdecode-bencode" id="id152">bdecode() bencode()</a></li>
|
||||
<li><a class="reference internal" href="#add-magnet-uri" id="id153">add_magnet_uri()</a></li>
|
||||
<li><a class="reference internal" href="#make-magnet-uri" id="id154">make_magnet_uri()</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#alerts" id="id154">alerts</a><ul>
|
||||
<li><a class="reference internal" href="#torrent-added-alert" id="id155">torrent_added_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-removed-alert" id="id156">torrent_removed_alert</a></li>
|
||||
<li><a class="reference internal" href="#read-piece-alert" id="id157">read_piece_alert</a></li>
|
||||
<li><a class="reference internal" href="#external-ip-alert" id="id158">external_ip_alert</a></li>
|
||||
<li><a class="reference internal" href="#listen-failed-alert" id="id159">listen_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#listen-succeeded-alert" id="id160">listen_succeeded_alert</a></li>
|
||||
<li><a class="reference internal" href="#portmap-error-alert" id="id161">portmap_error_alert</a></li>
|
||||
<li><a class="reference internal" href="#portmap-alert" id="id162">portmap_alert</a></li>
|
||||
<li><a class="reference internal" href="#portmap-log-alert" id="id163">portmap_log_alert</a></li>
|
||||
<li><a class="reference internal" href="#file-error-alert" id="id164">file_error_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-error-alert" id="id165">torrent_error_alert</a></li>
|
||||
<li><a class="reference internal" href="#file-renamed-alert" id="id166">file_renamed_alert</a></li>
|
||||
<li><a class="reference internal" href="#file-rename-failed-alert" id="id167">file_rename_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#tracker-announce-alert" id="id168">tracker_announce_alert</a></li>
|
||||
<li><a class="reference internal" href="#tracker-error-alert" id="id169">tracker_error_alert</a></li>
|
||||
<li><a class="reference internal" href="#tracker-reply-alert" id="id170">tracker_reply_alert</a></li>
|
||||
<li><a class="reference internal" href="#tracker-warning-alert" id="id171">tracker_warning_alert</a></li>
|
||||
<li><a class="reference internal" href="#scrape-reply-alert" id="id172">scrape_reply_alert</a></li>
|
||||
<li><a class="reference internal" href="#scrape-failed-alert" id="id173">scrape_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#url-seed-alert" id="id174">url_seed_alert</a></li>
|
||||
<li><a class="reference internal" href="#hash-failed-alert" id="id175">hash_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-alert" id="id176">peer_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-connect-alert" id="id177">peer_connect_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-ban-alert" id="id178">peer_ban_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-snubbed-alert" id="id179">peer_snubbed_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-unsnubbed-alert" id="id180">peer_unsnubbed_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-error-alert" id="id181">peer_error_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-connected-alert" id="id182">peer_connected_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-disconnected-alert" id="id183">peer_disconnected_alert</a></li>
|
||||
<li><a class="reference internal" href="#invalid-request-alert" id="id184">invalid_request_alert</a></li>
|
||||
<li><a class="reference internal" href="#request-dropped-alert" id="id185">request_dropped_alert</a></li>
|
||||
<li><a class="reference internal" href="#block-timeout-alert" id="id186">block_timeout_alert</a></li>
|
||||
<li><a class="reference internal" href="#block-finished-alert" id="id187">block_finished_alert</a></li>
|
||||
<li><a class="reference internal" href="#lsd-peer-alert" id="id188">lsd_peer_alert</a></li>
|
||||
<li><a class="reference internal" href="#file-completed-alert" id="id189">file_completed_alert</a></li>
|
||||
<li><a class="reference internal" href="#block-downloading-alert" id="id190">block_downloading_alert</a></li>
|
||||
<li><a class="reference internal" href="#unwanted-block-alert" id="id191">unwanted_block_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-delete-failed-alert" id="id192">torrent_delete_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-deleted-alert" id="id193">torrent_deleted_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-finished-alert" id="id194">torrent_finished_alert</a></li>
|
||||
<li><a class="reference internal" href="#performance-alert" id="id195">performance_alert</a></li>
|
||||
<li><a class="reference internal" href="#state-changed-alert" id="id196">state_changed_alert</a></li>
|
||||
<li><a class="reference internal" href="#metadata-failed-alert" id="id197">metadata_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#metadata-received-alert" id="id198">metadata_received_alert</a></li>
|
||||
<li><a class="reference internal" href="#fastresume-rejected-alert" id="id199">fastresume_rejected_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-blocked-alert" id="id200">peer_blocked_alert</a></li>
|
||||
<li><a class="reference internal" href="#storage-moved-alert" id="id201">storage_moved_alert</a></li>
|
||||
<li><a class="reference internal" href="#storage-moved-failed-alert" id="id202">storage_moved_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-paused-alert" id="id203">torrent_paused_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-resumed-alert" id="id204">torrent_resumed_alert</a></li>
|
||||
<li><a class="reference internal" href="#save-resume-data-alert" id="id205">save_resume_data_alert</a></li>
|
||||
<li><a class="reference internal" href="#save-resume-data-failed-alert" id="id206">save_resume_data_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#stats-alert" id="id207">stats_alert</a></li>
|
||||
<li><a class="reference internal" href="#cache-flushed-alert" id="id208">cache_flushed_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-need-cert-alert" id="id209">torrent_need_cert_alert</a></li>
|
||||
<li><a class="reference internal" href="#dht-announce-alert" id="id210">dht_announce_alert</a></li>
|
||||
<li><a class="reference internal" href="#dht-get-peers-alert" id="id211">dht_get_peers_alert</a></li>
|
||||
<li><a class="reference internal" href="#dht-reply-alert" id="id212">dht_reply_alert</a></li>
|
||||
<li><a class="reference internal" href="#dht-bootstrap-alert" id="id213">dht_bootstrap_alert</a></li>
|
||||
<li><a class="reference internal" href="#anonymous-mode-alert" id="id214">anonymous_mode_alert</a></li>
|
||||
<li><a class="reference internal" href="#rss-alert" id="id215">rss_alert</a></li>
|
||||
<li><a class="reference internal" href="#incoming-connection-alert" id="id216">incoming_connection_alert</a></li>
|
||||
<li><a class="reference internal" href="#alerts" id="id155">alerts</a><ul>
|
||||
<li><a class="reference internal" href="#torrent-added-alert" id="id156">torrent_added_alert</a></li>
|
||||
<li><a class="reference internal" href="#add-torrent-alert" id="id157">add_torrent_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-removed-alert" id="id158">torrent_removed_alert</a></li>
|
||||
<li><a class="reference internal" href="#read-piece-alert" id="id159">read_piece_alert</a></li>
|
||||
<li><a class="reference internal" href="#external-ip-alert" id="id160">external_ip_alert</a></li>
|
||||
<li><a class="reference internal" href="#listen-failed-alert" id="id161">listen_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#listen-succeeded-alert" id="id162">listen_succeeded_alert</a></li>
|
||||
<li><a class="reference internal" href="#portmap-error-alert" id="id163">portmap_error_alert</a></li>
|
||||
<li><a class="reference internal" href="#portmap-alert" id="id164">portmap_alert</a></li>
|
||||
<li><a class="reference internal" href="#portmap-log-alert" id="id165">portmap_log_alert</a></li>
|
||||
<li><a class="reference internal" href="#file-error-alert" id="id166">file_error_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-error-alert" id="id167">torrent_error_alert</a></li>
|
||||
<li><a class="reference internal" href="#file-renamed-alert" id="id168">file_renamed_alert</a></li>
|
||||
<li><a class="reference internal" href="#file-rename-failed-alert" id="id169">file_rename_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#tracker-announce-alert" id="id170">tracker_announce_alert</a></li>
|
||||
<li><a class="reference internal" href="#tracker-error-alert" id="id171">tracker_error_alert</a></li>
|
||||
<li><a class="reference internal" href="#tracker-reply-alert" id="id172">tracker_reply_alert</a></li>
|
||||
<li><a class="reference internal" href="#tracker-warning-alert" id="id173">tracker_warning_alert</a></li>
|
||||
<li><a class="reference internal" href="#scrape-reply-alert" id="id174">scrape_reply_alert</a></li>
|
||||
<li><a class="reference internal" href="#scrape-failed-alert" id="id175">scrape_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#url-seed-alert" id="id176">url_seed_alert</a></li>
|
||||
<li><a class="reference internal" href="#hash-failed-alert" id="id177">hash_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-alert" id="id178">peer_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-connect-alert" id="id179">peer_connect_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-ban-alert" id="id180">peer_ban_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-snubbed-alert" id="id181">peer_snubbed_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-unsnubbed-alert" id="id182">peer_unsnubbed_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-error-alert" id="id183">peer_error_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-connected-alert" id="id184">peer_connected_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-disconnected-alert" id="id185">peer_disconnected_alert</a></li>
|
||||
<li><a class="reference internal" href="#invalid-request-alert" id="id186">invalid_request_alert</a></li>
|
||||
<li><a class="reference internal" href="#request-dropped-alert" id="id187">request_dropped_alert</a></li>
|
||||
<li><a class="reference internal" href="#block-timeout-alert" id="id188">block_timeout_alert</a></li>
|
||||
<li><a class="reference internal" href="#block-finished-alert" id="id189">block_finished_alert</a></li>
|
||||
<li><a class="reference internal" href="#lsd-peer-alert" id="id190">lsd_peer_alert</a></li>
|
||||
<li><a class="reference internal" href="#file-completed-alert" id="id191">file_completed_alert</a></li>
|
||||
<li><a class="reference internal" href="#block-downloading-alert" id="id192">block_downloading_alert</a></li>
|
||||
<li><a class="reference internal" href="#unwanted-block-alert" id="id193">unwanted_block_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-delete-failed-alert" id="id194">torrent_delete_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-deleted-alert" id="id195">torrent_deleted_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-finished-alert" id="id196">torrent_finished_alert</a></li>
|
||||
<li><a class="reference internal" href="#performance-alert" id="id197">performance_alert</a></li>
|
||||
<li><a class="reference internal" href="#state-changed-alert" id="id198">state_changed_alert</a></li>
|
||||
<li><a class="reference internal" href="#metadata-failed-alert" id="id199">metadata_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#metadata-received-alert" id="id200">metadata_received_alert</a></li>
|
||||
<li><a class="reference internal" href="#fastresume-rejected-alert" id="id201">fastresume_rejected_alert</a></li>
|
||||
<li><a class="reference internal" href="#peer-blocked-alert" id="id202">peer_blocked_alert</a></li>
|
||||
<li><a class="reference internal" href="#storage-moved-alert" id="id203">storage_moved_alert</a></li>
|
||||
<li><a class="reference internal" href="#storage-moved-failed-alert" id="id204">storage_moved_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-paused-alert" id="id205">torrent_paused_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-resumed-alert" id="id206">torrent_resumed_alert</a></li>
|
||||
<li><a class="reference internal" href="#save-resume-data-alert" id="id207">save_resume_data_alert</a></li>
|
||||
<li><a class="reference internal" href="#save-resume-data-failed-alert" id="id208">save_resume_data_failed_alert</a></li>
|
||||
<li><a class="reference internal" href="#stats-alert" id="id209">stats_alert</a></li>
|
||||
<li><a class="reference internal" href="#cache-flushed-alert" id="id210">cache_flushed_alert</a></li>
|
||||
<li><a class="reference internal" href="#torrent-need-cert-alert" id="id211">torrent_need_cert_alert</a></li>
|
||||
<li><a class="reference internal" href="#dht-announce-alert" id="id212">dht_announce_alert</a></li>
|
||||
<li><a class="reference internal" href="#dht-get-peers-alert" id="id213">dht_get_peers_alert</a></li>
|
||||
<li><a class="reference internal" href="#dht-reply-alert" id="id214">dht_reply_alert</a></li>
|
||||
<li><a class="reference internal" href="#dht-bootstrap-alert" id="id215">dht_bootstrap_alert</a></li>
|
||||
<li><a class="reference internal" href="#anonymous-mode-alert" id="id216">anonymous_mode_alert</a></li>
|
||||
<li><a class="reference internal" href="#rss-alert" id="id217">rss_alert</a></li>
|
||||
<li><a class="reference internal" href="#incoming-connection-alert" id="id218">incoming_connection_alert</a></li>
|
||||
<li><a class="reference internal" href="#state-update-alert" id="id219">state_update_alert</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#alert-dispatcher" id="id217">alert dispatcher</a></li>
|
||||
<li><a class="reference internal" href="#exceptions" id="id218">exceptions</a><ul>
|
||||
<li><a class="reference internal" href="#libtorrent-exception" id="id219">libtorrent_exception</a></li>
|
||||
<li><a class="reference internal" href="#alert-dispatcher" id="id220">alert dispatcher</a></li>
|
||||
<li><a class="reference internal" href="#exceptions" id="id221">exceptions</a><ul>
|
||||
<li><a class="reference internal" href="#libtorrent-exception" id="id222">libtorrent_exception</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#error-code" id="id220">error_code</a><ul>
|
||||
<li><a class="reference internal" href="#translating-error-codes" id="id221">translating error codes</a></li>
|
||||
<li><a class="reference internal" href="#error-code" id="id223">error_code</a><ul>
|
||||
<li><a class="reference internal" href="#translating-error-codes" id="id224">translating error codes</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#storage-interface" id="id222">storage_interface</a><ul>
|
||||
<li><a class="reference internal" href="#initialize" id="id223">initialize()</a></li>
|
||||
<li><a class="reference internal" href="#has-any-file" id="id224">has_any_file()</a></li>
|
||||
<li><a class="reference internal" href="#hint-read" id="id225">hint_read()</a></li>
|
||||
<li><a class="reference internal" href="#readv-writev" id="id226">readv() writev()</a></li>
|
||||
<li><a class="reference internal" href="#sparse-end" id="id227">sparse_end()</a></li>
|
||||
<li><a class="reference internal" href="#id10" id="id228">move_storage()</a></li>
|
||||
<li><a class="reference internal" href="#verify-resume-data" id="id229">verify_resume_data()</a></li>
|
||||
<li><a class="reference internal" href="#write-resume-data" id="id230">write_resume_data()</a></li>
|
||||
<li><a class="reference internal" href="#move-slot" id="id231">move_slot()</a></li>
|
||||
<li><a class="reference internal" href="#swap-slots" id="id232">swap_slots()</a></li>
|
||||
<li><a class="reference internal" href="#swap-slots3" id="id233">swap_slots3()</a></li>
|
||||
<li><a class="reference internal" href="#id11" id="id234">rename_file()</a></li>
|
||||
<li><a class="reference internal" href="#release-files" id="id235">release_files()</a></li>
|
||||
<li><a class="reference internal" href="#delete-files" id="id236">delete_files()</a></li>
|
||||
<li><a class="reference internal" href="#finalize-file" id="id237">finalize_file()</a></li>
|
||||
<li><a class="reference internal" href="#example" id="id238">example</a></li>
|
||||
<li><a class="reference internal" href="#storage-interface" id="id225">storage_interface</a><ul>
|
||||
<li><a class="reference internal" href="#initialize" id="id226">initialize()</a></li>
|
||||
<li><a class="reference internal" href="#has-any-file" id="id227">has_any_file()</a></li>
|
||||
<li><a class="reference internal" href="#hint-read" id="id228">hint_read()</a></li>
|
||||
<li><a class="reference internal" href="#readv-writev" id="id229">readv() writev()</a></li>
|
||||
<li><a class="reference internal" href="#sparse-end" id="id230">sparse_end()</a></li>
|
||||
<li><a class="reference internal" href="#id10" id="id231">move_storage()</a></li>
|
||||
<li><a class="reference internal" href="#verify-resume-data" id="id232">verify_resume_data()</a></li>
|
||||
<li><a class="reference internal" href="#write-resume-data" id="id233">write_resume_data()</a></li>
|
||||
<li><a class="reference internal" href="#move-slot" id="id234">move_slot()</a></li>
|
||||
<li><a class="reference internal" href="#swap-slots" id="id235">swap_slots()</a></li>
|
||||
<li><a class="reference internal" href="#swap-slots3" id="id236">swap_slots3()</a></li>
|
||||
<li><a class="reference internal" href="#id11" id="id237">rename_file()</a></li>
|
||||
<li><a class="reference internal" href="#release-files" id="id238">release_files()</a></li>
|
||||
<li><a class="reference internal" href="#delete-files" id="id239">delete_files()</a></li>
|
||||
<li><a class="reference internal" href="#finalize-file" id="id240">finalize_file()</a></li>
|
||||
<li><a class="reference internal" href="#example" id="id241">example</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#magnet-links" id="id239">magnet links</a></li>
|
||||
<li><a class="reference internal" href="#queuing" id="id240">queuing</a><ul>
|
||||
<li><a class="reference internal" href="#downloading" id="id241">downloading</a></li>
|
||||
<li><a class="reference internal" href="#seeding" id="id242">seeding</a></li>
|
||||
<li><a class="reference internal" href="#magnet-links" id="id242">magnet links</a></li>
|
||||
<li><a class="reference internal" href="#queuing" id="id243">queuing</a><ul>
|
||||
<li><a class="reference internal" href="#downloading" id="id244">downloading</a></li>
|
||||
<li><a class="reference internal" href="#seeding" id="id245">seeding</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#fast-resume" id="id243">fast resume</a><ul>
|
||||
<li><a class="reference internal" href="#file-format" id="id244">file format</a></li>
|
||||
<li><a class="reference internal" href="#fast-resume" id="id246">fast resume</a><ul>
|
||||
<li><a class="reference internal" href="#file-format" id="id247">file format</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#threads" id="id245">threads</a></li>
|
||||
<li><a class="reference internal" href="#storage-allocation" id="id246">storage allocation</a><ul>
|
||||
<li><a class="reference internal" href="#sparse-allocation" id="id247">sparse allocation</a></li>
|
||||
<li><a class="reference internal" href="#full-allocation" id="id248">full allocation</a></li>
|
||||
<li><a class="reference internal" href="#compact-allocation" id="id249">compact allocation</a></li>
|
||||
<li><a class="reference internal" href="#threads" id="id248">threads</a></li>
|
||||
<li><a class="reference internal" href="#storage-allocation" id="id249">storage allocation</a><ul>
|
||||
<li><a class="reference internal" href="#sparse-allocation" id="id250">sparse allocation</a></li>
|
||||
<li><a class="reference internal" href="#full-allocation" id="id251">full allocation</a></li>
|
||||
<li><a class="reference internal" href="#compact-allocation" id="id252">compact allocation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#extensions" id="id250">extensions</a><ul>
|
||||
<li><a class="reference internal" href="#metadata-from-peers" id="id251">metadata from peers</a></li>
|
||||
<li><a class="reference internal" href="#dont-have" id="id252">dont_have</a></li>
|
||||
<li><a class="reference internal" href="#http-seeding" id="id253">HTTP seeding</a></li>
|
||||
<li><a class="reference internal" href="#extensions" id="id253">extensions</a><ul>
|
||||
<li><a class="reference internal" href="#metadata-from-peers" id="id254">metadata from peers</a></li>
|
||||
<li><a class="reference internal" href="#dont-have" id="id255">dont_have</a></li>
|
||||
<li><a class="reference internal" href="#http-seeding" id="id256">HTTP seeding</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#piece-picker" id="id254">piece picker</a><ul>
|
||||
<li><a class="reference internal" href="#internal-representation" id="id255">internal representation</a></li>
|
||||
<li><a class="reference internal" href="#picker-strategy" id="id256">picker strategy</a></li>
|
||||
<li><a class="reference internal" href="#reverse-order" id="id257">reverse order</a></li>
|
||||
<li><a class="reference internal" href="#parole-mode" id="id258">parole mode</a></li>
|
||||
<li><a class="reference internal" href="#prioritize-partial-pieces" id="id259">prioritize partial pieces</a></li>
|
||||
<li><a class="reference internal" href="#prefer-whole-pieces" id="id260">prefer whole pieces</a></li>
|
||||
<li><a class="reference internal" href="#piece-picker" id="id257">piece picker</a><ul>
|
||||
<li><a class="reference internal" href="#internal-representation" id="id258">internal representation</a></li>
|
||||
<li><a class="reference internal" href="#picker-strategy" id="id259">picker strategy</a></li>
|
||||
<li><a class="reference internal" href="#reverse-order" id="id260">reverse order</a></li>
|
||||
<li><a class="reference internal" href="#parole-mode" id="id261">parole mode</a></li>
|
||||
<li><a class="reference internal" href="#prioritize-partial-pieces" id="id262">prioritize partial pieces</a></li>
|
||||
<li><a class="reference internal" href="#prefer-whole-pieces" id="id263">prefer whole pieces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#ssl-torrents" id="id261">SSL torrents</a></li>
|
||||
<li><a class="reference internal" href="#filename-checks" id="id262">filename checks</a></li>
|
||||
<li><a class="reference internal" href="#ssl-torrents" id="id264">SSL torrents</a></li>
|
||||
<li><a class="reference internal" href="#filename-checks" id="id265">filename checks</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="overview">
|
||||
|
@ -357,7 +360,7 @@ the <tt class="docutils literal"><span class="pre">session</span></tt>, it conta
|
|||
<li><p class="first">start DHT, LSD, UPnP, NAT-PMP etc (see <a class="reference internal" href="#start-dht-stop-dht-set-dht-settings-dht-state-is-dht-running">start_dht() stop_dht() set_dht_settings() dht_state() is_dht_running()</a>
|
||||
<a class="reference internal" href="#start-lsd-stop-lsd">start_lsd() stop_lsd()</a>, <a class="reference internal" href="#start-upnp-stop-upnp">start_upnp() stop_upnp()</a> and <a class="reference internal" href="#start-natpmp-stop-natpmp">start_natpmp() stop_natpmp()</a>)</p>
|
||||
</li>
|
||||
<li><p class="first">parse .torrent-files and add them to the session (see <a class="reference internal" href="#bdecode-bencode">bdecode() bencode()</a> and <a class="reference internal" href="#add-torrent">add_torrent()</a>)</p>
|
||||
<li><p class="first">parse .torrent-files and add them to the session (see <a class="reference internal" href="#bdecode-bencode">bdecode() bencode()</a> and <a href="#id266"><span class="problematic" id="id267">`add_torrent()`_</span></a>)</p>
|
||||
</li>
|
||||
<li><p class="first">main loop (see <a class="reference internal" href="#session">session</a>)</p>
|
||||
<blockquote>
|
||||
|
@ -466,6 +469,8 @@ class session: public boost::noncopyable
|
|||
add_torrent_params const& params
|
||||
, error_code& ec);
|
||||
|
||||
void async_add_torrent(add_torrent_params const& params);
|
||||
|
||||
void pause();
|
||||
void resume();
|
||||
|
||||
|
@ -691,8 +696,8 @@ public:
|
|||
};
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section" id="add-torrent">
|
||||
<h2>add_torrent()</h2>
|
||||
<div class="section" id="async-add-torrent-add-torrent">
|
||||
<h2>async_add_torrent() add_torrent()</h2>
|
||||
<blockquote>
|
||||
<pre class="literal-block">
|
||||
typedef boost::function<storage_interface*(file_storage const&
|
||||
|
@ -703,6 +708,20 @@ struct add_torrent_params
|
|||
{
|
||||
add_torrent_params(storage_constructor_type s);
|
||||
|
||||
enum flags_t
|
||||
{
|
||||
flag_seed_mode = 0x001,
|
||||
flag_override_resume_data = 0x002,
|
||||
flag_upload_mode = 0x004,
|
||||
flag_share_mode = 0x008,
|
||||
flag_apply_ip_filter = 0x010,
|
||||
flag_paused = 0x020,
|
||||
flag_auto_managed = 0x040.
|
||||
flag_duplicate_is_error = 0x080,
|
||||
flag_merge_resume_trackers = 0x100,
|
||||
flag_update_subscribe = 0x200
|
||||
};
|
||||
|
||||
int version;
|
||||
boost::intrusive_ptr<torrent_info> ti;
|
||||
char const* tracker_url;
|
||||
|
@ -711,31 +730,29 @@ struct add_torrent_params
|
|||
fs::path save_path;
|
||||
std::vector<char>* resume_data;
|
||||
storage_mode_t storage_mode;
|
||||
bool paused;
|
||||
bool auto_managed;
|
||||
bool duplicate_is_error;
|
||||
storage_constructor_type storage;
|
||||
void* userdata;
|
||||
bool seed_mode;
|
||||
bool override_resume_data;
|
||||
bool upload_mode;
|
||||
std::vector<boost::uint8_t> const* file_priorities;
|
||||
bool share_mode;
|
||||
std::string trackerid;
|
||||
std::string url;
|
||||
std::string uuid;
|
||||
std::string source_feed_url;
|
||||
bool apply_ip_filter;
|
||||
bool merge_resume_trackers;
|
||||
boost::uint64_t flags;
|
||||
};
|
||||
|
||||
torrent_handle add_torrent(add_torrent_params const& params);
|
||||
torrent_handle add_torrent(add_torrent_params const& params
|
||||
, error_code& ec);
|
||||
void async_add_torrent(add_torrent_params const& params);
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>You add torrents through the <tt class="docutils literal"><span class="pre">add_torrent()</span></tt> function where you give an
|
||||
object with all the parameters.</p>
|
||||
object with all the parameters. The <tt class="docutils literal"><span class="pre">add_torrent()</span></tt> overloads will block
|
||||
until the torrent has been added (or failed to be added) and returns an
|
||||
error code and a <tt class="docutils literal"><span class="pre">torrent_handle</span></tt>. In order to add torrents more efficiently,
|
||||
consider using <tt class="docutils literal"><span class="pre">async_add_torrent()</span></tt> which returns immediately, without
|
||||
waiting for the torrent to add. Notification of the torrent being added is sent
|
||||
as <a class="reference internal" href="#add-torrent-alert">add_torrent_alert</a>.</p>
|
||||
<p>The overload that does not take an <tt class="docutils literal"><span class="pre">error_code</span></tt> throws an exception on
|
||||
error and is not available when building without exception support.</p>
|
||||
<p>The only mandatory parameters are <tt class="docutils literal"><span class="pre">save_path</span></tt> which is the directory where you
|
||||
|
@ -781,20 +798,6 @@ are rearranged to finally be in their correct places once the entire torrent has
|
|||
downloaded.</dd>
|
||||
</dl>
|
||||
<p>For more information, see <a class="reference internal" href="#storage-allocation">storage allocation</a>.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">paused</span></tt> is a boolean that specifies whether or not the torrent is to be started in
|
||||
a paused state. I.e. it won't connect to the tracker or any of the peers until it's
|
||||
resumed. This is typically a good way of avoiding race conditions when setting
|
||||
configuration options on torrents before starting them.</p>
|
||||
<p>If you pass in resume data, the paused state of the torrent when the resume data
|
||||
was saved will override the paused state you pass in here. You can override this
|
||||
by setting <tt class="docutils literal"><span class="pre">override_resume_data</span></tt>.</p>
|
||||
<p>If <tt class="docutils literal"><span class="pre">auto_managed</span></tt> is true, this torrent will be queued, started and seeded
|
||||
automatically by libtorrent. When this is set, the torrent should also be started
|
||||
as paused. The default queue order is the order the torrents were added. They
|
||||
are all downloaded in that order. For more details, see <a class="reference internal" href="#queuing">queuing</a>.</p>
|
||||
<p>If you pass in resume data, the auto_managed state of the torrent when the resume data
|
||||
was saved will override the auto_managed state you pass in here. You can override this
|
||||
by setting <tt class="docutils literal"><span class="pre">override_resume_data</span></tt>.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">storage</span></tt> can be used to customize how the data is stored. The default
|
||||
storage will simply write the data to the files it belongs to, but it could be
|
||||
overridden to save everything to a single file at a specific location or encrypt the
|
||||
|
@ -802,40 +805,8 @@ content on disk for instance. For more information about the <tt class="docutils
|
|||
that needs to be implemented for a custom storage, see <a class="reference internal" href="#storage-interface">storage_interface</a>.</p>
|
||||
<p>The <tt class="docutils literal"><span class="pre">userdata</span></tt> parameter is optional and will be passed on to the extension
|
||||
constructor functions, if any (see <a class="reference internal" href="#add-extension">add_extension()</a>).</p>
|
||||
<p>If <tt class="docutils literal"><span class="pre">seed_mode</span></tt> is set to true, libtorrent will assume that all files are present
|
||||
for this torrent and that they all match the hashes in the torrent file. Each time
|
||||
a peer requests to download a block, the piece is verified against the hash, unless
|
||||
it has been verified already. If a hash fails, the torrent will automatically leave
|
||||
the seed mode and recheck all the files. The use case for this mode is if a torrent
|
||||
is created and seeded, or if the user already know that the files are complete, this
|
||||
is a way to avoid the initial file checks, and significantly reduce the startup time.</p>
|
||||
<p>Setting <tt class="docutils literal"><span class="pre">seed_mode</span></tt> on a torrent without metadata (a .torrent file) is a no-op
|
||||
and will be ignored.</p>
|
||||
<p>If resume data is passed in with this torrent, the seed mode saved in there will
|
||||
override the seed mode you set here.</p>
|
||||
<p>The <a class="reference internal" href="#torrent-handle">torrent_handle</a> returned by <tt class="docutils literal"><span class="pre">add_torrent()</span></tt> can be used to retrieve information
|
||||
about the torrent's progress, its peers etc. It is also used to abort a torrent.</p>
|
||||
<p>If <tt class="docutils literal"><span class="pre">override_resume_data</span></tt> is set to true, the <tt class="docutils literal"><span class="pre">paused</span></tt> and <tt class="docutils literal"><span class="pre">auto_managed</span></tt>
|
||||
state of the torrent are not loaded from the resume data, but the states requested
|
||||
by this <tt class="docutils literal"><span class="pre">add_torrent_params</span></tt> will override it.</p>
|
||||
<p>If <tt class="docutils literal"><span class="pre">upload_mode</span></tt> is set to true, the torrent will be initialized in upload-mode,
|
||||
which means it will not make any piece requests. This state is typically entered
|
||||
on disk I/O errors, and if the torrent is also auto managed, it will be taken out
|
||||
of this state periodically. This mode can be used to avoid race conditions when
|
||||
adjusting priorities of pieces before allowing the torrent to start downloading.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">share_mode</span></tt> determines if the torrent should be added in <em>share mode</em> or not.
|
||||
Share mode indicates that we are not interested in downloading the torrent, but
|
||||
merlely want to improve our share ratio (i.e. increase it). A torrent started in
|
||||
share mode will do its best to never download more than it uploads to the swarm.
|
||||
If the swarm does not have enough demand for upload capacity, the torrent will
|
||||
not download anything. This mode is intended to be safe to add any number of torrents
|
||||
to, without manual screening, without the risk of downloading more than is uploaded.</p>
|
||||
<p>A torrent in share mode sets the priority to all pieces to 0, except for the pieces
|
||||
that are downloaded, when pieces are decided to be downloaded. This affects the progress
|
||||
bar, which might be set to "100% finished" most of the time. Do not change file or piece
|
||||
priorities for torrents in share mode, it will make it not work.</p>
|
||||
<p>The share mode has one setting, the share ratio target, see <tt class="docutils literal"><span class="pre">session_settings::share_mode_target</span></tt>
|
||||
for more info.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">file_priorities</span></tt> can be set to control the initial file priorities when adding
|
||||
a torrent. The semantics are the same as for <tt class="docutils literal"><span class="pre">torrent_handle::prioritize_files()</span></tt>.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">version</span></tt> is filled in by the constructor and should be left untouched. It
|
||||
|
@ -848,11 +819,77 @@ running with the same UUID as the one being added, it will be considered a dupli
|
|||
is mainly useful for RSS feed items which has UUIDs specified.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">source_feed_url</span></tt> should point to the URL of the RSS feed this torrent comes from,
|
||||
if it comes from an RSS feed.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">apply_ip_filter</span></tt> determines if the IP filter should apply to this torrent or not. By
|
||||
default all torrents are subject to filtering by the IP filter. This is useful if certain
|
||||
torrents needs to be excempt for some reason, being an auto-update torrent for instance.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">merge_resume_trackers</span></tt> defaults to false and specifies whether tracker URLs loaded from
|
||||
<p><tt class="docutils literal"><span class="pre">flags</span></tt> is a 64 bit integer used for flags controlling aspects of this torrent
|
||||
and how it's added. These are the flags:</p>
|
||||
<pre class="literal-block">
|
||||
enum flags_t
|
||||
{
|
||||
flag_seed_mode = 0x001,
|
||||
flag_override_resume_data = 0x002,
|
||||
flag_upload_mode = 0x004,
|
||||
flag_share_mode = 0x008,
|
||||
flag_apply_ip_filter = 0x010,
|
||||
flag_paused = 0x020,
|
||||
flag_auto_managed = 0x040.
|
||||
flag_duplicate_is_error = 0x080,
|
||||
flag_merge_resume_trackers = 0x100,
|
||||
flag_update_subscribe = 0x200
|
||||
}
|
||||
</pre>
|
||||
<p><tt class="docutils literal"><span class="pre">flag_apply_ip_filter</span></tt> determines if the IP filter should apply to this torrent or not. By
|
||||
default all torrents are subject to filtering by the IP filter (i.e. this flag is set by
|
||||
default). This is useful if certain torrents needs to be excempt for some reason, being
|
||||
an auto-update torrent for instance.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">flag_merge_resume_trackers</span></tt> defaults to off and specifies whether tracker URLs loaded from
|
||||
resume data should be added to the trackers in the torrent or replace the trackers.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">flag_update_subscribe</span></tt> is on by default and means that this torrent will be part of state
|
||||
updates when calling <a class="reference internal" href="#post-torrent-updates">post_torrent_updates()</a>.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">flag_paused</span></tt> specifies whether or not the torrent is to be started in a paused
|
||||
state. I.e. it won't connect to the tracker or any of the peers until it's
|
||||
resumed. This is typically a good way of avoiding race conditions when setting
|
||||
configuration options on torrents before starting them.</p>
|
||||
<p>If you pass in resume data, the paused state of the torrent when the resume data
|
||||
was saved will override the paused state you pass in here. You can override this
|
||||
by setting <tt class="docutils literal"><span class="pre">flag_override_resume_data</span></tt>.</p>
|
||||
<p>If <tt class="docutils literal"><span class="pre">flag_auto_managed</span></tt> is set, the torrent will be queued, started and seeded
|
||||
automatically by libtorrent. When this is set, the torrent should also be started
|
||||
as paused. The default queue order is the order the torrents were added. They
|
||||
are all downloaded in that order. For more details, see <a class="reference internal" href="#queuing">queuing</a>.</p>
|
||||
<p>If you pass in resume data, the auto_managed state of the torrent when the resume data
|
||||
was saved will override the auto_managed state you pass in here. You can override this
|
||||
by setting <tt class="docutils literal"><span class="pre">override_resume_data</span></tt>.</p>
|
||||
<p>If <tt class="docutils literal"><span class="pre">flag_seed_mode</span></tt> is set, libtorrent will assume that all files are present
|
||||
for this torrent and that they all match the hashes in the torrent file. Each time
|
||||
a peer requests to download a block, the piece is verified against the hash, unless
|
||||
it has been verified already. If a hash fails, the torrent will automatically leave
|
||||
the seed mode and recheck all the files. The use case for this mode is if a torrent
|
||||
is created and seeded, or if the user already know that the files are complete, this
|
||||
is a way to avoid the initial file checks, and significantly reduce the startup time.</p>
|
||||
<p>Setting <tt class="docutils literal"><span class="pre">flag_seed_mode</span></tt> on a torrent without metadata (a .torrent file) is a no-op
|
||||
and will be ignored.</p>
|
||||
<p>If resume data is passed in with this torrent, the seed mode saved in there will
|
||||
override the seed mode you set here.</p>
|
||||
<p>If <tt class="docutils literal"><span class="pre">flag_override_resume_data</span></tt> is set, the <tt class="docutils literal"><span class="pre">paused</span></tt> and <tt class="docutils literal"><span class="pre">auto_managed</span></tt>
|
||||
state of the torrent are not loaded from the resume data, but the states requested
|
||||
by the flags in <tt class="docutils literal"><span class="pre">add_torrent_params</span></tt> will override them.</p>
|
||||
<p>If <tt class="docutils literal"><span class="pre">flag_upload_mode</span></tt> is set, the torrent will be initialized in upload-mode,
|
||||
which means it will not make any piece requests. This state is typically entered
|
||||
on disk I/O errors, and if the torrent is also auto managed, it will be taken out
|
||||
of this state periodically. This mode can be used to avoid race conditions when
|
||||
adjusting priorities of pieces before allowing the torrent to start downloading.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">flag_share_mode</span></tt> determines if the torrent should be added in <em>share mode</em> or not.
|
||||
Share mode indicates that we are not interested in downloading the torrent, but
|
||||
merlely want to improve our share ratio (i.e. increase it). A torrent started in
|
||||
share mode will do its best to never download more than it uploads to the swarm.
|
||||
If the swarm does not have enough demand for upload capacity, the torrent will
|
||||
not download anything. This mode is intended to be safe to add any number of torrents
|
||||
to, without manual screening, without the risk of downloading more than is uploaded.</p>
|
||||
<p>A torrent in share mode sets the priority to all pieces to 0, except for the pieces
|
||||
that are downloaded, when pieces are decided to be downloaded. This affects the progress
|
||||
bar, which might be set to "100% finished" most of the time. Do not change file or piece
|
||||
priorities for torrents in share mode, it will make it not work.</p>
|
||||
<p>The share mode has one setting, the share ratio target, see <tt class="docutils literal"><span class="pre">session_settings::share_mode_target</span></tt>
|
||||
for more info.</p>
|
||||
</div>
|
||||
<div class="section" id="remove-torrent">
|
||||
<h2>remove_torrent()</h2>
|
||||
|
@ -895,6 +932,12 @@ void refresh_torrent_status(std::vector<torrent_status>* ret
|
|||
, boost::uint32_t flags = 0) const;
|
||||
</pre>
|
||||
</blockquote>
|
||||
<div class="note">
|
||||
<p class="first admonition-title">Note</p>
|
||||
<p class="last">these calls are potentially expensive and won't scale well
|
||||
with lots of torrents. If you're concerned about performance, consider
|
||||
using <tt class="docutils literal"><span class="pre">post_torrent_updates()</span></tt> instead.</p>
|
||||
</div>
|
||||
<p><tt class="docutils literal"><span class="pre">get_torrent_status</span></tt> returns a vector of the <tt class="docutils literal"><span class="pre">torrent_status</span></tt> for every
|
||||
torrent which satisfies <tt class="docutils literal"><span class="pre">pred</span></tt>, which is a predicate function which determines
|
||||
if a torrent should be included in the returned set or not. Returning true means
|
||||
|
@ -912,6 +955,19 @@ if you have a lot of torrents.</p>
|
|||
<p>Any <tt class="docutils literal"><span class="pre">torrent_status</span></tt> object whose <tt class="docutils literal"><span class="pre">handle</span></tt> member is not referring to a
|
||||
valid torrent are ignored.</p>
|
||||
</div>
|
||||
<div class="section" id="post-torrent-updates">
|
||||
<h2>post_torrent_updates()</h2>
|
||||
<blockquote>
|
||||
<pre class="literal-block">
|
||||
void post_torrent_updates();
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>This functions instructs the session to post the <a class="reference internal" href="#state-update-alert">state_update_alert</a>, containing
|
||||
the status of all torrents whose state changed since the last time this function
|
||||
was called.</p>
|
||||
<p>Only torrents who has the state subscription flag set will be included. This flag
|
||||
is on by default. See <tt class="docutils literal"><span class="pre">add_torrent_params</span></tt> under <a class="reference internal" href="#async-add-torrent-add-torrent">async_add_torrent() add_torrent()</a>.</p>
|
||||
</div>
|
||||
<div class="section" id="load-asnum-db-load-country-db-as-for-ip">
|
||||
<h2>load_asnum_db() load_country_db() as_for_ip()</h2>
|
||||
<blockquote>
|
||||
|
@ -1358,7 +1414,7 @@ minutes between refreshes.</p>
|
|||
This object is used as a template for adding torrents from feeds,
|
||||
but some torrent specific fields will be overridden by the
|
||||
individual torrent being added. For more information on the
|
||||
<tt class="docutils literal"><span class="pre">add_torrent_params</span></tt>, see <a class="reference internal" href="#add-torrent">add_torrent()</a>.</p>
|
||||
<tt class="docutils literal"><span class="pre">add_torrent_params</span></tt>, see <a href="#id268"><span class="problematic" id="id269">`add_torrent()`_</span></a>.</p>
|
||||
<p>The returned <a class="reference internal" href="#feed-handle">feed_handle</a> is a handle which is used to interact
|
||||
with the feed, things like forcing a refresh or querying for
|
||||
information about the items in the feed. For more information,
|
||||
|
@ -2579,7 +2635,7 @@ and no calculation is required.</p>
|
|||
boost::filesystem::path save_path() const;
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p><tt class="docutils literal"><span class="pre">save_path()</span></tt> returns the path that was given to <a class="reference internal" href="#add-torrent">add_torrent()</a> when this torrent
|
||||
<p><tt class="docutils literal"><span class="pre">save_path()</span></tt> returns the path that was given to <a href="#id270"><span class="problematic" id="id271">`add_torrent()`_</span></a> when this torrent
|
||||
was started.</p>
|
||||
</div>
|
||||
<div class="section" id="move-storage">
|
||||
|
@ -4655,7 +4711,7 @@ are kept in memory after the torrent becomes a seed or not. If it is set to
|
|||
needed anymore since the torrent won't download anything more). If it's set
|
||||
to false they are not freed. If they are freed, the <a class="reference internal" href="#torrent-info">torrent_info</a> returned
|
||||
by get_torrent_info() will return an object that may be incomplete, that
|
||||
cannot be passed back to <a class="reference internal" href="#add-torrent">add_torrent()</a> for instance.</p>
|
||||
cannot be passed back to <a href="#id272"><span class="problematic" id="id273">`add_torrent()`_</span></a> for instance.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">upnp_ignore_nonrouters</span></tt> indicates whether or not the UPnP implementation
|
||||
should ignore any broadcast response from a device whose address is not the
|
||||
configured router for this machine. i.e. it's a way to not talk to other
|
||||
|
@ -5799,7 +5855,7 @@ torrent_handle add_magnet_uri(session& ses, std::string const& uri
|
|||
and adds the torrent to the specified session (<tt class="docutils literal"><span class="pre">ses</span></tt>). It returns the
|
||||
handle to the newly added torrent, or an invalid handle in case parsing
|
||||
failed. To control some initial settings of the torrent, sepcify those in
|
||||
the <tt class="docutils literal"><span class="pre">add_torrent_params</span></tt>, <tt class="docutils literal"><span class="pre">p</span></tt>. See <a class="reference internal" href="#add-torrent">add_torrent()</a>.</p>
|
||||
the <tt class="docutils literal"><span class="pre">add_torrent_params</span></tt>, <tt class="docutils literal"><span class="pre">p</span></tt>. See <a href="#id274"><span class="problematic" id="id275">`add_torrent()`_</span></a>.</p>
|
||||
<p>The overload that does not take an <tt class="docutils literal"><span class="pre">error_code</span></tt> throws an exception on
|
||||
error and is not available when building without exception support.</p>
|
||||
<p>A simpler way to add a magnet link to a session is to pass in the
|
||||
|
@ -6014,6 +6070,23 @@ struct torrent_added_alert: torrent_alert
|
|||
};
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section" id="add-torrent-alert">
|
||||
<h2>add_torrent_alert</h2>
|
||||
<p>This alert is always posted when a torrent was added via <tt class="docutils literal"><span class="pre">async_add_torrent()</span></tt>
|
||||
and contains the return status of the add operation. The torrent handle of the new
|
||||
torrent can be found in the base class' <tt class="docutils literal"><span class="pre">handle</span></tt> member.</p>
|
||||
<pre class="literal-block">
|
||||
struct add_torrent_alert: torrent_alert
|
||||
{
|
||||
// ...
|
||||
add_torrent_params params;
|
||||
error_code error;
|
||||
};
|
||||
</pre>
|
||||
<p><tt class="docutils literal"><span class="pre">params</span></tt> is a copy of the parameters used when adding the torrent, it can be used
|
||||
to identify which invocation to <tt class="docutils literal"><span class="pre">async_add_torrent()</span></tt> caused this alert.</p>
|
||||
<p><tt class="docutils literal"><span class="pre">error</span></tt> is set to the error, if any, adding the torrent.</p>
|
||||
</div>
|
||||
<div class="section" id="torrent-removed-alert">
|
||||
<h2>torrent_removed_alert</h2>
|
||||
<p>The <tt class="docutils literal"><span class="pre">torrent_removed_alert</span></tt> is posted whenever a torrent is removed. Since
|
||||
|
@ -7005,6 +7078,24 @@ as:</p>
|
|||
</table>
|
||||
<p><tt class="docutils literal"><span class="pre">ip</span></tt> is the IP address and port the connection came from.</p>
|
||||
</div>
|
||||
<div class="section" id="state-update-alert">
|
||||
<h2>state_update_alert</h2>
|
||||
<p>This alert is only posted when requested by the user, by calling <a class="reference internal" href="#post-torrent-updates">post_torrent_updates()</a>
|
||||
on the session. It contains the torrent status of all torrents that changed
|
||||
since last time this message was posted. Its category is <tt class="docutils literal"><span class="pre">status_notification</span></tt>, but
|
||||
it's not subject to filtering, since it's only manually posted anyway.</p>
|
||||
<pre class="literal-block">
|
||||
struct state_update_alert: alert
|
||||
{
|
||||
// ...
|
||||
std::vector<torrent_status> status;
|
||||
};
|
||||
</pre>
|
||||
<p><tt class="docutils literal"><span class="pre">status</span></tt> contains the torrent status of all torrents that changed since last time
|
||||
this message was posted. Note that you can map a torrent status to a specific torrent
|
||||
via its <tt class="docutils literal"><span class="pre">handle</span></tt> member. The receiving end is suggested to have all torrents sorted
|
||||
by the <tt class="docutils literal"><span class="pre">torrent_handle</span></tt> or hashed by it, for efficient updates.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="alert-dispatcher">
|
||||
<h1>alert dispatcher</h1>
|
||||
|
@ -8325,7 +8416,7 @@ torrents are being downloaded at any given time, and once a torrent is completel
|
|||
downloaded, the next in line is started.</p>
|
||||
<p>Torrents that are <em>auto managed</em> are subject to the queuing and the active torrents
|
||||
limits. To make a torrent auto managed, set <tt class="docutils literal"><span class="pre">auto_managed</span></tt> to true when adding the
|
||||
torrent (see <a class="reference internal" href="#add-torrent">add_torrent()</a>).</p>
|
||||
torrent (see <a href="#id276"><span class="problematic" id="id277">`add_torrent()`_</span></a>).</p>
|
||||
<p>The limits of the number of downloading and seeding torrents are controlled via
|
||||
<tt class="docutils literal"><span class="pre">active_downloads</span></tt>, <tt class="docutils literal"><span class="pre">active_seeds</span></tt> and <tt class="docutils literal"><span class="pre">active_limit</span></tt> in <a class="reference internal" href="#session-settings">session_settings</a>.
|
||||
These limits takes non auto managed torrents into account as well. If there are
|
||||
|
@ -8373,7 +8464,7 @@ will not check the piece hashes then, and rely on the information given in the
|
|||
fast-resume data. The fast-resume data also contains information about which
|
||||
blocks, in the unfinished pieces, were downloaded, so it will not have to
|
||||
start from scratch on the partially downloaded pieces.</p>
|
||||
<p>To use the fast-resume data you simply give it to <a class="reference internal" href="#add-torrent">add_torrent()</a>, and it
|
||||
<p>To use the fast-resume data you simply give it to <a href="#id278"><span class="problematic" id="id279">`add_torrent()`_</span></a>, and it
|
||||
will skip the time consuming checks. It may have to do the checking anyway, if
|
||||
the fast-resume data is corrupt or doesn't fit the storage for that torrent,
|
||||
then it will not trust the fast-resume data and just do the checking.</p>
|
||||
|
@ -8611,7 +8702,7 @@ to where they belong. This is the recommended (and default) mode.</li>
|
|||
Support for this is deprecated and will be removed in future versions of libtorrent.
|
||||
It's still described in here for completeness.</p>
|
||||
<p>The allocation mode is selected when a torrent is started. It is passed as an
|
||||
argument to <tt class="docutils literal"><span class="pre">session::add_torrent()</span></tt> (see <a class="reference internal" href="#add-torrent">add_torrent()</a>).</p>
|
||||
argument to <tt class="docutils literal"><span class="pre">session::add_torrent()</span></tt> (see <a href="#id280"><span class="problematic" id="id281">`add_torrent()`_</span></a>).</p>
|
||||
<p>The decision to use full allocation or compact allocation typically depends on whether
|
||||
any files have priority 0 and if the filesystem supports sparse files.</p>
|
||||
<div class="section" id="sparse-allocation">
|
||||
|
@ -9027,6 +9118,33 @@ altogether. You can use:</p>
|
|||
boost::filesystem::path::default_name_check(boost::filesystem::native);
|
||||
</pre>
|
||||
<p>for example. For more information, see the <a class="reference external" href="http://www.boost.org/libs/filesystem/doc/index.htm">Boost.Filesystem docs</a>.</p>
|
||||
</div>
|
||||
<div class="system-messages section">
|
||||
<h1>Docutils System Messages</h1>
|
||||
<div class="system-message" id="id266">
|
||||
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">manual.rst</tt>, line 25); <em><a href="#id267">backlink</a></em></p>
|
||||
Unknown target name: "add_torrent()".</div>
|
||||
<div class="system-message" id="id268">
|
||||
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">manual.rst</tt>, line 1189); <em><a href="#id269">backlink</a></em></p>
|
||||
Unknown target name: "add_torrent()".</div>
|
||||
<div class="system-message" id="id270">
|
||||
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">manual.rst</tt>, line 2538); <em><a href="#id271">backlink</a></em></p>
|
||||
Unknown target name: "add_torrent()".</div>
|
||||
<div class="system-message" id="id272">
|
||||
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">manual.rst</tt>, line 4741); <em><a href="#id273">backlink</a></em></p>
|
||||
Unknown target name: "add_torrent()".</div>
|
||||
<div class="system-message" id="id274">
|
||||
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">manual.rst</tt>, line 6054); <em><a href="#id275">backlink</a></em></p>
|
||||
Unknown target name: "add_torrent()".</div>
|
||||
<div class="system-message" id="id276">
|
||||
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">manual.rst</tt>, line 8445); <em><a href="#id277">backlink</a></em></p>
|
||||
Unknown target name: "add_torrent()".</div>
|
||||
<div class="system-message" id="id278">
|
||||
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">manual.rst</tt>, line 8508); <em><a href="#id279">backlink</a></em></p>
|
||||
Unknown target name: "add_torrent()".</div>
|
||||
<div class="system-message" id="id280">
|
||||
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">manual.rst</tt>, line 8703); <em><a href="#id281">backlink</a></em></p>
|
||||
Unknown target name: "add_torrent()".</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
|
|
|
@ -2,25 +2,23 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<script type="text/javascript">
|
||||
/* <![CDATA[ */
|
||||
(function() {
|
||||
var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
|
||||
|
||||
s.type = 'text/javascript';
|
||||
s.async = true;
|
||||
s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
|
||||
|
||||
t.parentNode.insertBefore(s, t);
|
||||
})();
|
||||
/* ]]> */
|
||||
</script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
|
||||
<title>libtorrent python binding</title>
|
||||
<meta name="author" content="Arvid Norberg, arvid@rasterbar.com" />
|
||||
<link rel="stylesheet" type="text/css" href="../../css/base.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../css/rst.css" />
|
||||
<script type="text/javascript">
|
||||
/* <![CDATA[ */
|
||||
(function() {
|
||||
var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
|
||||
s.type = 'text/javascript';
|
||||
s.async = true;
|
||||
s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
|
||||
t.parentNode.insertBefore(s, t);
|
||||
})();
|
||||
/* ]]> */
|
||||
</script>
|
||||
<link rel="stylesheet" href="style.css" type="text/css" />
|
||||
<style type="text/css">
|
||||
/* Hides from IE-mac \*/
|
||||
|
@ -101,7 +99,7 @@ using python : 2.3 ;
|
|||
you've installed python in a non-standard location, you have to add the prefix
|
||||
path used when you installed python as a second option. Like this:</p>
|
||||
<pre class="literal-block">
|
||||
using python : 2.3 : /usr ;
|
||||
using python : 2.6 : /usr/bin/python2.6 : /usr/include/python2.6 : /usr/lib/python2.6 ;
|
||||
</pre>
|
||||
<p>The bindings require <em>at least</em> python version 2.2.</p>
|
||||
<p>For more information on how to install and set up boost-build, see the
|
||||
|
|
Loading…
Reference in New Issue