regenerated html

This commit is contained in:
Arvid Norberg 2009-12-09 04:19:59 +00:00
parent df2f2570c2
commit 13cb43ffc0
4 changed files with 301 additions and 235 deletions

View File

@ -55,7 +55,7 @@
<li><a class="reference external" href="dht_extensions.html">DHT extensions</a></li> <li><a class="reference external" href="dht_extensions.html">DHT extensions</a></li>
<li><a class="reference external" href="udp_tracker_protocol.html">UDP tracker protocol</a></li> <li><a class="reference external" href="udp_tracker_protocol.html">UDP tracker protocol</a></li>
<li><a class="reference external" href="http://www.getright.com/seedtorrent.html">HTTP seed</a></li> <li><a class="reference external" href="http://www.getright.com/seedtorrent.html">HTTP seed</a></li>
<li><a class="reference external" href="http://home.elp.rr.com/tur/multitracker-spec.txt">multitracker</a></li> <li><a class="reference external" href="http://bittorrent.org/beps/bep_0012.html">multitracker</a></li>
</ul> </ul>
<hr class="docutils" /> <hr class="docutils" />
<p>Bindings</p> <p>Bindings</p>

View File

@ -50,246 +50,247 @@
<li><a class="reference internal" href="#session" id="id19">session</a><ul> <li><a class="reference internal" href="#session" id="id19">session</a><ul>
<li><a class="reference internal" href="#id1" id="id20">session()</a></li> <li><a class="reference internal" href="#id1" id="id20">session()</a></li>
<li><a class="reference internal" href="#id2" id="id21">~session()</a></li> <li><a class="reference internal" href="#id2" id="id21">~session()</a></li>
<li><a class="reference internal" href="#pause-resume-is-paused" id="id22">pause() resume() is_paused()</a></li> <li><a class="reference internal" href="#load-state-save-state" id="id22">load_state() save_state()</a></li>
<li><a class="reference internal" href="#abort" id="id23">abort()</a></li> <li><a class="reference internal" href="#pause-resume-is-paused" id="id23">pause() resume() is_paused()</a></li>
<li><a class="reference internal" href="#add-torrent" id="id24">add_torrent()</a></li> <li><a class="reference internal" href="#abort" id="id24">abort()</a></li>
<li><a class="reference internal" href="#remove-torrent" id="id25">remove_torrent()</a></li> <li><a class="reference internal" href="#add-torrent" id="id25">add_torrent()</a></li>
<li><a class="reference internal" href="#find-torrent-get-torrents" id="id26">find_torrent() get_torrents()</a></li> <li><a class="reference internal" href="#remove-torrent" id="id26">remove_torrent()</a></li>
<li><a class="reference internal" href="#set-upload-rate-limit-set-download-rate-limit-upload-rate-limit-download-rate-limit" id="id27">set_upload_rate_limit() set_download_rate_limit() upload_rate_limit() download_rate_limit()</a></li> <li><a class="reference internal" href="#find-torrent-get-torrents" id="id27">find_torrent() get_torrents()</a></li>
<li><a class="reference internal" href="#set-local-upload-rate-limit-set-local-download-rate-limit-local-upload-rate-limit-local-download-rate-limit" id="id28">set_local_upload_rate_limit() set_local_download_rate_limit() local_upload_rate_limit() local_download_rate_limit()</a></li> <li><a class="reference internal" href="#set-upload-rate-limit-set-download-rate-limit-upload-rate-limit-download-rate-limit" id="id28">set_upload_rate_limit() set_download_rate_limit() upload_rate_limit() download_rate_limit()</a></li>
<li><a class="reference internal" href="#set-max-uploads-set-max-connections-max-uploads-max-connections" id="id29">set_max_uploads() set_max_connections() max_uploads() max_connections()</a></li> <li><a class="reference internal" href="#set-local-upload-rate-limit-set-local-download-rate-limit-local-upload-rate-limit-local-download-rate-limit" id="id29">set_local_upload_rate_limit() set_local_download_rate_limit() local_upload_rate_limit() local_download_rate_limit()</a></li>
<li><a class="reference internal" href="#num-uploads-num-connections" id="id30">num_uploads() num_connections()</a></li> <li><a class="reference internal" href="#set-max-uploads-set-max-connections-max-uploads-max-connections" id="id30">set_max_uploads() set_max_connections() max_uploads() max_connections()</a></li>
<li><a class="reference internal" href="#set-max-half-open-connections-max-half-open-connections" id="id31">set_max_half_open_connections() max_half_open_connections()</a></li> <li><a class="reference internal" href="#num-uploads-num-connections" id="id31">num_uploads() num_connections()</a></li>
<li><a class="reference internal" href="#load-asnum-db-load-country-db-int-as-for-ip" id="id32">load_asnum_db() load_country_db() int as_for_ip()</a></li> <li><a class="reference internal" href="#set-max-half-open-connections-max-half-open-connections" id="id32">set_max_half_open_connections() max_half_open_connections()</a></li>
<li><a class="reference internal" href="#load-state-state" id="id33">load_state() state()</a></li> <li><a class="reference internal" href="#load-asnum-db-load-country-db-int-as-for-ip" id="id33">load_asnum_db() load_country_db() int as_for_ip()</a></li>
<li><a class="reference internal" href="#set-ip-filter" id="id34">set_ip_filter()</a></li> <li><a class="reference internal" href="#load-state-state" id="id34">load_state() state()</a></li>
<li><a class="reference internal" href="#get-ip-filter" id="id35">get_ip_filter()</a></li> <li><a class="reference internal" href="#set-ip-filter" id="id35">set_ip_filter()</a></li>
<li><a class="reference internal" href="#status" id="id36">status()</a></li> <li><a class="reference internal" href="#get-ip-filter" id="id36">get_ip_filter()</a></li>
<li><a class="reference internal" href="#get-cache-status" id="id37">get_cache_status()</a></li> <li><a class="reference internal" href="#status" id="id37">status()</a></li>
<li><a class="reference internal" href="#get-cache-info" id="id38">get_cache_info()</a></li> <li><a class="reference internal" href="#get-cache-status" id="id38">get_cache_status()</a></li>
<li><a class="reference internal" href="#is-listening-listen-port-listen-on" id="id39">is_listening() listen_port() listen_on()</a></li> <li><a class="reference internal" href="#get-cache-info" id="id39">get_cache_info()</a></li>
<li><a class="reference internal" href="#set-alert-mask" id="id40">set_alert_mask()</a></li> <li><a class="reference internal" href="#is-listening-listen-port-listen-on" id="id40">is_listening() listen_port() listen_on()</a></li>
<li><a class="reference internal" href="#pop-alert-wait-for-alert-set-alert-queue-size-limit" id="id41">pop_alert() wait_for_alert() set_alert_queue_size_limit()</a></li> <li><a class="reference internal" href="#set-alert-mask" id="id41">set_alert_mask()</a></li>
<li><a class="reference internal" href="#add-extension" id="id42">add_extension()</a></li> <li><a class="reference internal" href="#pop-alert-wait-for-alert-set-alert-queue-size-limit" id="id42">pop_alert() wait_for_alert() set_alert_queue_size_limit()</a></li>
<li><a class="reference internal" href="#set-settings-set-pe-settings" id="id43">set_settings() set_pe_settings()</a></li> <li><a class="reference internal" href="#add-extension" id="id43">add_extension()</a></li>
<li><a class="reference internal" href="#set-peer-proxy-set-web-seed-proxy-set-tracker-proxy-set-dht-proxy" id="id44">set_peer_proxy() set_web_seed_proxy() set_tracker_proxy() set_dht_proxy()</a></li> <li><a class="reference internal" href="#set-settings-set-pe-settings" id="id44">set_settings() set_pe_settings()</a></li>
<li><a class="reference internal" href="#peer-proxy-web-seed-proxy-tracker-proxy-dht-proxy" id="id45">peer_proxy() web_seed_proxy() tracker_proxy() dht_proxy()</a></li> <li><a class="reference internal" href="#set-peer-proxy-set-web-seed-proxy-set-tracker-proxy-set-dht-proxy" id="id45">set_peer_proxy() set_web_seed_proxy() set_tracker_proxy() set_dht_proxy()</a></li>
<li><a class="reference internal" href="#set-i2p-proxy-i2p-proxy" id="id46">set_i2p_proxy() i2p_proxy()</a></li> <li><a class="reference internal" href="#peer-proxy-web-seed-proxy-tracker-proxy-dht-proxy" id="id46">peer_proxy() web_seed_proxy() tracker_proxy() dht_proxy()</a></li>
<li><a class="reference internal" href="#start-dht-stop-dht-set-dht-settings-dht-state-is-dht-running" id="id47">start_dht() stop_dht() set_dht_settings() dht_state() is_dht_running()</a></li> <li><a class="reference internal" href="#set-i2p-proxy-i2p-proxy" id="id47">set_i2p_proxy() i2p_proxy()</a></li>
<li><a class="reference internal" href="#add-dht-node-add-dht-router" id="id48">add_dht_node() add_dht_router()</a></li> <li><a class="reference internal" href="#start-dht-stop-dht-set-dht-settings-dht-state-is-dht-running" id="id48">start_dht() stop_dht() set_dht_settings() dht_state() is_dht_running()</a></li>
<li><a class="reference internal" href="#start-lsd-stop-lsd" id="id49">start_lsd() stop_lsd()</a></li> <li><a class="reference internal" href="#add-dht-node-add-dht-router" id="id49">add_dht_node() add_dht_router()</a></li>
<li><a class="reference internal" href="#start-upnp-stop-upnp" id="id50">start_upnp() stop_upnp()</a></li> <li><a class="reference internal" href="#start-lsd-stop-lsd" id="id50">start_lsd() stop_lsd()</a></li>
<li><a class="reference internal" href="#start-natpmp-stop-natpmp" id="id51">start_natpmp() stop_natpmp()</a></li> <li><a class="reference internal" href="#start-upnp-stop-upnp" id="id51">start_upnp() stop_upnp()</a></li>
<li><a class="reference internal" href="#start-natpmp-stop-natpmp" id="id52">start_natpmp() stop_natpmp()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#entry" id="id52">entry</a><ul> <li><a class="reference internal" href="#entry" id="id53">entry</a><ul>
<li><a class="reference internal" href="#integer-string-list-dict-type" id="id53">integer() string() list() dict() type()</a></li> <li><a class="reference internal" href="#integer-string-list-dict-type" id="id54">integer() string() list() dict() type()</a></li>
<li><a class="reference internal" href="#operator" id="id54">operator[]</a></li> <li><a class="reference internal" href="#operator" id="id55">operator[]</a></li>
<li><a class="reference internal" href="#find-key" id="id55">find_key()</a></li> <li><a class="reference internal" href="#find-key" id="id56">find_key()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#torrent-info" id="id56">torrent_info</a><ul> <li><a class="reference internal" href="#torrent-info" id="id57">torrent_info</a><ul>
<li><a class="reference internal" href="#id3" id="id57">torrent_info()</a></li> <li><a class="reference internal" href="#id3" id="id58">torrent_info()</a></li>
<li><a class="reference internal" href="#add-tracker" id="id58">add_tracker()</a></li> <li><a class="reference internal" href="#add-tracker" id="id59">add_tracker()</a></li>
<li><a class="reference internal" href="#files-orig-files" id="id59">files() orig_files()</a></li> <li><a class="reference internal" href="#files-orig-files" id="id60">files() orig_files()</a></li>
<li><a class="reference internal" href="#remap-files" id="id60">remap_files()</a></li> <li><a class="reference internal" href="#remap-files" id="id61">remap_files()</a></li>
<li><a class="reference internal" href="#rename-file" id="id61">rename_file()</a></li> <li><a class="reference internal" href="#rename-file" id="id62">rename_file()</a></li>
<li><a class="reference internal" href="#begin-files-end-files-rbegin-files-rend-files" id="id62">begin_files() end_files() rbegin_files() rend_files()</a></li> <li><a class="reference internal" href="#begin-files-end-files-rbegin-files-rend-files" id="id63">begin_files() end_files() rbegin_files() rend_files()</a></li>
<li><a class="reference internal" href="#num-files-file-at" id="id63">num_files() file_at()</a></li> <li><a class="reference internal" href="#num-files-file-at" id="id64">num_files() file_at()</a></li>
<li><a class="reference internal" href="#map-block" id="id64">map_block()</a></li> <li><a class="reference internal" href="#map-block" id="id65">map_block()</a></li>
<li><a class="reference internal" href="#map-file" id="id65">map_file()</a></li> <li><a class="reference internal" href="#map-file" id="id66">map_file()</a></li>
<li><a class="reference internal" href="#url-seeds-add-url-seed-http-seeds-add-http-seed" id="id66">url_seeds() add_url_seed() http_seeds() add_http_seed()</a></li> <li><a class="reference internal" href="#url-seeds-add-url-seed-http-seeds-add-http-seed" id="id67">url_seeds() add_url_seed() http_seeds() add_http_seed()</a></li>
<li><a class="reference internal" href="#trackers" id="id67">trackers()</a></li> <li><a class="reference internal" href="#trackers" id="id68">trackers()</a></li>
<li><a class="reference internal" href="#total-size-piece-length-piece-size-num-pieces" id="id68">total_size() piece_length() piece_size() num_pieces()</a></li> <li><a class="reference internal" href="#total-size-piece-length-piece-size-num-pieces" id="id69">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="id69">hash_for_piece() hash_for_piece_ptr() info_hash()</a></li> <li><a class="reference internal" href="#hash-for-piece-hash-for-piece-ptr-info-hash" id="id70">hash_for_piece() hash_for_piece_ptr() info_hash()</a></li>
<li><a class="reference internal" href="#name-comment-creation-date-creator" id="id70">name() comment() creation_date() creator()</a></li> <li><a class="reference internal" href="#name-comment-creation-date-creator" id="id71">name() comment() creation_date() creator()</a></li>
<li><a class="reference internal" href="#priv" id="id71">priv()</a></li> <li><a class="reference internal" href="#priv" id="id72">priv()</a></li>
<li><a class="reference internal" href="#nodes" id="id72">nodes()</a></li> <li><a class="reference internal" href="#nodes" id="id73">nodes()</a></li>
<li><a class="reference internal" href="#add-node" id="id73">add_node()</a></li> <li><a class="reference internal" href="#add-node" id="id74">add_node()</a></li>
<li><a class="reference internal" href="#metadata-metadata-size" id="id74">metadata() metadata_size()</a></li> <li><a class="reference internal" href="#metadata-metadata-size" id="id75">metadata() metadata_size()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#torrent-handle" id="id75">torrent_handle</a><ul> <li><a class="reference internal" href="#torrent-handle" id="id76">torrent_handle</a><ul>
<li><a class="reference internal" href="#set-piece-deadline" id="id76">set_piece_deadline()</a></li> <li><a class="reference internal" href="#set-piece-deadline" id="id77">set_piece_deadline()</a></li>
<li><a class="reference internal" href="#piece-availability" id="id77">piece_availability()</a></li> <li><a class="reference internal" href="#piece-availability" id="id78">piece_availability()</a></li>
<li><a class="reference internal" href="#piece-priority-prioritize-pieces-piece-priorities" id="id78">piece_priority() prioritize_pieces() piece_priorities()</a></li> <li><a class="reference internal" href="#piece-priority-prioritize-pieces-piece-priorities" id="id79">piece_priority() prioritize_pieces() piece_priorities()</a></li>
<li><a class="reference internal" href="#file-priority-prioritize-files-file-priorities" id="id79">file_priority() prioritize_files() file_priorities()</a></li> <li><a class="reference internal" href="#file-priority-prioritize-files-file-priorities" id="id80">file_priority() prioritize_files() file_priorities()</a></li>
<li><a class="reference internal" href="#file-progress" id="id80">file_progress()</a></li> <li><a class="reference internal" href="#file-progress" id="id81">file_progress()</a></li>
<li><a class="reference internal" href="#save-path" id="id81">save_path()</a></li> <li><a class="reference internal" href="#save-path" id="id82">save_path()</a></li>
<li><a class="reference internal" href="#move-storage" id="id82">move_storage()</a></li> <li><a class="reference internal" href="#move-storage" id="id83">move_storage()</a></li>
<li><a class="reference internal" href="#id5" id="id83">rename_file()</a></li> <li><a class="reference internal" href="#id5" id="id84">rename_file()</a></li>
<li><a class="reference internal" href="#get-storage-impl" id="id84">get_storage_impl()</a></li> <li><a class="reference internal" href="#get-storage-impl" id="id85">get_storage_impl()</a></li>
<li><a class="reference internal" href="#super-seeding" id="id85">super_seeding()</a></li> <li><a class="reference internal" href="#super-seeding" id="id86">super_seeding()</a></li>
<li><a class="reference internal" href="#add-piece" id="id86">add_piece()</a></li> <li><a class="reference internal" href="#add-piece" id="id87">add_piece()</a></li>
<li><a class="reference internal" href="#read-piece" id="id87">read_piece()</a></li> <li><a class="reference internal" href="#read-piece" id="id88">read_piece()</a></li>
<li><a class="reference internal" href="#force-reannounce-force-dht-announce" id="id88">force_reannounce() force_dht_announce()</a></li> <li><a class="reference internal" href="#force-reannounce-force-dht-announce" id="id89">force_reannounce() force_dht_announce()</a></li>
<li><a class="reference internal" href="#scrape-tracker" id="id89">scrape_tracker()</a></li> <li><a class="reference internal" href="#scrape-tracker" id="id90">scrape_tracker()</a></li>
<li><a class="reference internal" href="#connect-peer" id="id90">connect_peer()</a></li> <li><a class="reference internal" href="#connect-peer" id="id91">connect_peer()</a></li>
<li><a class="reference internal" href="#name" id="id91">name()</a></li> <li><a class="reference internal" href="#name" id="id92">name()</a></li>
<li><a class="reference internal" href="#set-ratio" id="id92">set_ratio()</a></li> <li><a class="reference internal" href="#set-ratio" id="id93">set_ratio()</a></li>
<li><a class="reference internal" href="#set-upload-limit-set-download-limit-upload-limit-download-limit" id="id93">set_upload_limit() set_download_limit() upload_limit() download_limit()</a></li> <li><a class="reference internal" href="#set-upload-limit-set-download-limit-upload-limit-download-limit" id="id94">set_upload_limit() set_download_limit() upload_limit() download_limit()</a></li>
<li><a class="reference internal" href="#set-sequential-download-is-sequential-download" id="id94">set_sequential_download() is_sequential_download()</a></li> <li><a class="reference internal" href="#set-sequential-download-is-sequential-download" id="id95">set_sequential_download() is_sequential_download()</a></li>
<li><a class="reference internal" href="#set-peer-upload-limit-set-peer-download-limit" id="id95">set_peer_upload_limit() set_peer_download_limit()</a></li> <li><a class="reference internal" href="#set-peer-upload-limit-set-peer-download-limit" id="id96">set_peer_upload_limit() set_peer_download_limit()</a></li>
<li><a class="reference internal" href="#id6" id="id96">pause() resume() is_paused()</a></li> <li><a class="reference internal" href="#id6" id="id97">pause() resume() is_paused()</a></li>
<li><a class="reference internal" href="#force-recheck" id="id97">force_recheck()</a></li> <li><a class="reference internal" href="#force-recheck" id="id98">force_recheck()</a></li>
<li><a class="reference internal" href="#clear-error" id="id98">clear_error()</a></li> <li><a class="reference internal" href="#clear-error" id="id99">clear_error()</a></li>
<li><a class="reference internal" href="#set-upload-mode" id="id99">set_upload_mode()</a></li> <li><a class="reference internal" href="#set-upload-mode" id="id100">set_upload_mode()</a></li>
<li><a class="reference internal" href="#resolve-countries" id="id100">resolve_countries()</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="id101">is_seed()</a></li> <li><a class="reference internal" href="#is-seed" id="id102">is_seed()</a></li>
<li><a class="reference internal" href="#is-auto-managed-auto-managed" id="id102">is_auto_managed() auto_managed()</a></li> <li><a class="reference internal" href="#is-auto-managed-auto-managed" id="id103">is_auto_managed() auto_managed()</a></li>
<li><a class="reference internal" href="#has-metadata-set-metadata" id="id103">has_metadata() set_metadata()</a></li> <li><a class="reference internal" href="#has-metadata-set-metadata" id="id104">has_metadata() 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="#set-tracker-login" id="id105">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="#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="id106">add_url_seed() remove_url_seed() url_seeds()</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="id107">add_http_seed() remove_http_seed() http_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="id108">queue_position() queue_position_up() queue_position_down() queue_position_top() queue_position_bottom()</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="id109">set_priority()</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="id110">use_interface()</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="id111">info_hash()</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-set-max-connections-max-connections" id="id112">set_max_uploads() max_uploads() set_max_connections() max_connections()</a></li> <li><a class="reference internal" href="#set-max-uploads-max-uploads-set-max-connections-max-connections" id="id113">set_max_uploads() max_uploads() set_max_connections() max_connections()</a></li>
<li><a class="reference internal" href="#save-resume-data" id="id113">save_resume_data()</a></li> <li><a class="reference internal" href="#save-resume-data" id="id114">save_resume_data()</a></li>
<li><a class="reference internal" href="#id7" id="id114">status()</a></li> <li><a class="reference internal" href="#id7" id="id115">status()</a></li>
<li><a class="reference internal" href="#get-download-queue" id="id115">get_download_queue()</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-peer-info" id="id116">get_peer_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="#get-torrent-info" id="id117">get_torrent_info()</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="id118">is_valid()</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="#session-customization" id="id121">session customization</a><ul> <li><a class="reference internal" href="#session-customization" id="id122">session customization</a><ul>
<li><a class="reference internal" href="#presets" id="id122">presets</a></li> <li><a class="reference internal" href="#presets" id="id123">presets</a></li>
<li><a class="reference internal" href="#session-settings" id="id123">session_settings</a></li> <li><a class="reference internal" href="#session-settings" id="id124">session_settings</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#pe-settings" id="id124">pe_settings</a></li> <li><a class="reference internal" href="#pe-settings" id="id125">pe_settings</a></li>
<li><a class="reference internal" href="#proxy-settings" id="id125">proxy_settings</a></li> <li><a class="reference internal" href="#proxy-settings" id="id126">proxy_settings</a></li>
<li><a class="reference internal" href="#ip-filter" id="id126">ip_filter</a><ul> <li><a class="reference internal" href="#ip-filter" id="id127">ip_filter</a><ul>
<li><a class="reference internal" href="#id10" id="id127">ip_filter()</a></li> <li><a class="reference internal" href="#id10" id="id128">ip_filter()</a></li>
<li><a class="reference internal" href="#add-rule" id="id128">add_rule()</a></li> <li><a class="reference internal" href="#add-rule" id="id129">add_rule()</a></li>
<li><a class="reference internal" href="#access" id="id129">access()</a></li> <li><a class="reference internal" href="#access" id="id130">access()</a></li>
<li><a class="reference internal" href="#export-filter" id="id130">export_filter()</a></li> <li><a class="reference internal" href="#export-filter" id="id131">export_filter()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#big-number" id="id131">big_number</a></li> <li><a class="reference internal" href="#big-number" id="id132">big_number</a></li>
<li><a class="reference internal" href="#bitfield" id="id132">bitfield</a></li> <li><a class="reference internal" href="#bitfield" id="id133">bitfield</a></li>
<li><a class="reference internal" href="#hasher" id="id133">hasher</a></li> <li><a class="reference internal" href="#hasher" id="id134">hasher</a></li>
<li><a class="reference internal" href="#fingerprint" id="id134">fingerprint</a></li> <li><a class="reference internal" href="#fingerprint" id="id135">fingerprint</a></li>
<li><a class="reference internal" href="#upnp-and-nat-pmp" id="id135">UPnP and NAT-PMP</a><ul> <li><a class="reference internal" href="#upnp-and-nat-pmp" id="id136">UPnP and NAT-PMP</a><ul>
<li><a class="reference internal" href="#add-mapping" id="id136">add_mapping</a></li> <li><a class="reference internal" href="#add-mapping" id="id137">add_mapping</a></li>
<li><a class="reference internal" href="#delete-mapping" id="id137">delete_mapping</a></li> <li><a class="reference internal" href="#delete-mapping" id="id138">delete_mapping</a></li>
<li><a class="reference internal" href="#router-model" id="id138">router_model()</a></li> <li><a class="reference internal" href="#router-model" id="id139">router_model()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#free-functions" id="id139">free functions</a><ul> <li><a class="reference internal" href="#free-functions" id="id140">free functions</a><ul>
<li><a class="reference internal" href="#identify-client" id="id140">identify_client()</a></li> <li><a class="reference internal" href="#identify-client" id="id141">identify_client()</a></li>
<li><a class="reference internal" href="#client-fingerprint" id="id141">client_fingerprint()</a></li> <li><a class="reference internal" href="#client-fingerprint" id="id142">client_fingerprint()</a></li>
<li><a class="reference internal" href="#bdecode-bencode" id="id142">bdecode() bencode()</a></li> <li><a class="reference internal" href="#bdecode-bencode" id="id143">bdecode() bencode()</a></li>
<li><a class="reference internal" href="#add-magnet-uri" id="id143">add_magnet_uri()</a></li> <li><a class="reference internal" href="#add-magnet-uri" id="id144">add_magnet_uri()</a></li>
<li><a class="reference internal" href="#make-magnet-uri" id="id144">make_magnet_uri()</a></li> <li><a class="reference internal" href="#make-magnet-uri" id="id145">make_magnet_uri()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#alerts" id="id145">alerts</a><ul> <li><a class="reference internal" href="#alerts" id="id146">alerts</a><ul>
<li><a class="reference internal" href="#read-piece-alert" id="id146">read_piece_alert</a></li> <li><a class="reference internal" href="#read-piece-alert" id="id147">read_piece_alert</a></li>
<li><a class="reference internal" href="#external-ip-alert" id="id147">external_ip_alert</a></li> <li><a class="reference internal" href="#external-ip-alert" id="id148">external_ip_alert</a></li>
<li><a class="reference internal" href="#listen-failed-alert" id="id148">listen_failed_alert</a></li> <li><a class="reference internal" href="#listen-failed-alert" id="id149">listen_failed_alert</a></li>
<li><a class="reference internal" href="#listen-succeeded-alert" id="id149">listen_succeeded_alert</a></li> <li><a class="reference internal" href="#listen-succeeded-alert" id="id150">listen_succeeded_alert</a></li>
<li><a class="reference internal" href="#portmap-error-alert" id="id150">portmap_error_alert</a></li> <li><a class="reference internal" href="#portmap-error-alert" id="id151">portmap_error_alert</a></li>
<li><a class="reference internal" href="#portmap-alert" id="id151">portmap_alert</a></li> <li><a class="reference internal" href="#portmap-alert" id="id152">portmap_alert</a></li>
<li><a class="reference internal" href="#portmap-log-alert" id="id152">portmap_log_alert</a></li> <li><a class="reference internal" href="#portmap-log-alert" id="id153">portmap_log_alert</a></li>
<li><a class="reference internal" href="#file-error-alert" id="id153">file_error_alert</a></li> <li><a class="reference internal" href="#file-error-alert" id="id154">file_error_alert</a></li>
<li><a class="reference internal" href="#file-renamed-alert" id="id154">file_renamed_alert</a></li> <li><a class="reference internal" href="#file-renamed-alert" id="id155">file_renamed_alert</a></li>
<li><a class="reference internal" href="#file-rename-failed-alert" id="id155">file_rename_failed_alert</a></li> <li><a class="reference internal" href="#file-rename-failed-alert" id="id156">file_rename_failed_alert</a></li>
<li><a class="reference internal" href="#tracker-announce-alert" id="id156">tracker_announce_alert</a></li> <li><a class="reference internal" href="#tracker-announce-alert" id="id157">tracker_announce_alert</a></li>
<li><a class="reference internal" href="#tracker-error-alert" id="id157">tracker_error_alert</a></li> <li><a class="reference internal" href="#tracker-error-alert" id="id158">tracker_error_alert</a></li>
<li><a class="reference internal" href="#tracker-reply-alert" id="id158">tracker_reply_alert</a></li> <li><a class="reference internal" href="#tracker-reply-alert" id="id159">tracker_reply_alert</a></li>
<li><a class="reference internal" href="#dht-reply-alert" id="id159">dht_reply_alert</a></li> <li><a class="reference internal" href="#dht-reply-alert" id="id160">dht_reply_alert</a></li>
<li><a class="reference internal" href="#tracker-warning-alert" id="id160">tracker_warning_alert</a></li> <li><a class="reference internal" href="#tracker-warning-alert" id="id161">tracker_warning_alert</a></li>
<li><a class="reference internal" href="#scrape-reply-alert" id="id161">scrape_reply_alert</a></li> <li><a class="reference internal" href="#scrape-reply-alert" id="id162">scrape_reply_alert</a></li>
<li><a class="reference internal" href="#scrape-failed-alert" id="id162">scrape_failed_alert</a></li> <li><a class="reference internal" href="#scrape-failed-alert" id="id163">scrape_failed_alert</a></li>
<li><a class="reference internal" href="#url-seed-alert" id="id163">url_seed_alert</a></li> <li><a class="reference internal" href="#url-seed-alert" id="id164">url_seed_alert</a></li>
<li><a class="reference internal" href="#hash-failed-alert" id="id164">hash_failed_alert</a></li> <li><a class="reference internal" href="#hash-failed-alert" id="id165">hash_failed_alert</a></li>
<li><a class="reference internal" href="#peer-alert" id="id165">peer_alert</a></li> <li><a class="reference internal" href="#peer-alert" id="id166">peer_alert</a></li>
<li><a class="reference internal" href="#peer-connect-alert" id="id166">peer_connect_alert</a></li> <li><a class="reference internal" href="#peer-connect-alert" id="id167">peer_connect_alert</a></li>
<li><a class="reference internal" href="#peer-ban-alert" id="id167">peer_ban_alert</a></li> <li><a class="reference internal" href="#peer-ban-alert" id="id168">peer_ban_alert</a></li>
<li><a class="reference internal" href="#peer-snubbed-alert" id="id168">peer_snubbed_alert</a></li> <li><a class="reference internal" href="#peer-snubbed-alert" id="id169">peer_snubbed_alert</a></li>
<li><a class="reference internal" href="#peer-unsnubbed-alert" id="id169">peer_unsnubbed_alert</a></li> <li><a class="reference internal" href="#peer-unsnubbed-alert" id="id170">peer_unsnubbed_alert</a></li>
<li><a class="reference internal" href="#peer-error-alert" id="id170">peer_error_alert</a></li> <li><a class="reference internal" href="#peer-error-alert" id="id171">peer_error_alert</a></li>
<li><a class="reference internal" href="#peer-connected-alert" id="id171">peer_connected_alert</a></li> <li><a class="reference internal" href="#peer-connected-alert" id="id172">peer_connected_alert</a></li>
<li><a class="reference internal" href="#peer-disconnected-alert" id="id172">peer_disconnected_alert</a></li> <li><a class="reference internal" href="#peer-disconnected-alert" id="id173">peer_disconnected_alert</a></li>
<li><a class="reference internal" href="#invalid-request-alert" id="id173">invalid_request_alert</a></li> <li><a class="reference internal" href="#invalid-request-alert" id="id174">invalid_request_alert</a></li>
<li><a class="reference internal" href="#request-dropped-alert" id="id174">request_dropped_alert</a></li> <li><a class="reference internal" href="#request-dropped-alert" id="id175">request_dropped_alert</a></li>
<li><a class="reference internal" href="#block-timeout-alert" id="id175">block_timeout_alert</a></li> <li><a class="reference internal" href="#block-timeout-alert" id="id176">block_timeout_alert</a></li>
<li><a class="reference internal" href="#block-finished-alert" id="id176">block_finished_alert</a></li> <li><a class="reference internal" href="#block-finished-alert" id="id177">block_finished_alert</a></li>
<li><a class="reference internal" href="#file-completed-alert" id="id177">file_completed_alert</a></li> <li><a class="reference internal" href="#file-completed-alert" id="id178">file_completed_alert</a></li>
<li><a class="reference internal" href="#block-downloading-alert" id="id178">block_downloading_alert</a></li> <li><a class="reference internal" href="#block-downloading-alert" id="id179">block_downloading_alert</a></li>
<li><a class="reference internal" href="#unwanted-block-alert" id="id179">unwanted_block_alert</a></li> <li><a class="reference internal" href="#unwanted-block-alert" id="id180">unwanted_block_alert</a></li>
<li><a class="reference internal" href="#torrent-delete-failed-alert" id="id180">torrent_delete_failed_alert</a></li> <li><a class="reference internal" href="#torrent-delete-failed-alert" id="id181">torrent_delete_failed_alert</a></li>
<li><a class="reference internal" href="#torrent-finished-alert" id="id181">torrent_finished_alert</a></li> <li><a class="reference internal" href="#torrent-finished-alert" id="id182">torrent_finished_alert</a></li>
<li><a class="reference internal" href="#performance-alert" id="id182">performance_alert</a></li> <li><a class="reference internal" href="#performance-alert" id="id183">performance_alert</a></li>
<li><a class="reference internal" href="#state-changed-alert" id="id183">state_changed_alert</a></li> <li><a class="reference internal" href="#state-changed-alert" id="id184">state_changed_alert</a></li>
<li><a class="reference internal" href="#metadata-failed-alert" id="id184">metadata_failed_alert</a></li> <li><a class="reference internal" href="#metadata-failed-alert" id="id185">metadata_failed_alert</a></li>
<li><a class="reference internal" href="#metadata-received-alert" id="id185">metadata_received_alert</a></li> <li><a class="reference internal" href="#metadata-received-alert" id="id186">metadata_received_alert</a></li>
<li><a class="reference internal" href="#fastresume-rejected-alert" id="id186">fastresume_rejected_alert</a></li> <li><a class="reference internal" href="#fastresume-rejected-alert" id="id187">fastresume_rejected_alert</a></li>
<li><a class="reference internal" href="#peer-blocked-alert" id="id187">peer_blocked_alert</a></li> <li><a class="reference internal" href="#peer-blocked-alert" id="id188">peer_blocked_alert</a></li>
<li><a class="reference internal" href="#storage-moved-alert" id="id188">storage_moved_alert</a></li> <li><a class="reference internal" href="#storage-moved-alert" id="id189">storage_moved_alert</a></li>
<li><a class="reference internal" href="#storage-moved-failed-alert" id="id189">storage_moved_failed_alert</a></li> <li><a class="reference internal" href="#storage-moved-failed-alert" id="id190">storage_moved_failed_alert</a></li>
<li><a class="reference internal" href="#torrent-paused-alert" id="id190">torrent_paused_alert</a></li> <li><a class="reference internal" href="#torrent-paused-alert" id="id191">torrent_paused_alert</a></li>
<li><a class="reference internal" href="#torrent-resumed-alert" id="id191">torrent_resumed_alert</a></li> <li><a class="reference internal" href="#torrent-resumed-alert" id="id192">torrent_resumed_alert</a></li>
<li><a class="reference internal" href="#save-resume-data-alert" id="id192">save_resume_data_alert</a></li> <li><a class="reference internal" href="#save-resume-data-alert" id="id193">save_resume_data_alert</a></li>
<li><a class="reference internal" href="#save-resume-data-failed-alert" id="id193">save_resume_data_failed_alert</a></li> <li><a class="reference internal" href="#save-resume-data-failed-alert" id="id194">save_resume_data_failed_alert</a></li>
<li><a class="reference internal" href="#dht-announce-alert" id="id194">dht_announce_alert</a></li> <li><a class="reference internal" href="#dht-announce-alert" id="id195">dht_announce_alert</a></li>
<li><a class="reference internal" href="#dht-get-peers-alert" id="id195">dht_get_peers_alert</a></li> <li><a class="reference internal" href="#dht-get-peers-alert" id="id196">dht_get_peers_alert</a></li>
<li><a class="reference internal" href="#dispatcher" id="id196">dispatcher</a></li> <li><a class="reference internal" href="#dispatcher" id="id197">dispatcher</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#exceptions" id="id197">exceptions</a><ul> <li><a class="reference internal" href="#exceptions" id="id198">exceptions</a><ul>
<li><a class="reference internal" href="#libtorrent-exception" id="id198">libtorrent_exception</a></li> <li><a class="reference internal" href="#libtorrent-exception" id="id199">libtorrent_exception</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#error-code" id="id199">error_code</a><ul> <li><a class="reference internal" href="#error-code" id="id200">error_code</a><ul>
<li><a class="reference internal" href="#translating-error-codes" id="id200">translating error codes</a></li> <li><a class="reference internal" href="#translating-error-codes" id="id201">translating error codes</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#storage-interface" id="id201">storage_interface</a><ul> <li><a class="reference internal" href="#storage-interface" id="id202">storage_interface</a><ul>
<li><a class="reference internal" href="#initialize" id="id202">initialize()</a></li> <li><a class="reference internal" href="#initialize" id="id203">initialize()</a></li>
<li><a class="reference internal" href="#has-any-file" id="id203">has_any_file()</a></li> <li><a class="reference internal" href="#has-any-file" id="id204">has_any_file()</a></li>
<li><a class="reference internal" href="#readv-writev" id="id204">readv() writev()</a></li> <li><a class="reference internal" href="#readv-writev" id="id205">readv() writev()</a></li>
<li><a class="reference internal" href="#sparse-end" id="id205">sparse_end()</a></li> <li><a class="reference internal" href="#sparse-end" id="id206">sparse_end()</a></li>
<li><a class="reference internal" href="#id12" id="id206">move_storage()</a></li> <li><a class="reference internal" href="#id12" id="id207">move_storage()</a></li>
<li><a class="reference internal" href="#verify-resume-data" id="id207">verify_resume_data()</a></li> <li><a class="reference internal" href="#verify-resume-data" id="id208">verify_resume_data()</a></li>
<li><a class="reference internal" href="#write-resume-data" id="id208">write_resume_data()</a></li> <li><a class="reference internal" href="#write-resume-data" id="id209">write_resume_data()</a></li>
<li><a class="reference internal" href="#move-slot" id="id209">move_slot()</a></li> <li><a class="reference internal" href="#move-slot" id="id210">move_slot()</a></li>
<li><a class="reference internal" href="#swap-slots" id="id210">swap_slots()</a></li> <li><a class="reference internal" href="#swap-slots" id="id211">swap_slots()</a></li>
<li><a class="reference internal" href="#swap-slots3" id="id211">swap_slots3()</a></li> <li><a class="reference internal" href="#swap-slots3" id="id212">swap_slots3()</a></li>
<li><a class="reference internal" href="#id13" id="id212">rename_file()</a></li> <li><a class="reference internal" href="#id13" id="id213">rename_file()</a></li>
<li><a class="reference internal" href="#release-files" id="id213">release_files()</a></li> <li><a class="reference internal" href="#release-files" id="id214">release_files()</a></li>
<li><a class="reference internal" href="#delete-files" id="id214">delete_files()</a></li> <li><a class="reference internal" href="#delete-files" id="id215">delete_files()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#magnet-links" id="id215">magnet links</a></li> <li><a class="reference internal" href="#magnet-links" id="id216">magnet links</a></li>
<li><a class="reference internal" href="#queuing" id="id216">queuing</a><ul> <li><a class="reference internal" href="#queuing" id="id217">queuing</a><ul>
<li><a class="reference internal" href="#downloading" id="id217">downloading</a></li> <li><a class="reference internal" href="#downloading" id="id218">downloading</a></li>
<li><a class="reference internal" href="#seeding" id="id218">seeding</a></li> <li><a class="reference internal" href="#seeding" id="id219">seeding</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#fast-resume" id="id219">fast resume</a><ul> <li><a class="reference internal" href="#fast-resume" id="id220">fast resume</a><ul>
<li><a class="reference internal" href="#file-format" id="id220">file format</a></li> <li><a class="reference internal" href="#file-format" id="id221">file format</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#threads" id="id221">threads</a></li> <li><a class="reference internal" href="#threads" id="id222">threads</a></li>
<li><a class="reference internal" href="#storage-allocation" id="id222">storage allocation</a><ul> <li><a class="reference internal" href="#storage-allocation" id="id223">storage allocation</a><ul>
<li><a class="reference internal" href="#sparse-allocation" id="id223">sparse allocation</a></li> <li><a class="reference internal" href="#sparse-allocation" id="id224">sparse allocation</a></li>
<li><a class="reference internal" href="#full-allocation" id="id224">full allocation</a></li> <li><a class="reference internal" href="#full-allocation" id="id225">full allocation</a></li>
<li><a class="reference internal" href="#compact-allocation" id="id225">compact allocation</a></li> <li><a class="reference internal" href="#compact-allocation" id="id226">compact allocation</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#extensions" id="id226">extensions</a><ul> <li><a class="reference internal" href="#extensions" id="id227">extensions</a><ul>
<li><a class="reference internal" href="#metadata-from-peers" id="id227">metadata from peers</a></li> <li><a class="reference internal" href="#metadata-from-peers" id="id228">metadata from peers</a></li>
<li><a class="reference internal" href="#http-seeding" id="id228">HTTP seeding</a></li> <li><a class="reference internal" href="#http-seeding" id="id229">HTTP seeding</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference internal" href="#filename-checks" id="id229">filename checks</a></li> <li><a class="reference internal" href="#filename-checks" id="id230">filename checks</a></li>
</ul> </ul>
</div> </div>
<div class="section" id="overview"> <div class="section" id="overview">
@ -300,6 +301,8 @@ the <tt class="docutils literal"><span class="pre">session</span></tt>, it conta
<ul> <ul>
<li><p class="first">construct a session</p> <li><p class="first">construct a session</p>
</li> </li>
<li><p class="first">load session state from settings file (see <a class="reference internal" href="#load-state-save-state">load_state() save_state()</a>)</p>
</li>
<li><p class="first">start extensions (see <a class="reference internal" href="#add-extension">add_extension()</a>).</p> <li><p class="first">start extensions (see <a class="reference internal" href="#add-extension">add_extension()</a>).</p>
</li> </li>
<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> <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>
@ -319,6 +322,8 @@ the <tt class="docutils literal"><span class="pre">session</span></tt>, it conta
<li><p class="first">save resume data for all torrent_handles (optional, see <li><p class="first">save resume data for all torrent_handles (optional, see
<a class="reference internal" href="#save-resume-data">save_resume_data()</a>)</p> <a class="reference internal" href="#save-resume-data">save_resume_data()</a>)</p>
</li> </li>
<li><p class="first">save session state (see <a class="reference internal" href="#load-state-save-state">load_state() save_state()</a>)</p>
</li>
<li><p class="first">destruct session object</p> <li><p class="first">destruct session object</p>
</li> </li>
</ul> </ul>
@ -391,6 +396,9 @@ class session: public boost::noncopyable
| add_default_plugins | add_default_plugins
, int alert_mask = alert::error_notification); , int alert_mask = alert::error_notification);
void load_state(lazy_entry const&amp; e);
void save_state(entry&amp; e) const;
torrent_handle add_torrent( torrent_handle add_torrent(
add_torrent_params const&amp; params); add_torrent_params const&amp; params);
torrent_handle add_torrent( torrent_handle add_torrent(
@ -542,6 +550,20 @@ returns. So, it's advised that any kind of interface (such as windows) are close
destructing the session object. Because it can take a few second for it to finish. The destructing the session object. Because it can take a few second for it to finish. The
timeout can be set with <tt class="docutils literal"><span class="pre">set_settings()</span></tt>.</p> timeout can be set with <tt class="docutils literal"><span class="pre">set_settings()</span></tt>.</p>
</div> </div>
<div class="section" id="load-state-save-state">
<h2>load_state() save_state()</h2>
<blockquote>
<pre class="literal-block">
void load_state(lazy_entry const&amp; e);
void save_state(entry&amp; e) const;
</pre>
</blockquote>
<p>loads and saves all session settings, including dht_settings, encryption settings and proxy
settings. <tt class="docutils literal"><span class="pre">save_state</span></tt> writes all keys to the <tt class="docutils literal"><span class="pre">entry</span></tt> that's passed in, which needs to
either not be initialized, or initialized as a dictionary.</p>
<p><tt class="docutils literal"><span class="pre">load_state</span></tt> expects a <tt class="docutils literal"><span class="pre">lazy_entry</span></tt> which can be built from a bencoded buffer with
<tt class="docutils literal"><span class="pre">lazy_bdecode</span></tt>.</p>
</div>
<div class="section" id="pause-resume-is-paused"> <div class="section" id="pause-resume-is-paused">
<h2>pause() resume() is_paused()</h2> <h2>pause() resume() is_paused()</h2>
<blockquote> <blockquote>
@ -1838,6 +1860,10 @@ struct announce_entry
{ {
announce_entry(std::string const&amp; url); announce_entry(std::string const&amp; url);
std::string url; std::string url;
int next_announce_in() const;
int min_announce_in() const;
boost::uint8_t tier; boost::uint8_t tier;
boost::uint8_t fail_limit; boost::uint8_t fail_limit;
boost::uint8_t fails; boost::uint8_t fails;
@ -1857,6 +1883,9 @@ struct announce_entry
bool complete_sent:1; bool complete_sent:1;
}; };
</pre> </pre>
<p><tt class="docutils literal"><span class="pre">next_announce_in()</span></tt> returns the number of seconds to the next announce on
this tracker. <tt class="docutils literal"><span class="pre">min_announce_in()</span></tt> returns the number of seconds until we are
allowed to force another tracker update with this tracker.</p>
<p><tt class="docutils literal"><span class="pre">fail_limit</span></tt> is the max number of failures to announce to this tracker in <p><tt class="docutils literal"><span class="pre">fail_limit</span></tt> is the max number of failures to announce to this tracker in
a row, before this tracker is not used anymore.</p> a row, before this tracker is not used anymore.</p>
<p><tt class="docutils literal"><span class="pre">fails</span></tt> is the number of times in a row we have failed to announce to this <p><tt class="docutils literal"><span class="pre">fails</span></tt> is the number of times in a row we have failed to announce to this
@ -2041,7 +2070,7 @@ struct torrent_handle
bool resolve_countries() const; bool resolve_countries() const;
enum deadline_flags { alert_when_available = 1 }; enum deadline_flags { alert_when_available = 1 };
void set_piece_deadline(int index, time_duration deadline, int flags = 0) const; void set_piece_deadline(int index, int deadline, int flags = 0) const;
void piece_availability(std::vector&lt;int&gt;&amp; avail) const; void piece_availability(std::vector&lt;int&gt;&amp; avail) const;
void piece_priority(int index, int priority) const; void piece_priority(int index, int priority) const;
@ -2098,7 +2127,7 @@ guarantee that a handle will remain valid between two calls.</p>
<blockquote> <blockquote>
<pre class="literal-block"> <pre class="literal-block">
enum deadline_flags { alert_when_available = 1 }; enum deadline_flags { alert_when_available = 1 };
void set_piece_deadline(int index, time_duration deadline, int flags = 0) const; void set_piece_deadline(int index, int deadline, int flags = 0) const;
</pre> </pre>
</blockquote> </blockquote>
<p>This function sets or resets the deadline associated with a specific piece <p>This function sets or resets the deadline associated with a specific piece
@ -2113,8 +2142,7 @@ piece has been downloaded, by passing <tt class="docutils literal"><span class="
<p>If the piece is already downloaded when this call is made, nothing happens, unless <p>If the piece is already downloaded when this call is made, nothing happens, unless
the <tt class="docutils literal"><span class="pre">alert_when_available</span></tt> flag is set, in which case it will do the same thing the <tt class="docutils literal"><span class="pre">alert_when_available</span></tt> flag is set, in which case it will do the same thing
as calling <a class="reference internal" href="#read-piece">read_piece()</a> for <tt class="docutils literal"><span class="pre">index</span></tt>.</p> as calling <a class="reference internal" href="#read-piece">read_piece()</a> for <tt class="docutils literal"><span class="pre">index</span></tt>.</p>
<p>In the python binding for this function, the <tt class="docutils literal"><span class="pre">deadline</span></tt> is the number of milliseconds <p><tt class="docutils literal"><span class="pre">deadline</span></tt> is the number of milliseconds until this piece should be completed.</p>
as an integer.</p>
</div> </div>
<div class="section" id="piece-availability"> <div class="section" id="piece-availability">
<h2>piece_availability()</h2> <h2>piece_availability()</h2>
@ -5801,8 +5829,8 @@ connections, and this is a regular connection</td>
<td>The packet size exceeded the upper sanity check-limit</td> <td>The packet size exceeded the upper sanity check-limit</td>
</tr> </tr>
<tr><td>82</td> <tr><td>82</td>
<td>http_parse_error</td> <td>reserved</td>
<td>Failed to parse HTTP response</td> <td>&nbsp;</td>
</tr> </tr>
<tr><td>83</td> <tr><td>83</td>
<td>http_error</td> <td>http_error</td>
@ -5923,23 +5951,23 @@ potentially better peer</td>
</tr> </tr>
</thead> </thead>
<tbody valign="top"> <tbody valign="top">
<tr><td>108</td> <tr><td>120</td>
<td>unsupported_protocol_version</td> <td>unsupported_protocol_version</td>
<td>The NAT-PMP router responded with an unsupported protocol version</td> <td>The NAT-PMP router responded with an unsupported protocol version</td>
</tr> </tr>
<tr><td>109</td> <tr><td>121</td>
<td>natpmp_not_authorized</td> <td>natpmp_not_authorized</td>
<td>You are not authorized to map ports on this NAT-PMP router</td> <td>You are not authorized to map ports on this NAT-PMP router</td>
</tr> </tr>
<tr><td>110</td> <tr><td>122</td>
<td>network_failure</td> <td>network_failure</td>
<td>The NAT-PMP router failed because of a network failure</td> <td>The NAT-PMP router failed because of a network failure</td>
</tr> </tr>
<tr><td>111</td> <tr><td>123</td>
<td>no_resources</td> <td>no_resources</td>
<td>The NAT-PMP router failed because of lack of resources</td> <td>The NAT-PMP router failed because of lack of resources</td>
</tr> </tr>
<tr><td>112</td> <tr><td>124</td>
<td>unsupported_opcode</td> <td>unsupported_opcode</td>
<td>The NAT-PMP router failed because an unsupported opcode was sent</td> <td>The NAT-PMP router failed because an unsupported opcode was sent</td>
</tr> </tr>
@ -5959,59 +5987,59 @@ potentially better peer</td>
</tr> </tr>
</thead> </thead>
<tbody valign="top"> <tbody valign="top">
<tr><td>113</td> <tr><td>130</td>
<td>missing_file_sizes</td> <td>missing_file_sizes</td>
<td>The resume data file is missing the 'file sizes' entry</td> <td>The resume data file is missing the 'file sizes' entry</td>
</tr> </tr>
<tr><td>114</td> <tr><td>131</td>
<td>no_files_in_resume_data</td> <td>no_files_in_resume_data</td>
<td>The resume data file 'file sizes' entry is empty</td> <td>The resume data file 'file sizes' entry is empty</td>
</tr> </tr>
<tr><td>115</td> <tr><td>132</td>
<td>missing_pieces</td> <td>missing_pieces</td>
<td>The resume data file is missing the 'pieces' and 'slots' entry</td> <td>The resume data file is missing the 'pieces' and 'slots' entry</td>
</tr> </tr>
<tr><td>116</td> <tr><td>133</td>
<td>mismatching_number_of_files</td> <td>mismatching_number_of_files</td>
<td>The number of files in the resume data does not match the number <td>The number of files in the resume data does not match the number
of files in the torrent</td> of files in the torrent</td>
</tr> </tr>
<tr><td>117</td> <tr><td>134</td>
<td>mismatching_files_size</td> <td>mismatching_files_size</td>
<td>One of the files on disk has a different size than in the fast <td>One of the files on disk has a different size than in the fast
resume file</td> resume file</td>
</tr> </tr>
<tr><td>118</td> <tr><td>135</td>
<td>mismatching_file_timestamp</td> <td>mismatching_file_timestamp</td>
<td>One of the files on disk has a different timestamp than in the <td>One of the files on disk has a different timestamp than in the
fast resume file</td> fast resume file</td>
</tr> </tr>
<tr><td>119</td> <tr><td>136</td>
<td>not_a_dictionary</td> <td>not_a_dictionary</td>
<td>The resume data file is not a dictionary</td> <td>The resume data file is not a dictionary</td>
</tr> </tr>
<tr><td>120</td> <tr><td>137</td>
<td>invalid_blocks_per_piece</td> <td>invalid_blocks_per_piece</td>
<td>The 'blocks per piece' entry is invalid in the resume data file</td> <td>The 'blocks per piece' entry is invalid in the resume data file</td>
</tr> </tr>
<tr><td>121</td> <tr><td>138</td>
<td>missing_slots</td> <td>missing_slots</td>
<td>The resume file is missing the 'slots' entry, which is required <td>The resume file is missing the 'slots' entry, which is required
for torrents with compact allocation</td> for torrents with compact allocation</td>
</tr> </tr>
<tr><td>122</td> <tr><td>139</td>
<td>too_many_slots</td> <td>too_many_slots</td>
<td>The resume file contains more slots than the torrent</td> <td>The resume file contains more slots than the torrent</td>
</tr> </tr>
<tr><td>123</td> <tr><td>140</td>
<td>invalid_slot_list</td> <td>invalid_slot_list</td>
<td>The 'slot' entry is invalid in the resume data</td> <td>The 'slot' entry is invalid in the resume data</td>
</tr> </tr>
<tr><td>124</td> <tr><td>141</td>
<td>invalid_piece_index</td> <td>invalid_piece_index</td>
<td>One index in the 'slot' list is invalid</td> <td>One index in the 'slot' list is invalid</td>
</tr> </tr>
<tr><td>125</td> <tr><td>142</td>
<td>pieces_need_reorder</td> <td>pieces_need_reorder</td>
<td>The pieces on disk needs to be re-ordered for the specified <td>The pieces on disk needs to be re-ordered for the specified
allocation mode. This happens if you specify sparse allocation allocation mode. This happens if you specify sparse allocation
@ -6020,6 +6048,44 @@ to be moved to their right position</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<p>HTTP errors:</p>
<table border="1" class="docutils">
<colgroup>
<col width="5%" />
<col width="37%" />
<col width="58%" />
</colgroup>
<tbody valign="top">
<tr><td>150</td>
<td>http_parse_error</td>
<td>The HTTP header was not correctly formatted</td>
</tr>
<tr><td>151</td>
<td>http_missing_location</td>
<td>The HTTP response was in the 300-399 range but lacked a location
header</td>
</tr>
<tr><td>152</td>
<td>http_failed_decompress</td>
<td>The HTTP response was encoded with gzip or deflate but
decompressing it failed</td>
</tr>
</tbody>
</table>
<p>I2P errors:</p>
<table border="1" class="docutils">
<colgroup>
<col width="5%" />
<col width="37%" />
<col width="58%" />
</colgroup>
<tbody valign="top">
<tr><td>160</td>
<td>no_i2p_router</td>
<td>The URL specified an i2p address, but no i2p router is configured</td>
</tr>
</tbody>
</table>
<p>The names of these error codes are declared in then <tt class="docutils literal"><span class="pre">libtorrent::errors</span></tt> namespace.</p> <p>The names of these error codes are declared in then <tt class="docutils literal"><span class="pre">libtorrent::errors</span></tt> namespace.</p>
<p>There is also another error category, <tt class="docutils literal"><span class="pre">libtorrent::upnp_category</span></tt>, defining errors <p>There is also another error category, <tt class="docutils literal"><span class="pre">libtorrent::upnp_category</span></tt>, defining errors
retrned by UPnP routers. Here's a (possibly incomplete) list of UPnP error codes:</p> retrned by UPnP routers. Here's a (possibly incomplete) list of UPnP error codes:</p>

View File

@ -40,7 +40,7 @@ project listed here, let <a class="reference external" href="mailto:arvid&#64;ra
for Firefox and Wyzo.</p> for Firefox and Wyzo.</p>
</div> </div>
<div class="entry container"> <div class="entry container">
<a class="reference external image-reference" href="http://www.tonidoplug.com/"><img align="right" alt="tonidoplug_thumb.png" class="align-right" src="tonidoplug_thumb.png" /></a> <a class="reference external image-reference" href="http://www.tonidoplug.com/"><img align="right" alt="tonidoplug.png" class="align-right" src="tonidoplug.png" /></a>
<p><strong>tonidoplug</strong></p> <p><strong>tonidoplug</strong></p>
<p><a class="reference external" href="http://www.tonidoplug.com/">Tonidoplug</a> is a tiny, low-power, low-cost home server and <p><a class="reference external" href="http://www.tonidoplug.com/">Tonidoplug</a> is a tiny, low-power, low-cost home server and
NAS device powered by Tonido software that allows you to access NAS device powered by Tonido software that allows you to access