regenerated docs

This commit is contained in:
Arvid Norberg 2008-10-19 22:42:56 +00:00
parent 24b8264d39
commit e79358ffc9
2 changed files with 263 additions and 195 deletions

View File

@ -46,213 +46,213 @@
<div class="contents topic" id="table-of-contents">
<p class="topic-title first">Table of contents</p>
<ul class="simple">
<li><a class="reference internal" href="#overview" id="id18">overview</a></li>
<li><a class="reference internal" href="#network-primitives" id="id19">network primitives</a></li>
<li><a class="reference internal" href="#session" id="id20">session</a><ul>
<li><a class="reference internal" href="#id1" id="id21">session()</a></li>
<li><a class="reference internal" href="#id2" id="id22">~session()</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="#abort" id="id24">abort()</a></li>
<li><a class="reference internal" href="#add-torrent" id="id25">add_torrent()</a></li>
<li><a class="reference internal" href="#remove-torrent" id="id26">remove_torrent()</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-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" id="id29">set_max_uploads() set_max_connections()</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-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="#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="#load-state-state" id="id33">load_state() state()</a></li>
<li><a class="reference internal" href="#set-ip-filter" id="id34">set_ip_filter()</a></li>
<li><a class="reference internal" href="#status" id="id35">status()</a></li>
<li><a class="reference internal" href="#get-cache-status" id="id36">get_cache_status()</a></li>
<li><a class="reference internal" href="#get-cache-info" id="id37">get_cache_info()</a></li>
<li><a class="reference internal" href="#is-listening-listen-port-listen-on" id="id38">is_listening() listen_port() listen_on()</a></li>
<li><a class="reference internal" href="#pop-alert-set-alert-mask-wait-for-alert-set-alert-queue-size-limit" id="id39">pop_alert() set_alert_mask() wait_for_alert() set_alert_queue_size_limit()</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-peer-proxy-set-web-seed-proxy-set-tracker-proxy-set-dht-proxy" id="id42">set_peer_proxy() set_web_seed_proxy() set_tracker_proxy() set_dht_proxy()</a></li>
<li><a class="reference internal" href="#peer-proxy-web-seed-proxy-tracker-proxy-dht-proxy" id="id43">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" id="id44">start_dht() stop_dht() set_dht_settings() dht_state()</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>
<li><a class="reference internal" href="#overview" id="id17">overview</a></li>
<li><a class="reference internal" href="#network-primitives" id="id18">network primitives</a></li>
<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="#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="#abort" id="id23">abort()</a></li>
<li><a class="reference internal" href="#add-torrent" id="id24">add_torrent()</a></li>
<li><a class="reference internal" href="#remove-torrent" id="id25">remove_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="#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="#set-max-uploads-set-max-connections" id="id28">set_max_uploads() set_max_connections()</a></li>
<li><a class="reference internal" href="#num-uploads-num-connections" id="id29">num_uploads() num_connections()</a></li>
<li><a class="reference internal" href="#set-max-half-open-connections-max-half-open-connections" id="id30">set_max_half_open_connections() max_half_open_connections()</a></li>
<li><a class="reference internal" href="#load-asnum-db-load-country-db-int-as-for-ip" id="id31">load_asnum_db() load_country_db() int as_for_ip()</a></li>
<li><a class="reference internal" href="#load-state-state" id="id32">load_state() state()</a></li>
<li><a class="reference internal" href="#set-ip-filter" id="id33">set_ip_filter()</a></li>
<li><a class="reference internal" href="#status" id="id34">status()</a></li>
<li><a class="reference internal" href="#get-cache-status" id="id35">get_cache_status()</a></li>
<li><a class="reference internal" href="#get-cache-info" id="id36">get_cache_info()</a></li>
<li><a class="reference internal" href="#is-listening-listen-port-listen-on" id="id37">is_listening() listen_port() listen_on()</a></li>
<li><a class="reference internal" href="#pop-alert-set-alert-mask-wait-for-alert-set-alert-queue-size-limit" id="id38">pop_alert() set_alert_mask() wait_for_alert() set_alert_queue_size_limit()</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-peer-proxy-set-web-seed-proxy-set-tracker-proxy-set-dht-proxy" id="id41">set_peer_proxy() set_web_seed_proxy() set_tracker_proxy() set_dht_proxy()</a></li>
<li><a class="reference internal" href="#peer-proxy-web-seed-proxy-tracker-proxy-dht-proxy" id="id42">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" id="id43">start_dht() stop_dht() set_dht_settings() dht_state()</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>
</ul>
</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>
<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>
</ul>
</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" id="id56">files()</a></li>
<li><a class="reference internal" href="#begin-files-end-files-rbegin-files-rend-files" id="id57">begin_files() end_files() rbegin_files() rend_files()</a></li>
<li><a class="reference internal" href="#num-files-file-at" id="id58">num_files() file_at()</a></li>
<li><a class="reference internal" href="#map-block" id="id59">map_block()</a></li>
<li><a class="reference internal" href="#map-file" id="id60">map_file()</a></li>
<li><a class="reference internal" href="#url-seeds-add-url-seed" id="id61">url_seeds() add_url_seed()</a></li>
<li><a class="reference internal" href="#trackers" id="id62">trackers()</a></li>
<li><a class="reference internal" href="#total-size-piece-length-piece-size-num-pieces" id="id63">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="id64">hash_for_piece() hash_for_piece_ptr() info_hash()</a></li>
<li><a class="reference internal" href="#name-comment-creation-date-creator" id="id65">name() comment() creation_date() creator()</a></li>
<li><a class="reference internal" href="#priv" id="id66">priv()</a></li>
<li><a class="reference internal" href="#nodes" id="id67">nodes()</a></li>
<li><a class="reference internal" href="#add-node" id="id68">add_node()</a></li>
<li><a class="reference internal" href="#metadata-metadata-size" id="id69">metadata() metadata_size()</a></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" id="id55">files()</a></li>
<li><a class="reference internal" href="#begin-files-end-files-rbegin-files-rend-files" id="id56">begin_files() end_files() rbegin_files() rend_files()</a></li>
<li><a class="reference internal" href="#num-files-file-at" id="id57">num_files() file_at()</a></li>
<li><a class="reference internal" href="#map-block" id="id58">map_block()</a></li>
<li><a class="reference internal" href="#map-file" id="id59">map_file()</a></li>
<li><a class="reference internal" href="#url-seeds-add-url-seed" id="id60">url_seeds() add_url_seed()</a></li>
<li><a class="reference internal" href="#trackers" id="id61">trackers()</a></li>
<li><a class="reference internal" href="#total-size-piece-length-piece-size-num-pieces" id="id62">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="id63">hash_for_piece() hash_for_piece_ptr() info_hash()</a></li>
<li><a class="reference internal" href="#name-comment-creation-date-creator" id="id64">name() comment() creation_date() creator()</a></li>
<li><a class="reference internal" href="#priv" id="id65">priv()</a></li>
<li><a class="reference internal" href="#nodes" id="id66">nodes()</a></li>
<li><a class="reference internal" href="#add-node" id="id67">add_node()</a></li>
<li><a class="reference internal" href="#metadata-metadata-size" id="id68">metadata() metadata_size()</a></li>
</ul>
</li>
<li><a class="reference internal" href="#torrent-handle" id="id70">torrent_handle</a><ul>
<li><a class="reference internal" href="#piece-priority-prioritize-pieces-piece-priorities" id="id71">piece_priority() prioritize_pieces() piece_priorities()</a></li>
<li><a class="reference internal" href="#file-priority-prioritize-files-file-priorities" id="id72">file_priority() prioritize_files() file_priorities()</a></li>
<li><a class="reference internal" href="#file-progress" id="id73">file_progress()</a></li>
<li><a class="reference internal" href="#save-path" id="id74">save_path()</a></li>
<li><a class="reference internal" href="#move-storage" id="id75">move_storage()</a></li>
<li><a class="reference internal" href="#get-storage-impl" id="id76">get_storage_impl()</a></li>
<li><a class="reference internal" href="#force-reannounce" id="id77">force_reannounce()</a></li>
<li><a class="reference internal" href="#scrape-tracker" id="id78">scrape_tracker()</a></li>
<li><a class="reference internal" href="#connect-peer" id="id79">connect_peer()</a></li>
<li><a class="reference internal" href="#name" id="id80">name()</a></li>
<li><a class="reference internal" href="#set-ratio" id="id81">set_ratio()</a></li>
<li><a class="reference internal" href="#set-upload-limit-set-download-limit-upload-limit-download-limit" id="id82">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="id83">set_sequential_download() is_sequential_download()</a></li>
<li><a class="reference internal" href="#set-peer-upload-limit-set-peer-download-limit" id="id84">set_peer_upload_limit() set_peer_download_limit()</a></li>
<li><a class="reference internal" href="#id5" id="id85">pause() resume() is_paused()</a></li>
<li><a class="reference internal" href="#force-recheck" id="id86">force_recheck()</a></li>
<li><a class="reference internal" href="#clear-error" id="id87">clear_error()</a></li>
<li><a class="reference internal" href="#resolve-countries" id="id88">resolve_countries()</a></li>
<li><a class="reference internal" href="#is-seed" id="id89">is_seed()</a></li>
<li><a class="reference internal" href="#is-auto-managed-auto-managed" id="id90">is_auto_managed() auto_managed()</a></li>
<li><a class="reference internal" href="#has-metadata-set-metadata" id="id91">has_metadata() set_metadata()</a></li>
<li><a class="reference internal" href="#set-tracker-login" id="id92">set_tracker_login()</a></li>
<li><a class="reference internal" href="#trackers-replace-trackers" id="id93">trackers() replace_trackers()</a></li>
<li><a class="reference internal" href="#add-url-seed-remove-url-seed-url-seeds" id="id94">add_url_seed() remove_url_seed() url_seeds()</a></li>
<li><a class="reference internal" href="#queue-position-queue-position-up-queue-position-down-queue-position-top-queue-position-bottom" id="id95">queue_position() queue_position_up() queue_position_down() queue_position_top() queue_position_bottom()</a></li>
<li><a class="reference internal" href="#use-interface" id="id96">use_interface()</a></li>
<li><a class="reference internal" href="#info-hash" id="id97">info_hash()</a></li>
<li><a class="reference internal" href="#id6" id="id98">set_max_uploads() set_max_connections()</a></li>
<li><a class="reference internal" href="#save-resume-data" id="id99">save_resume_data()</a></li>
<li><a class="reference internal" href="#id7" id="id100">status()</a></li>
<li><a class="reference internal" href="#get-download-queue" id="id101">get_download_queue()</a></li>
<li><a class="reference internal" href="#get-peer-info" id="id102">get_peer_info()</a></li>
<li><a class="reference internal" href="#get-torrent-info" id="id103">get_torrent_info()</a></li>
<li><a class="reference internal" href="#is-valid" id="id104">is_valid()</a></li>
<li><a class="reference internal" href="#torrent-handle" id="id69">torrent_handle</a><ul>
<li><a class="reference internal" href="#piece-priority-prioritize-pieces-piece-priorities" id="id70">piece_priority() prioritize_pieces() piece_priorities()</a></li>
<li><a class="reference internal" href="#file-priority-prioritize-files-file-priorities" id="id71">file_priority() prioritize_files() file_priorities()</a></li>
<li><a class="reference internal" href="#file-progress" id="id72">file_progress()</a></li>
<li><a class="reference internal" href="#save-path" id="id73">save_path()</a></li>
<li><a class="reference internal" href="#move-storage" id="id74">move_storage()</a></li>
<li><a class="reference internal" href="#get-storage-impl" id="id75">get_storage_impl()</a></li>
<li><a class="reference internal" href="#force-reannounce" id="id76">force_reannounce()</a></li>
<li><a class="reference internal" href="#scrape-tracker" id="id77">scrape_tracker()</a></li>
<li><a class="reference internal" href="#connect-peer" id="id78">connect_peer()</a></li>
<li><a class="reference internal" href="#name" id="id79">name()</a></li>
<li><a class="reference internal" href="#set-ratio" id="id80">set_ratio()</a></li>
<li><a class="reference internal" href="#set-upload-limit-set-download-limit-upload-limit-download-limit" id="id81">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="id82">set_sequential_download() is_sequential_download()</a></li>
<li><a class="reference internal" href="#set-peer-upload-limit-set-peer-download-limit" id="id83">set_peer_upload_limit() set_peer_download_limit()</a></li>
<li><a class="reference internal" href="#id5" id="id84">pause() resume() is_paused()</a></li>
<li><a class="reference internal" href="#force-recheck" id="id85">force_recheck()</a></li>
<li><a class="reference internal" href="#clear-error" id="id86">clear_error()</a></li>
<li><a class="reference internal" href="#resolve-countries" id="id87">resolve_countries()</a></li>
<li><a class="reference internal" href="#is-seed" id="id88">is_seed()</a></li>
<li><a class="reference internal" href="#is-auto-managed-auto-managed" id="id89">is_auto_managed() auto_managed()</a></li>
<li><a class="reference internal" href="#has-metadata-set-metadata" id="id90">has_metadata() set_metadata()</a></li>
<li><a class="reference internal" href="#set-tracker-login" id="id91">set_tracker_login()</a></li>
<li><a class="reference internal" href="#trackers-replace-trackers" id="id92">trackers() replace_trackers()</a></li>
<li><a class="reference internal" href="#add-url-seed-remove-url-seed-url-seeds" id="id93">add_url_seed() remove_url_seed() url_seeds()</a></li>
<li><a class="reference internal" href="#queue-position-queue-position-up-queue-position-down-queue-position-top-queue-position-bottom" id="id94">queue_position() queue_position_up() queue_position_down() queue_position_top() queue_position_bottom()</a></li>
<li><a class="reference internal" href="#use-interface" id="id95">use_interface()</a></li>
<li><a class="reference internal" href="#info-hash" id="id96">info_hash()</a></li>
<li><a class="reference internal" href="#id6" id="id97">set_max_uploads() set_max_connections()</a></li>
<li><a class="reference internal" href="#save-resume-data" id="id98">save_resume_data()</a></li>
<li><a class="reference internal" href="#id7" id="id99">status()</a></li>
<li><a class="reference internal" href="#get-download-queue" id="id100">get_download_queue()</a></li>
<li><a class="reference internal" href="#get-peer-info" id="id101">get_peer_info()</a></li>
<li><a class="reference internal" href="#get-torrent-info" id="id102">get_torrent_info()</a></li>
<li><a class="reference internal" href="#is-valid" id="id103">is_valid()</a></li>
</ul>
</li>
<li><a class="reference internal" href="#torrent-status" id="id105">torrent_status</a></li>
<li><a class="reference internal" href="#peer-info" id="id106">peer_info</a></li>
<li><a class="reference internal" href="#session-settings" id="id107">session_settings</a></li>
<li><a class="reference internal" href="#pe-settings" id="id108">pe_settings</a></li>
<li><a class="reference internal" href="#proxy-settings" id="id109">proxy_settings</a></li>
<li><a class="reference internal" href="#ip-filter" id="id110">ip_filter</a><ul>
<li><a class="reference internal" href="#id10" id="id111">ip_filter()</a></li>
<li><a class="reference internal" href="#add-rule" id="id112">add_rule()</a></li>
<li><a class="reference internal" href="#access" id="id113">access()</a></li>
<li><a class="reference internal" href="#export-filter" id="id114">export_filter()</a></li>
<li><a class="reference internal" href="#torrent-status" id="id104">torrent_status</a></li>
<li><a class="reference internal" href="#peer-info" id="id105">peer_info</a></li>
<li><a class="reference internal" href="#session-settings" id="id106">session_settings</a></li>
<li><a class="reference internal" href="#pe-settings" id="id107">pe_settings</a></li>
<li><a class="reference internal" href="#proxy-settings" id="id108">proxy_settings</a></li>
<li><a class="reference internal" href="#ip-filter" id="id109">ip_filter</a><ul>
<li><a class="reference internal" href="#id10" id="id110">ip_filter()</a></li>
<li><a class="reference internal" href="#add-rule" id="id111">add_rule()</a></li>
<li><a class="reference internal" href="#access" id="id112">access()</a></li>
<li><a class="reference internal" href="#export-filter" id="id113">export_filter()</a></li>
</ul>
</li>
<li><a class="reference internal" href="#big-number" id="id115">big_number</a></li>
<li><a class="reference internal" href="#bitfield" id="id116">bitfield</a></li>
<li><a class="reference internal" href="#hasher" id="id117">hasher</a></li>
<li><a class="reference internal" href="#fingerprint" id="id118">fingerprint</a></li>
<li><a class="reference internal" href="#upnp-and-nat-pmp" id="id119">UPnP and NAT-PMP</a><ul>
<li><a class="reference internal" href="#add-mapping" id="id120">add_mapping</a></li>
<li><a class="reference internal" href="#delete-mapping" id="id121">delete_mapping</a></li>
<li><a class="reference internal" href="#router-model" id="id122">router_model()</a></li>
<li><a class="reference internal" href="#big-number" id="id114">big_number</a></li>
<li><a class="reference internal" href="#bitfield" id="id115">bitfield</a></li>
<li><a class="reference internal" href="#hasher" id="id116">hasher</a></li>
<li><a class="reference internal" href="#fingerprint" id="id117">fingerprint</a></li>
<li><a class="reference internal" href="#upnp-and-nat-pmp" id="id118">UPnP and NAT-PMP</a><ul>
<li><a class="reference internal" href="#add-mapping" id="id119">add_mapping</a></li>
<li><a class="reference internal" href="#delete-mapping" id="id120">delete_mapping</a></li>
<li><a class="reference internal" href="#router-model" id="id121">router_model()</a></li>
</ul>
</li>
<li><a class="reference internal" href="#free-functions" id="id123">free functions</a><ul>
<li><a class="reference internal" href="#identify-client" id="id124">identify_client()</a></li>
<li><a class="reference internal" href="#client-fingerprint" id="id125">client_fingerprint()</a></li>
<li><a class="reference internal" href="#bdecode-bencode" id="id126">bdecode() bencode()</a></li>
<li><a class="reference internal" href="#add-magnet-uri" id="id127">add_magnet_uri()</a></li>
<li><a class="reference internal" href="#make-magnet-uri" id="id128">make_magnet_uri()</a></li>
<li><a class="reference internal" href="#free-functions" id="id122">free functions</a><ul>
<li><a class="reference internal" href="#identify-client" id="id123">identify_client()</a></li>
<li><a class="reference internal" href="#client-fingerprint" id="id124">client_fingerprint()</a></li>
<li><a class="reference internal" href="#bdecode-bencode" id="id125">bdecode() bencode()</a></li>
<li><a class="reference internal" href="#add-magnet-uri" id="id126">add_magnet_uri()</a></li>
<li><a class="reference internal" href="#make-magnet-uri" id="id127">make_magnet_uri()</a></li>
</ul>
</li>
<li><a class="reference internal" href="#alerts" id="id129">alerts</a><ul>
<li><a class="reference internal" href="#external-ip-alert" id="id130">external_ip_alert</a></li>
<li><a class="reference internal" href="#listen-failed-alert" id="id131">listen_failed_alert</a></li>
<li><a class="reference internal" href="#portmap-error-alert" id="id132">portmap_error_alert</a></li>
<li><a class="reference internal" href="#portmap-alert" id="id133">portmap_alert</a></li>
<li><a class="reference internal" href="#file-error-alert" id="id134">file_error_alert</a></li>
<li><a class="reference internal" href="#tracker-announce-alert" id="id135">tracker_announce_alert</a></li>
<li><a class="reference internal" href="#tracker-error-alert" id="id136">tracker_error_alert</a></li>
<li><a class="reference internal" href="#tracker-reply-alert" id="id137">tracker_reply_alert</a></li>
<li><a class="reference internal" href="#dht-reply-alert" id="id138">dht_reply_alert</a></li>
<li><a class="reference internal" href="#tracker-warning-alert" id="id139">tracker_warning_alert</a></li>
<li><a class="reference internal" href="#scrape-reply-alert" id="id140">scrape_reply_alert</a></li>
<li><a class="reference internal" href="#scrape-failed-alert" id="id141">scrape_failed_alert</a></li>
<li><a class="reference internal" href="#url-seed-alert" id="id142">url_seed_alert</a></li>
<li><a class="reference internal" href="#hash-failed-alert" id="id143">hash_failed_alert</a></li>
<li><a class="reference internal" href="#peer-ban-alert" id="id144">peer_ban_alert</a></li>
<li><a class="reference internal" href="#peer-error-alert" id="id145">peer_error_alert</a></li>
<li><a class="reference internal" href="#invalid-request-alert" id="id146">invalid_request_alert</a></li>
<li><a class="reference internal" href="#torrent-finished-alert" id="id147">torrent_finished_alert</a></li>
<li><a class="reference internal" href="#performance-alert" id="id148">performance_alert</a></li>
<li><a class="reference internal" href="#metadata-failed-alert" id="id149">metadata_failed_alert</a></li>
<li><a class="reference internal" href="#metadata-received-alert" id="id150">metadata_received_alert</a></li>
<li><a class="reference internal" href="#fastresume-rejected-alert" id="id151">fastresume_rejected_alert</a></li>
<li><a class="reference internal" href="#peer-blocked-alert" id="id152">peer_blocked_alert</a></li>
<li><a class="reference internal" href="#storage-moved-alert" id="id153">storage_moved_alert</a></li>
<li><a class="reference internal" href="#torrent-paused-alert" id="id154">torrent_paused_alert</a></li>
<li><a class="reference internal" href="#torrent-resumed-alert" id="id155">torrent_resumed_alert</a></li>
<li><a class="reference internal" href="#save-resume-data-alert" id="id156">save_resume_data_alert</a></li>
<li><a class="reference internal" href="#save-resume-data-failed-alert" id="id157">save_resume_data_failed_alert</a></li>
<li><a class="reference internal" href="#dht-announce-alert" id="id158">dht_announce_alert</a></li>
<li><a class="reference internal" href="#dht-get-peers-alert" id="id159">dht_get_peers_alert</a></li>
<li><a class="reference internal" href="#dispatcher" id="id160">dispatcher</a></li>
<li><a class="reference internal" href="#alerts" id="id128">alerts</a><ul>
<li><a class="reference internal" href="#external-ip-alert" id="id129">external_ip_alert</a></li>
<li><a class="reference internal" href="#listen-failed-alert" id="id130">listen_failed_alert</a></li>
<li><a class="reference internal" href="#portmap-error-alert" id="id131">portmap_error_alert</a></li>
<li><a class="reference internal" href="#portmap-alert" id="id132">portmap_alert</a></li>
<li><a class="reference internal" href="#file-error-alert" id="id133">file_error_alert</a></li>
<li><a class="reference internal" href="#tracker-announce-alert" id="id134">tracker_announce_alert</a></li>
<li><a class="reference internal" href="#tracker-error-alert" id="id135">tracker_error_alert</a></li>
<li><a class="reference internal" href="#tracker-reply-alert" id="id136">tracker_reply_alert</a></li>
<li><a class="reference internal" href="#dht-reply-alert" id="id137">dht_reply_alert</a></li>
<li><a class="reference internal" href="#tracker-warning-alert" id="id138">tracker_warning_alert</a></li>
<li><a class="reference internal" href="#scrape-reply-alert" id="id139">scrape_reply_alert</a></li>
<li><a class="reference internal" href="#scrape-failed-alert" id="id140">scrape_failed_alert</a></li>
<li><a class="reference internal" href="#url-seed-alert" id="id141">url_seed_alert</a></li>
<li><a class="reference internal" href="#hash-failed-alert" id="id142">hash_failed_alert</a></li>
<li><a class="reference internal" href="#peer-ban-alert" id="id143">peer_ban_alert</a></li>
<li><a class="reference internal" href="#peer-error-alert" id="id144">peer_error_alert</a></li>
<li><a class="reference internal" href="#invalid-request-alert" id="id145">invalid_request_alert</a></li>
<li><a class="reference internal" href="#torrent-finished-alert" id="id146">torrent_finished_alert</a></li>
<li><a class="reference internal" href="#performance-alert" id="id147">performance_alert</a></li>
<li><a class="reference internal" href="#metadata-failed-alert" id="id148">metadata_failed_alert</a></li>
<li><a class="reference internal" href="#metadata-received-alert" id="id149">metadata_received_alert</a></li>
<li><a class="reference internal" href="#fastresume-rejected-alert" id="id150">fastresume_rejected_alert</a></li>
<li><a class="reference internal" href="#peer-blocked-alert" id="id151">peer_blocked_alert</a></li>
<li><a class="reference internal" href="#storage-moved-alert" id="id152">storage_moved_alert</a></li>
<li><a class="reference internal" href="#torrent-paused-alert" id="id153">torrent_paused_alert</a></li>
<li><a class="reference internal" href="#torrent-resumed-alert" id="id154">torrent_resumed_alert</a></li>
<li><a class="reference internal" href="#save-resume-data-alert" id="id155">save_resume_data_alert</a></li>
<li><a class="reference internal" href="#save-resume-data-failed-alert" id="id156">save_resume_data_failed_alert</a></li>
<li><a class="reference internal" href="#dht-announce-alert" id="id157">dht_announce_alert</a></li>
<li><a class="reference internal" href="#dht-get-peers-alert" id="id158">dht_get_peers_alert</a></li>
<li><a class="reference internal" href="#dispatcher" id="id159">dispatcher</a></li>
</ul>
</li>
<li><a class="reference internal" href="#exceptions" id="id161">exceptions</a><ul>
<li><a class="reference internal" href="#invalid-handle" id="id162">invalid_handle</a></li>
<li><a class="reference internal" href="#duplicate-torrent" id="id163">duplicate_torrent</a></li>
<li><a class="reference internal" href="#invalid-encoding" id="id164">invalid_encoding</a></li>
<li><a class="reference internal" href="#type-error" id="id165">type_error</a></li>
<li><a class="reference internal" href="#invalid-torrent-file" id="id166">invalid_torrent_file</a></li>
<li><a class="reference internal" href="#exceptions" id="id160">exceptions</a><ul>
<li><a class="reference internal" href="#invalid-handle" id="id161">invalid_handle</a></li>
<li><a class="reference internal" href="#duplicate-torrent" id="id162">duplicate_torrent</a></li>
<li><a class="reference internal" href="#invalid-encoding" id="id163">invalid_encoding</a></li>
<li><a class="reference internal" href="#type-error" id="id164">type_error</a></li>
<li><a class="reference internal" href="#invalid-torrent-file" id="id165">invalid_torrent_file</a></li>
</ul>
</li>
<li><a class="reference internal" href="#storage-interface" id="id167">storage_interface</a><ul>
<li><a class="reference internal" href="#initialize" id="id168">initialize()</a></li>
<li><a class="reference internal" href="#read" id="id169">read()</a></li>
<li><a class="reference internal" href="#write" id="id170">write()</a></li>
<li><a class="reference internal" href="#id12" id="id171">move_storage()</a></li>
<li><a class="reference internal" href="#verify-resume-data" id="id172">verify_resume_data()</a></li>
<li><a class="reference internal" href="#write-resume-data" id="id173">write_resume_data()</a></li>
<li><a class="reference internal" href="#move-slot" id="id174">move_slot()</a></li>
<li><a class="reference internal" href="#swap-slots" id="id175">swap_slots()</a></li>
<li><a class="reference internal" href="#swap-slots3" id="id176">swap_slots3()</a></li>
<li><a class="reference internal" href="#hash-for-slot" id="id177">hash_for_slot()</a></li>
<li><a class="reference internal" href="#rename-file" id="id178">rename_file()</a></li>
<li><a class="reference internal" href="#release-files" id="id179">release_files()</a></li>
<li><a class="reference internal" href="#delete-files" id="id180">delete_files()</a></li>
<li><a class="reference internal" href="#storage-interface" id="id166">storage_interface</a><ul>
<li><a class="reference internal" href="#initialize" id="id167">initialize()</a></li>
<li><a class="reference internal" href="#read" id="id168">read()</a></li>
<li><a class="reference internal" href="#write" id="id169">write()</a></li>
<li><a class="reference internal" href="#id12" id="id170">move_storage()</a></li>
<li><a class="reference internal" href="#verify-resume-data" id="id171">verify_resume_data()</a></li>
<li><a class="reference internal" href="#write-resume-data" id="id172">write_resume_data()</a></li>
<li><a class="reference internal" href="#move-slot" id="id173">move_slot()</a></li>
<li><a class="reference internal" href="#swap-slots" id="id174">swap_slots()</a></li>
<li><a class="reference internal" href="#swap-slots3" id="id175">swap_slots3()</a></li>
<li><a class="reference internal" href="#hash-for-slot" id="id176">hash_for_slot()</a></li>
<li><a class="reference internal" href="#rename-file" id="id177">rename_file()</a></li>
<li><a class="reference internal" href="#release-files" id="id178">release_files()</a></li>
<li><a class="reference internal" href="#delete-files" id="id179">delete_files()</a></li>
</ul>
</li>
<li><a class="reference internal" href="#magnet-links" id="id181">magnet links</a></li>
<li><a class="reference internal" href="#queuing" id="id182">queuing</a><ul>
<li><a class="reference internal" href="#downloading" id="id183">downloading</a></li>
<li><a class="reference internal" href="#seeding" id="id184">seeding</a></li>
<li><a class="reference internal" href="#magnet-links" id="id180">magnet links</a></li>
<li><a class="reference internal" href="#queuing" id="id181">queuing</a><ul>
<li><a class="reference internal" href="#downloading" id="id182">downloading</a></li>
<li><a class="reference internal" href="#seeding" id="id183">seeding</a></li>
</ul>
</li>
<li><a class="reference internal" href="#fast-resume" id="id185">fast resume</a><ul>
<li><a class="reference internal" href="#file-format" id="id186">file format</a></li>
<li><a class="reference internal" href="#fast-resume" id="id184">fast resume</a><ul>
<li><a class="reference internal" href="#file-format" id="id185">file format</a></li>
</ul>
</li>
<li><a class="reference internal" href="#threads" id="id187">threads</a></li>
<li><a class="reference internal" href="#storage-allocation" id="id188">storage allocation</a><ul>
<li><a class="reference internal" href="#sparse-allocation" id="id189">sparse allocation</a></li>
<li><a class="reference internal" href="#full-allocation" id="id190">full allocation</a></li>
<li><a class="reference internal" href="#compact-allocation" id="id191">compact allocation</a></li>
<li><a class="reference internal" href="#threads" id="id186">threads</a></li>
<li><a class="reference internal" href="#storage-allocation" id="id187">storage allocation</a><ul>
<li><a class="reference internal" href="#sparse-allocation" id="id188">sparse allocation</a></li>
<li><a class="reference internal" href="#full-allocation" id="id189">full allocation</a></li>
<li><a class="reference internal" href="#compact-allocation" id="id190">compact allocation</a></li>
</ul>
</li>
<li><a class="reference internal" href="#extensions" id="id192">extensions</a><ul>
<li><a class="reference internal" href="#metadata-from-peers" id="id193">metadata from peers</a></li>
<li><a class="reference internal" href="#http-seeding" id="id194">HTTP seeding</a></li>
<li><a class="reference internal" href="#extensions" id="id191">extensions</a><ul>
<li><a class="reference internal" href="#metadata-from-peers" id="id192">metadata from peers</a></li>
<li><a class="reference internal" href="#http-seeding" id="id193">HTTP seeding</a></li>
</ul>
</li>
<li><a class="reference internal" href="#filename-checks" id="id195">filename checks</a></li>
<li><a class="reference internal" href="#acknowledgments" id="id196">acknowledgments</a></li>
<li><a class="reference internal" href="#filename-checks" id="id194">filename checks</a></li>
<li><a class="reference internal" href="#acknowledgments" id="id195">acknowledgments</a></li>
</ul>
</div>
<div class="section" id="overview">
@ -459,12 +459,11 @@ timeout can be set with <tt class="docutils literal"><span class="pre">set_setti
<div class="section" id="pause-resume-is-paused">
<h2>pause() resume() is_paused()</h2>
<blockquote>
<dl class="docutils">
<dt>::</dt>
<dd>void pause();
<pre class="literal-block">
void pause();
void resume();
bool is_paused() const;</dd>
</dl>
bool is_paused() const;
</pre>
</blockquote>
<p>Pausing the session has the same effect as pausing every torrent in it. Resuming
will restore the torrents to their previous paused state. i.e. the session pause
@ -554,9 +553,12 @@ There are 3 different modes:</p>
<dd>All pieces will be written to the place where they belong and sparse files
will be used. This is the recommended, and default mode.</dd>
<dt>storage_mode_allocate</dt>
<dd>All pieces will be allocated, zeroes will be written to the files, before
the data is downloaded and written to the file. This might be useful for
filesystems that don't support sparse files.</dd>
<dd>Same as <tt class="docutils literal"><span class="pre">storage_mode_sparse</span></tt> except that files will be ftruncated on
startup (SetEndOfFile() on windows). For filesystem that supports sparse
files, this is in all practical aspects identical to sparse mode. For
filesystems that don't, it will allocate the data for the files. The mac
filesystem HFS+ doesn't support sparse files, it will allocate the files
with zeroes.</dd>
<dt>storage_mode_compact</dt>
<dd>The storage will grow as more pieces are downloaded, and pieces
are rearranged to finally be in their correct places once the entire torrent has been
@ -769,6 +771,9 @@ struct session_status
int num_unchoked;
int allowed_upload_slots;
int optimistic_unchoke_counter;
int unchoke_counter;
int dht_nodes;
int dht_cache_nodes;
int dht_torrents;
@ -806,6 +811,10 @@ than the sum of all peers of all torrents because the incoming connections may n
be assigned a torrent yet.</p>
<p><tt class="docutils literal"><span class="pre">num_unchoked</span></tt> is the current number of unchoked peers.
<tt class="docutils literal"><span class="pre">allowed_upload_slots</span></tt> is the current allowed number of unchoked peers.</p>
<p><tt class="docutils literal"><span class="pre">optimistic_unchoke_counter</span></tt> and <tt class="docutils literal"><span class="pre">unchoke_counter</span></tt> tells the number of
seconds until the next optimistic unchoke change and the start of the next
unchoke interval. These numbers may be reset prematurely if a peer that is
unchoked disconnects or becomes notinterested.</p>
<p><tt class="docutils literal"><span class="pre">dht_nodes</span></tt>, <tt class="docutils literal"><span class="pre">dht_cache_nodes</span></tt> and <tt class="docutils literal"><span class="pre">dht_torrents</span></tt> are only available when
built with DHT support. They are all set to 0 if the DHT isn't running. When
the DHT is running, <tt class="docutils literal"><span class="pre">dht_nodes</span></tt> is set to the number of nodes in the routing
@ -2998,7 +3007,7 @@ struct session_settings
bool lazy_bitfields;
int inactivity_timeout;
int unchoke_interval;
int optimistic_unchoke_multiplier;
int optimistic_unchoke_interval;
address announce_ip;
int num_want;
int initial_picker_threshold;
@ -3136,8 +3145,8 @@ Default is 10 minutes</p>
On this interval, peers are re-evaluated for being choked/unchoked. This
is defined as 30 seconds in the protocol, and it should be significantly
longer than what it takes for TCP to ramp up to it's max rate.</p>
<p><tt class="docutils literal"><span class="pre">optimistic_unchoke_multiplier</span></tt> is the number of unchoke intervals between
each <em>optimistic</em> unchoke interval. On this timer, the currently optimistically
<p><tt class="docutils literal"><span class="pre">optimistic_unchoke_interval</span></tt> is the number of seconds between
each <em>optimistic</em> unchoke. On this timer, the currently optimistically
unchoked peer will change.</p>
<p><tt class="docutils literal"><span class="pre">announce_ip</span></tt> is the ip address passed along to trackers as the <tt class="docutils literal"><span class="pre">&amp;ip=</span></tt> parameter.
If left as the default (default constructed), that parameter is ommited.</p>
@ -5098,7 +5107,9 @@ scripts.</p>
<p>Thanks to Reimond Retz for bugfixes, suggestions and testing</p>
<p>Thanks to <a class="reference external" href="http://www.cs.umu.se">University of Umeå</a> for providing development and test hardware.</p>
<p>Project is hosted by sourceforge.</p>
<p><a class="reference external" href="http://sourceforge.net"><img alt="sf_logo" src="http://sourceforge.net/sflogo.php?group_id=7994" /></a></p>
<!-- raw: html
<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=7994"/></a> -->
</div>
</div>
<div id="footer">

View File

@ -6,10 +6,32 @@
<meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title>libtorrent python binding</title>
<meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" />
<link rel="stylesheet" type="text/css" href="../../css/base.css" />
<link rel="stylesheet" type="text/css" href="../../css/rst.css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<style type="text/css">
/* Hides from IE-mac \*/
* html pre { height: 1%; }
/* End hide from IE-mac */
</style>
</head>
<body>
<div class="document" id="libtorrent-python-binding">
<div id="container">
<div id="headerNav">
<ul>
<li class="first"><a href="/">Home</a></li>
<li><a href="../../products.html">Products</a></li>
<li><a href="../../contact.html">Contact</a></li>
</ul>
</div>
<div id="header">
<h1><span>Rasterbar Software</span></h1>
<h2><span>Software developement and consulting</span></h2>
<span>
</span>
</div>
<div id="main">
<h1 class="title">libtorrent python binding</h1>
<table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" />
@ -22,16 +44,39 @@
<div class="contents topic" id="table-of-contents">
<p class="topic-title first">Table of contents</p>
<ul class="simple">
<li><a class="reference internal" href="#building" id="id1">building</a></li>
<li><a class="reference internal" href="#using-libtorrent-in-python" id="id2">using libtorrent in python</a></li>
<li><a class="reference internal" href="#building" id="id2">building</a><ul>
<li><a class="reference internal" href="#building-using-setup-py" id="id3">building using setup.py</a></li>
<li><a class="reference internal" href="#building-using-boost-build" id="id4">building using boost build</a></li>
</ul>
</li>
<li><a class="reference internal" href="#using-libtorrent-in-python" id="id5">using libtorrent in python</a></li>
</ul>
</div>
<div class="section" id="building">
<h1>building</h1>
<p>Building the libtorrent python bindings will produce a shared library (DLL)
which is a python module that can be imported in a python program.</p>
<p>The only supported build system for the bindings are currently boost build. To
set up your build environment, you need to add some settings to your
<div class="section" id="building-using-setup-py">
<h2>building using setup.py</h2>
<p>To set up the Python bindings for libtorrent, you must first have libtorrent
built and installed on the system. See 'building libtorrent'_.</p>
<p>To build the Python bindings do:</p>
<ol class="arabic">
<li><p class="first">Run:</p>
<pre class="literal-block">
python setup.py build
</pre>
</li>
<li><p class="first">As root, run:</p>
<pre class="literal-block">
python setup.py install
</pre>
</li>
</ol>
</div>
<div class="section" id="building-using-boost-build">
<h2>building using boost build</h2>
<p>To set up your build environment, you need to add some settings to your
<tt class="docutils literal"><span class="pre">$BOOST_BUILD_PATH/user-config.jam</span></tt>.</p>
<p>Make sure your user config contains the following line:</p>
<pre class="literal-block">
@ -58,6 +103,7 @@ $ bjam dht-support=on boost=source release link=static
bin/darwin-4.0/release/dht-support-on/link-static/logging-none/threading-multi/libtorrent.so
</pre>
</div>
</div>
<div class="section" id="using-libtorrent-in-python">
<h1>using libtorrent in python</h1>
<p>The python interface is nearly identical to the C++ interface. Please refer to
@ -106,5 +152,16 @@ while (not h.is_seed()):
</pre>
</div>
</div>
<div id="footer">
<span>Copyright &copy; 2005 Rasterbar Software.</span>
</div>
</div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-1599045-1";
urchinTracker();
</script>
</div>
</body>
</html>