added a projects page (listing some projects using libtorrent), including some screenshots thumbnails. Regenterated some docs, with new stylesheet.

This commit is contained in:
Arvid Norberg 2006-06-19 23:26:38 +00:00
parent 497112d208
commit 044afc850d
12 changed files with 455 additions and 442 deletions

BIN
docs/arctic_thumb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
docs/bitbuddy_thumb.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
docs/btg_thumb.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -6,127 +6,7 @@
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title></title>
<meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com Ludvig Strigeus, ludde&#64;utorrent.com" />
<style type="text/css">
body
{
background-color: white;
color: black;
margin: 1em 2em 1em 2em;
}
h1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; text-align: left; font-size: 140%; }
h2 { font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; text-align: left; font-size: 110%; }
h3 { font-family: "courier new", courier, monospace; font-weight: bold; text-align: left; font-size: 100%; }
pre
{
border: gray 1pt solid;
padding: 2pt;
display: block;
font-family: "courier new", courier, monospace;
background-color: #eeeeee;
color: black;
font-size: small
}
code
{
white-space: pre;
border: gray 1pt solid;
padding: 2pt;
display: block;
font-family: "courier new", courier, monospace;
color: black;
font-size: small
}
tt
{
display: inline;
font-family: "Courier New", Courier, monospace;
}
p
{
text-align: justify;
font-family: Georgia, "Times New Roman", Times, serif
}
ul
{
font-family: Georgia, "Times New Roman", Times, serif
}
ol
{
font-family: Georgia, "Times New Roman", Times, serif
}
a:link
{
font-weight: bold;
color: #003366;
text-decoration: none;
}
a:visited
{
font-weight: bold;
color: #003366;
text-decoration: none;
}
table
{
border: 1px solid black;
border-collapse: collapse;
}
table td
{
padding: 6px;
}
table th
{
border: 3px solid black;
padding: 6px;
}
table.menu
{
border-style: none;
}
table.menu td
{
padding-left: 15px;
padding-right: 15px;
padding-top: 7px;
padding-bottom: 7px;
}
td
{
border: 1px solid black
}
div.warning, div.note, div.important {
width: 80%;
margin: 1.5em auto;
background: #C1E5F6;
background: #F1FFF5;
border: solid 1px #D1DFD5;
padding: 5px 10px 5px 10px;
}
</style>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div class="document">

View File

@ -6,7 +6,7 @@
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>libtorrent manual</title>
<meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" />
<link rel="stylesheet" href="rst.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div class="document" id="libtorrent-manual">
@ -24,149 +24,149 @@
<div class="contents topic" id="table-of-contents">
<p class="topic-title first"><a name="table-of-contents">Table of contents</a></p>
<ul class="simple">
<li><a class="reference" href="#introduction" id="id25" name="id25">introduction</a></li>
<li><a class="reference" href="#downloading-and-building" id="id26" name="id26">downloading and building</a><ul>
<li><a class="reference" href="#building-with-bbv2" id="id27" name="id27">building with BBv2</a></li>
<li><a class="reference" href="#building-with-autotools" id="id28" name="id28">building with autotools</a></li>
<li><a class="reference" href="#building-with-other-build-systems" id="id29" name="id29">building with other build systems</a></li>
<li><a class="reference" href="#build-configurations" id="id30" name="id30">build configurations</a></li>
<li><a class="reference" href="#introduction" id="id26" name="id26">introduction</a></li>
<li><a class="reference" href="#downloading-and-building" id="id27" name="id27">downloading and building</a><ul>
<li><a class="reference" href="#building-with-bbv2" id="id28" name="id28">building with BBv2</a></li>
<li><a class="reference" href="#building-with-autotools" id="id29" name="id29">building with autotools</a></li>
<li><a class="reference" href="#building-with-other-build-systems" id="id30" name="id30">building with other build systems</a></li>
<li><a class="reference" href="#build-configurations" id="id31" name="id31">build configurations</a></li>
</ul>
</li>
<li><a class="reference" href="#overview" id="id31" name="id31">overview</a></li>
<li><a class="reference" href="#session" id="id32" name="id32">session</a><ul>
<li><a class="reference" href="#id9" id="id33" name="id33">session()</a></li>
<li><a class="reference" href="#id10" id="id34" name="id34">~session()</a></li>
<li><a class="reference" href="#add-torrent" id="id35" name="id35">add_torrent()</a></li>
<li><a class="reference" href="#remove-torrent" id="id36" name="id36">remove_torrent()</a></li>
<li><a class="reference" href="#disable-extensions-enable-extension" id="id37" name="id37">disable_extensions() enable_extension()</a></li>
<li><a class="reference" href="#set-upload-rate-limit-set-download-rate-limit" id="id38" name="id38">set_upload_rate_limit() set_download_rate_limit()</a></li>
<li><a class="reference" href="#set-max-uploads-set-max-connections" id="id39" name="id39">set_max_uploads() set_max_connections()</a></li>
<li><a class="reference" href="#set-max-half-open-connections" id="id40" name="id40">set_max_half_open_connections()</a></li>
<li><a class="reference" href="#set-ip-filter" id="id41" name="id41">set_ip_filter()</a></li>
<li><a class="reference" href="#status" id="id42" name="id42">status()</a></li>
<li><a class="reference" href="#is-listening-listen-port-listen-on" id="id43" name="id43">is_listening() listen_port() listen_on()</a></li>
<li><a class="reference" href="#pop-alert-set-severity-level" id="id44" name="id44">pop_alert() set_severity_level()</a></li>
<li><a class="reference" href="#overview" id="id32" name="id32">overview</a></li>
<li><a class="reference" href="#session" id="id33" name="id33">session</a><ul>
<li><a class="reference" href="#id10" id="id34" name="id34">session()</a></li>
<li><a class="reference" href="#id11" id="id35" name="id35">~session()</a></li>
<li><a class="reference" href="#add-torrent" id="id36" name="id36">add_torrent()</a></li>
<li><a class="reference" href="#remove-torrent" id="id37" name="id37">remove_torrent()</a></li>
<li><a class="reference" href="#disable-extensions-enable-extension" id="id38" name="id38">disable_extensions() enable_extension()</a></li>
<li><a class="reference" href="#set-upload-rate-limit-set-download-rate-limit" id="id39" name="id39">set_upload_rate_limit() set_download_rate_limit()</a></li>
<li><a class="reference" href="#set-max-uploads-set-max-connections" id="id40" name="id40">set_max_uploads() set_max_connections()</a></li>
<li><a class="reference" href="#set-max-half-open-connections" id="id41" name="id41">set_max_half_open_connections()</a></li>
<li><a class="reference" href="#set-ip-filter" id="id42" name="id42">set_ip_filter()</a></li>
<li><a class="reference" href="#status" id="id43" name="id43">status()</a></li>
<li><a class="reference" href="#is-listening-listen-port-listen-on" id="id44" name="id44">is_listening() listen_port() listen_on()</a></li>
<li><a class="reference" href="#pop-alert-set-severity-level" id="id45" name="id45">pop_alert() set_severity_level()</a></li>
</ul>
</li>
<li><a class="reference" href="#entry" id="id45" name="id45">entry</a><ul>
<li><a class="reference" href="#integer-string-list-dict-type" id="id46" name="id46">integer() string() list() dict() type()</a></li>
<li><a class="reference" href="#operator" id="id47" name="id47">operator[]</a></li>
<li><a class="reference" href="#find-key" id="id48" name="id48">find_key()</a></li>
<li><a class="reference" href="#entry" id="id46" name="id46">entry</a><ul>
<li><a class="reference" href="#integer-string-list-dict-type" id="id47" name="id47">integer() string() list() dict() type()</a></li>
<li><a class="reference" href="#operator" id="id48" name="id48">operator[]</a></li>
<li><a class="reference" href="#find-key" id="id49" name="id49">find_key()</a></li>
</ul>
</li>
<li><a class="reference" href="#torrent-info" id="id49" name="id49">torrent_info</a><ul>
<li><a class="reference" href="#id11" id="id50" name="id50">torrent_info()</a></li>
<li><a class="reference" href="#set-comment-set-piece-size-set-creator-set-hash-add-tracker-add-file" id="id51" name="id51">set_comment() set_piece_size() set_creator() set_hash() add_tracker() add_file()</a></li>
<li><a class="reference" href="#create-torrent" id="id52" name="id52">create_torrent()</a></li>
<li><a class="reference" href="#begin-files-end-files-rbegin-files-rend-files" id="id53" name="id53">begin_files() end_files() rbegin_files() rend_files()</a></li>
<li><a class="reference" href="#num-files-file-at" id="id54" name="id54">num_files() file_at()</a></li>
<li><a class="reference" href="#map-block" id="id55" name="id55">map_block()</a></li>
<li><a class="reference" href="#map-file" id="id56" name="id56">map_file()</a></li>
<li><a class="reference" href="#url-seeds" id="id57" name="id57">url_seeds()</a></li>
<li><a class="reference" href="#print" id="id58" name="id58">print()</a></li>
<li><a class="reference" href="#trackers" id="id59" name="id59">trackers()</a></li>
<li><a class="reference" href="#total-size-piece-length-piece-size-num-pieces" id="id60" name="id60">total_size() piece_length() piece_size() num_pieces()</a></li>
<li><a class="reference" href="#hash-for-piece-info-hash" id="id61" name="id61">hash_for_piece() info_hash()</a></li>
<li><a class="reference" href="#name-comment-creation-date-creator" id="id62" name="id62">name() comment() creation_date() creator()</a></li>
<li><a class="reference" href="#torrent-info" id="id50" name="id50">torrent_info</a><ul>
<li><a class="reference" href="#id12" id="id51" name="id51">torrent_info()</a></li>
<li><a class="reference" href="#set-comment-set-piece-size-set-creator-set-hash-add-tracker-add-file" id="id52" name="id52">set_comment() set_piece_size() set_creator() set_hash() add_tracker() add_file()</a></li>
<li><a class="reference" href="#create-torrent" id="id53" name="id53">create_torrent()</a></li>
<li><a class="reference" href="#begin-files-end-files-rbegin-files-rend-files" id="id54" name="id54">begin_files() end_files() rbegin_files() rend_files()</a></li>
<li><a class="reference" href="#num-files-file-at" id="id55" name="id55">num_files() file_at()</a></li>
<li><a class="reference" href="#map-block" id="id56" name="id56">map_block()</a></li>
<li><a class="reference" href="#map-file" id="id57" name="id57">map_file()</a></li>
<li><a class="reference" href="#url-seeds" id="id58" name="id58">url_seeds()</a></li>
<li><a class="reference" href="#print" id="id59" name="id59">print()</a></li>
<li><a class="reference" href="#trackers" id="id60" name="id60">trackers()</a></li>
<li><a class="reference" href="#total-size-piece-length-piece-size-num-pieces" id="id61" name="id61">total_size() piece_length() piece_size() num_pieces()</a></li>
<li><a class="reference" href="#hash-for-piece-info-hash" id="id62" name="id62">hash_for_piece() info_hash()</a></li>
<li><a class="reference" href="#name-comment-creation-date-creator" id="id63" name="id63">name() comment() creation_date() creator()</a></li>
</ul>
</li>
<li><a class="reference" href="#torrent-handle" id="id63" name="id63">torrent_handle</a><ul>
<li><a class="reference" href="#file-progress" id="id64" name="id64">file_progress()</a></li>
<li><a class="reference" href="#save-path" id="id65" name="id65">save_path()</a></li>
<li><a class="reference" href="#move-storage" id="id66" name="id66">move_storage()</a></li>
<li><a class="reference" href="#force-reannounce" id="id67" name="id67">force_reannounce()</a></li>
<li><a class="reference" href="#connect-peer" id="id68" name="id68">connect_peer()</a></li>
<li><a class="reference" href="#set-ratio" id="id69" name="id69">set_ratio()</a></li>
<li><a class="reference" href="#set-upload-limit-set-download-limit" id="id70" name="id70">set_upload_limit() set_download_limit()</a></li>
<li><a class="reference" href="#set-peer-upload-limit-set-peer-download-limit" id="id71" name="id71">set_peer_upload_limit() set_peer_download_limit()</a></li>
<li><a class="reference" href="#pause-resume-is-paused" id="id72" name="id72">pause() resume() is_paused()</a></li>
<li><a class="reference" href="#is-seed" id="id73" name="id73">is_seed()</a></li>
<li><a class="reference" href="#has-metadata" id="id74" name="id74">has_metadata()</a></li>
<li><a class="reference" href="#set-tracker-login" id="id75" name="id75">set_tracker_login()</a></li>
<li><a class="reference" href="#trackers-replace-trackers" id="id76" name="id76">trackers() replace_trackers()</a></li>
<li><a class="reference" href="#add-url-seed" id="id77" name="id77">add_url_seed()</a></li>
<li><a class="reference" href="#use-interface" id="id78" name="id78">use_interface()</a></li>
<li><a class="reference" href="#info-hash" id="id79" name="id79">info_hash()</a></li>
<li><a class="reference" href="#id13" id="id80" name="id80">set_max_uploads() set_max_connections()</a></li>
<li><a class="reference" href="#write-resume-data" id="id81" name="id81">write_resume_data()</a></li>
<li><a class="reference" href="#metadata" id="id82" name="id82">metadata()</a></li>
<li><a class="reference" href="#id14" id="id83" name="id83">status()</a></li>
<li><a class="reference" href="#get-download-queue" id="id84" name="id84">get_download_queue()</a></li>
<li><a class="reference" href="#get-peer-info" id="id85" name="id85">get_peer_info()</a></li>
<li><a class="reference" href="#get-torrent-info" id="id86" name="id86">get_torrent_info()</a></li>
<li><a class="reference" href="#is-valid" id="id87" name="id87">is_valid()</a></li>
<li><a class="reference" href="#torrent-handle" id="id64" name="id64">torrent_handle</a><ul>
<li><a class="reference" href="#file-progress" id="id65" name="id65">file_progress()</a></li>
<li><a class="reference" href="#save-path" id="id66" name="id66">save_path()</a></li>
<li><a class="reference" href="#move-storage" id="id67" name="id67">move_storage()</a></li>
<li><a class="reference" href="#force-reannounce" id="id68" name="id68">force_reannounce()</a></li>
<li><a class="reference" href="#connect-peer" id="id69" name="id69">connect_peer()</a></li>
<li><a class="reference" href="#set-ratio" id="id70" name="id70">set_ratio()</a></li>
<li><a class="reference" href="#set-upload-limit-set-download-limit" id="id71" name="id71">set_upload_limit() set_download_limit()</a></li>
<li><a class="reference" href="#set-peer-upload-limit-set-peer-download-limit" id="id72" name="id72">set_peer_upload_limit() set_peer_download_limit()</a></li>
<li><a class="reference" href="#pause-resume-is-paused" id="id73" name="id73">pause() resume() is_paused()</a></li>
<li><a class="reference" href="#is-seed" id="id74" name="id74">is_seed()</a></li>
<li><a class="reference" href="#has-metadata" id="id75" name="id75">has_metadata()</a></li>
<li><a class="reference" href="#set-tracker-login" id="id76" name="id76">set_tracker_login()</a></li>
<li><a class="reference" href="#trackers-replace-trackers" id="id77" name="id77">trackers() replace_trackers()</a></li>
<li><a class="reference" href="#add-url-seed" id="id78" name="id78">add_url_seed()</a></li>
<li><a class="reference" href="#use-interface" id="id79" name="id79">use_interface()</a></li>
<li><a class="reference" href="#info-hash" id="id80" name="id80">info_hash()</a></li>
<li><a class="reference" href="#id14" id="id81" name="id81">set_max_uploads() set_max_connections()</a></li>
<li><a class="reference" href="#write-resume-data" id="id82" name="id82">write_resume_data()</a></li>
<li><a class="reference" href="#metadata" id="id83" name="id83">metadata()</a></li>
<li><a class="reference" href="#id15" id="id84" name="id84">status()</a></li>
<li><a class="reference" href="#get-download-queue" id="id85" name="id85">get_download_queue()</a></li>
<li><a class="reference" href="#get-peer-info" id="id86" name="id86">get_peer_info()</a></li>
<li><a class="reference" href="#get-torrent-info" id="id87" name="id87">get_torrent_info()</a></li>
<li><a class="reference" href="#is-valid" id="id88" name="id88">is_valid()</a></li>
</ul>
</li>
<li><a class="reference" href="#torrent-status" id="id88" name="id88">torrent_status</a></li>
<li><a class="reference" href="#peer-info" id="id89" name="id89">peer_info</a></li>
<li><a class="reference" href="#session-settings" id="id90" name="id90">session_settings</a></li>
<li><a class="reference" href="#ip-filter" id="id91" name="id91">ip_filter</a><ul>
<li><a class="reference" href="#id17" id="id92" name="id92">ip_filter()</a></li>
<li><a class="reference" href="#add-rule" id="id93" name="id93">add_rule()</a></li>
<li><a class="reference" href="#access" id="id94" name="id94">access()</a></li>
<li><a class="reference" href="#export-filter" id="id95" name="id95">export_filter()</a></li>
<li><a class="reference" href="#torrent-status" id="id89" name="id89">torrent_status</a></li>
<li><a class="reference" href="#peer-info" id="id90" name="id90">peer_info</a></li>
<li><a class="reference" href="#session-settings" id="id91" name="id91">session_settings</a></li>
<li><a class="reference" href="#ip-filter" id="id92" name="id92">ip_filter</a><ul>
<li><a class="reference" href="#id18" id="id93" name="id93">ip_filter()</a></li>
<li><a class="reference" href="#add-rule" id="id94" name="id94">add_rule()</a></li>
<li><a class="reference" href="#access" id="id95" name="id95">access()</a></li>
<li><a class="reference" href="#export-filter" id="id96" name="id96">export_filter()</a></li>
</ul>
</li>
<li><a class="reference" href="#big-number" id="id96" name="id96">big_number</a></li>
<li><a class="reference" href="#hasher" id="id97" name="id97">hasher</a></li>
<li><a class="reference" href="#fingerprint" id="id98" name="id98">fingerprint</a></li>
<li><a class="reference" href="#free-functions" id="id99" name="id99">free functions</a><ul>
<li><a class="reference" href="#identify-client" id="id100" name="id100">identify_client()</a></li>
<li><a class="reference" href="#client-fingerprint" id="id101" name="id101">client_fingerprint()</a></li>
<li><a class="reference" href="#bdecode-bencode" id="id102" name="id102">bdecode() bencode()</a></li>
<li><a class="reference" href="#big-number" id="id97" name="id97">big_number</a></li>
<li><a class="reference" href="#hasher" id="id98" name="id98">hasher</a></li>
<li><a class="reference" href="#fingerprint" id="id99" name="id99">fingerprint</a></li>
<li><a class="reference" href="#free-functions" id="id100" name="id100">free functions</a><ul>
<li><a class="reference" href="#identify-client" id="id101" name="id101">identify_client()</a></li>
<li><a class="reference" href="#client-fingerprint" id="id102" name="id102">client_fingerprint()</a></li>
<li><a class="reference" href="#bdecode-bencode" id="id103" name="id103">bdecode() bencode()</a></li>
</ul>
</li>
<li><a class="reference" href="#alerts" id="id103" name="id103">alerts</a><ul>
<li><a class="reference" href="#listen-failed-alert" id="id104" name="id104">listen_failed_alert</a></li>
<li><a class="reference" href="#file-error-alert" id="id105" name="id105">file_error_alert</a></li>
<li><a class="reference" href="#tracker-announce-alert" id="id106" name="id106">tracker_announce_alert</a></li>
<li><a class="reference" href="#tracker-alert" id="id107" name="id107">tracker_alert</a></li>
<li><a class="reference" href="#tracker-reply-alert" id="id108" name="id108">tracker_reply_alert</a></li>
<li><a class="reference" href="#tracker-warning-alert" id="id109" name="id109">tracker_warning_alert</a></li>
<li><a class="reference" href="#url-seed-alert" id="id110" name="id110">url_seed_alert</a></li>
<li><a class="reference" href="#hash-failed-alert" id="id111" name="id111">hash_failed_alert</a></li>
<li><a class="reference" href="#peer-ban-alert" id="id112" name="id112">peer_ban_alert</a></li>
<li><a class="reference" href="#peer-error-alert" id="id113" name="id113">peer_error_alert</a></li>
<li><a class="reference" href="#invalid-request-alert" id="id114" name="id114">invalid_request_alert</a></li>
<li><a class="reference" href="#torrent-finished-alert" id="id115" name="id115">torrent_finished_alert</a></li>
<li><a class="reference" href="#metadata-failed-alert" id="id116" name="id116">metadata_failed_alert</a></li>
<li><a class="reference" href="#metadata-received-alert" id="id117" name="id117">metadata_received_alert</a></li>
<li><a class="reference" href="#fastresume-rejected-alert" id="id118" name="id118">fastresume_rejected_alert</a></li>
<li><a class="reference" href="#dispatcher" id="id119" name="id119">dispatcher</a></li>
<li><a class="reference" href="#alerts" id="id104" name="id104">alerts</a><ul>
<li><a class="reference" href="#listen-failed-alert" id="id105" name="id105">listen_failed_alert</a></li>
<li><a class="reference" href="#file-error-alert" id="id106" name="id106">file_error_alert</a></li>
<li><a class="reference" href="#tracker-announce-alert" id="id107" name="id107">tracker_announce_alert</a></li>
<li><a class="reference" href="#tracker-alert" id="id108" name="id108">tracker_alert</a></li>
<li><a class="reference" href="#tracker-reply-alert" id="id109" name="id109">tracker_reply_alert</a></li>
<li><a class="reference" href="#tracker-warning-alert" id="id110" name="id110">tracker_warning_alert</a></li>
<li><a class="reference" href="#url-seed-alert" id="id111" name="id111">url_seed_alert</a></li>
<li><a class="reference" href="#hash-failed-alert" id="id112" name="id112">hash_failed_alert</a></li>
<li><a class="reference" href="#peer-ban-alert" id="id113" name="id113">peer_ban_alert</a></li>
<li><a class="reference" href="#peer-error-alert" id="id114" name="id114">peer_error_alert</a></li>
<li><a class="reference" href="#invalid-request-alert" id="id115" name="id115">invalid_request_alert</a></li>
<li><a class="reference" href="#torrent-finished-alert" id="id116" name="id116">torrent_finished_alert</a></li>
<li><a class="reference" href="#metadata-failed-alert" id="id117" name="id117">metadata_failed_alert</a></li>
<li><a class="reference" href="#metadata-received-alert" id="id118" name="id118">metadata_received_alert</a></li>
<li><a class="reference" href="#fastresume-rejected-alert" id="id119" name="id119">fastresume_rejected_alert</a></li>
<li><a class="reference" href="#dispatcher" id="id120" name="id120">dispatcher</a></li>
</ul>
</li>
<li><a class="reference" href="#exceptions" id="id120" name="id120">exceptions</a><ul>
<li><a class="reference" href="#invalid-handle" id="id121" name="id121">invalid_handle</a></li>
<li><a class="reference" href="#duplicate-torrent" id="id122" name="id122">duplicate_torrent</a></li>
<li><a class="reference" href="#invalid-encoding" id="id123" name="id123">invalid_encoding</a></li>
<li><a class="reference" href="#type-error" id="id124" name="id124">type_error</a></li>
<li><a class="reference" href="#invalid-torrent-file" id="id125" name="id125">invalid_torrent_file</a></li>
<li><a class="reference" href="#exceptions" id="id121" name="id121">exceptions</a><ul>
<li><a class="reference" href="#invalid-handle" id="id122" name="id122">invalid_handle</a></li>
<li><a class="reference" href="#duplicate-torrent" id="id123" name="id123">duplicate_torrent</a></li>
<li><a class="reference" href="#invalid-encoding" id="id124" name="id124">invalid_encoding</a></li>
<li><a class="reference" href="#type-error" id="id125" name="id125">type_error</a></li>
<li><a class="reference" href="#invalid-torrent-file" id="id126" name="id126">invalid_torrent_file</a></li>
</ul>
</li>
<li><a class="reference" href="#examples" id="id126" name="id126">examples</a><ul>
<li><a class="reference" href="#dump-torrent" id="id127" name="id127">dump_torrent</a></li>
<li><a class="reference" href="#simple-client" id="id128" name="id128">simple client</a></li>
<li><a class="reference" href="#make-torrent" id="id129" name="id129">make_torrent</a></li>
<li><a class="reference" href="#examples" id="id127" name="id127">examples</a><ul>
<li><a class="reference" href="#dump-torrent" id="id128" name="id128">dump_torrent</a></li>
<li><a class="reference" href="#simple-client" id="id129" name="id129">simple client</a></li>
<li><a class="reference" href="#make-torrent" id="id130" name="id130">make_torrent</a></li>
</ul>
</li>
<li><a class="reference" href="#fast-resume" id="id130" name="id130">fast resume</a><ul>
<li><a class="reference" href="#file-format" id="id131" name="id131">file format</a></li>
<li><a class="reference" href="#fast-resume" id="id131" name="id131">fast resume</a><ul>
<li><a class="reference" href="#file-format" id="id132" name="id132">file format</a></li>
</ul>
</li>
<li><a class="reference" href="#threads" id="id132" name="id132">threads</a></li>
<li><a class="reference" href="#storage-allocation" id="id133" name="id133">storage allocation</a><ul>
<li><a class="reference" href="#full-allocation" id="id134" name="id134">full allocation</a></li>
<li><a class="reference" href="#compact-allocation" id="id135" name="id135">compact allocation</a></li>
<li><a class="reference" href="#threads" id="id133" name="id133">threads</a></li>
<li><a class="reference" href="#storage-allocation" id="id134" name="id134">storage allocation</a><ul>
<li><a class="reference" href="#full-allocation" id="id135" name="id135">full allocation</a></li>
<li><a class="reference" href="#compact-allocation" id="id136" name="id136">compact allocation</a></li>
</ul>
</li>
<li><a class="reference" href="#extensions" id="id136" name="id136">extensions</a><ul>
<li><a class="reference" href="#chat-messages" id="id137" name="id137">chat messages</a></li>
<li><a class="reference" href="#metadata-from-peers" id="id138" name="id138">metadata from peers</a></li>
<li><a class="reference" href="#http-seeding" id="id139" name="id139">HTTP seeding</a></li>
<li><a class="reference" href="#extensions" id="id137" name="id137">extensions</a><ul>
<li><a class="reference" href="#chat-messages" id="id138" name="id138">chat messages</a></li>
<li><a class="reference" href="#metadata-from-peers" id="id139" name="id139">metadata from peers</a></li>
<li><a class="reference" href="#http-seeding" id="id140" name="id140">HTTP seeding</a></li>
</ul>
</li>
<li><a class="reference" href="#filename-checks" id="id140" name="id140">filename checks</a></li>
<li><a class="reference" href="#acknowledgments" id="id141" name="id141">acknowledgments</a></li>
<li><a class="reference" href="#filename-checks" id="id141" name="id141">filename checks</a></li>
<li><a class="reference" href="#acknowledgments" id="id142" name="id142">acknowledgments</a></li>
</ul>
</div>
<div class="section">
@ -248,6 +248,7 @@ epoll on linux and kqueue on MacOS X and BSD.</p>
release its source code. The only requirement is that you give credit
to the author of the library by including the libtorrent license in your
software or documentation.</p>
<p><a class="reference" href="projects.html">Here's</a> a list of some projects that uses libtorrent.</p>
</div>
<div class="section">
<h1><a id="downloading-and-building" name="downloading-and-building">downloading and building</a></h1>
@ -666,7 +667,7 @@ class session: public boost::noncopyable
<p>Once it's created, the session object will spawn the main thread that will do all the work.
The main thread will be idle as long it doesn't have any torrents to participate in.</p>
<div class="section">
<h2><a id="id9" name="id9">session()</a></h2>
<h2><a id="id10" name="id10">session()</a></h2>
<blockquote>
<pre class="literal-block">
session(fingerprint const&amp; print = libtorrent::fingerprint(&quot;LT&quot;, 0, 1, 0, 0));
@ -685,7 +686,7 @@ will automatically try to listen on a port on the given interface. For more info
the parameters, see <tt class="docutils literal"><span class="pre">listen_on()</span></tt> function.</p>
</div>
<div class="section">
<h2><a id="id10" name="id10">~session()</a></h2>
<h2><a id="id11" name="id11">~session()</a></h2>
<p>The destructor of session will notify all trackers that our torrents have been shut down.
If some trackers are down, they will time out. All this before the destructor of session
returns. So, it's advised that any kind of interface (such as windows) are closed before
@ -1124,7 +1125,7 @@ public:
};
</pre>
<div class="section">
<h2><a id="id11" name="id11">torrent_info()</a></h2>
<h2><a id="id12" name="id12">torrent_info()</a></h2>
<blockquote>
<pre class="literal-block">
torrent_info();
@ -1649,7 +1650,7 @@ sha1_hash info_hash() const;
<p><tt class="docutils literal"><span class="pre">info_hash()</span></tt> returns the info-hash for the torrent.</p>
</div>
<div class="section">
<h2><a id="id13" name="id13">set_max_uploads() set_max_connections()</a></h2>
<h2><a id="id14" name="id14">set_max_uploads() set_max_connections()</a></h2>
<blockquote>
<pre class="literal-block">
void set_max_uploads(int max_uploads) const;
@ -1698,7 +1699,7 @@ std::vector&lt;char&gt; const&amp; metadata() const;
it will produce the same hash as the info-hash.</p>
</div>
<div class="section">
<h2><a id="id14" name="id14">status()</a></h2>
<h2><a id="id15" name="id15">status()</a></h2>
<blockquote>
<pre class="literal-block">
torrent_status status() const;
@ -2214,7 +2215,7 @@ public:
</pre>
</blockquote>
<div class="section">
<h2><a id="id17" name="id17">ip_filter()</a></h2>
<h2><a id="id18" name="id18">ip_filter()</a></h2>
<blockquote>
<pre class="literal-block">
ip_filter()

View File

@ -105,6 +105,9 @@ release its source code. The only requirement is that you give credit
to the author of the library by including the libtorrent license in your
software or documentation.
`Here's`__ a list of some projects that uses libtorrent.
__ projects.html
downloading and building
========================

BIN
docs/moopolice_thumb.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

82
docs/projects.rst Normal file
View File

@ -0,0 +1,82 @@
projects using libtorrent
=========================
These are some of the public projects that uses libtorrent. If you want your
project listed here, let me_ know.
.. _me: mailto:arvid@rasterbar.com
**qBittorrent**
.. image:: qbittorrent_thumb.jpg
qBittorrent_ is a QT bittorrent client available for linux (likely
portable to most other desktops as well). Written by Christophe Dumez.
.. _qBittorrent: http://www.qbittorrent.org/
**btg**
.. image:: btg_thumb.jpg
btg_ is a linux bittorrent client which is run as a daemon. It has
multiple user interfaces which connects to the daemon. One GUI (Gtkmm),
one terminal interface (ncurses) and one web interface (accessable through
a web browser). Written by Michael Wojciechowski and Johan Stršm.
.. _btg: http://developer.berlios.de/projects/btg/
**MooPolice**
.. image:: moopolice_thumb.gif
MooPolice_ is a windows bittorrent client with a quite unique look.
.. _MooPolice: http://www.massaroddel.de/MooPolice/
**BitBuddy**
.. image:: bitbuddy_thumb.jpg
BitBuddy_ is a windows bittorrent client by Daniel Wang, quite similar
to BitComet GUI-wise.
.. _BitBuddy: http://www.btvampire.com
**Arctic Torrent**
.. image:: arctic_thumb.png
`Arctic Torrent`_ is a light-weight bittorrent client for windows.
Written by Cory Nelson.
.. _`Arctic Torrent`: http://www.int64.org/arctic.html
**ZipTorrent**
.. image:: ziptorrent_thumb.gif
ZipTorrent_ is another windows bittorrent client with decentralized
search facility.
.. _ZipTorrent: http://www.ziptorrent.com/
**FireANT**
FireANT_ is a video blog available for Windows and Mac OSX.
.. _FireANT: http://antisnottv.net/
**eDonkey 2000**
eDonkey2000_ comes bundled with a bittorrent plugin by 'The Orphan'.
.. _eDonkey2000: http://www.edonkey2000.com/
**pHoeniX**
pHoeniX_ is an eMule mod supporting, among other things, bittorrent.
.. _pHoeniX: http://sourceforge.net/projects/emulephoenix

BIN
docs/qbittorrent_thumb.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1,109 +1,143 @@
body
{
background-color: white;
color: black;
margin: 1em 2em 1em 2em;
html>body { font-size: 13px; }
#main {
font-family: Verdana;
text-align: left;
margin-top: 10px;
}
h1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; text-align: left; font-size: 140%; }
h2 { font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; text-align: left; font-size: 110%; }
h3 { font-family: "courier new", courier, monospace; font-weight: bold; text-align: left; font-size: 100%; }
/* Base elements */
pre
{
border: gray 1pt solid;
padding: 2pt;
* {margin: 0; padding: 0;}
body { font: 0.8125em Verdana, sans-serif;}
display: block;
font-family: "courier new", courier, monospace;
background-color: #eeeeee;
color: black;
font-size: small
h1, h2, h3 {
font: 1.5em Georgia "Times New Roman", serif;
letter-spacing: 1px;
padding-bottom: 0.5em;
}
code
{
white-space: pre;
border: gray 1pt solid;
padding: 2pt;
h1 { font-size: 180%; }
h2 { font-size: 130%; }
h3 { font-size: 100%; }
display: block;
font-family: "courier new", courier, monospace;
color: black;
font-size: small
p {
font-size: 92%;
line-height: 1.4em;
}
tt
{
display: inline;
font-family: "Courier New", Courier, monospace;
a {
text-decoration: none;
color: #8D370A;
border-bottom: dotted 1px #8D370A;
}
p
{
text-align: justify;
font-family: Georgia, "Times New Roman", Times, serif
a:hover {
border-bottom: solid 1px #8D370A;
background: #eee;
}
ul
{
font-family: Georgia, "Times New Roman", Times, serif
ul, ol { /*line-height: 1.8em;*/ }
ul { list-style: square; }
li { margin-left: 2.8em; font-size: 92%; }
p, ul, ol, img {margin-bottom: 1em;}
.document {
margin-left: 10px;
margin-right: 10px;
}
ol
{
font-family: Georgia, "Times New Roman", Times, serif
.document a {
border: none;
color: black;
}
a:link
{
font-weight: bold;
color: #003366;
text-decoration: none;
.document a:hover {
background: none;
}
.document a.reference {
color: #8D370A;
border-bottom: dotted 1px #8D370A;
}
a:visited
{
font-weight: bold;
color: #003366;
text-decoration: none;
.document a.reference:hover {
border-bottom: solid 1px #8D370A;
background: #eee;
}
table
{
border: 1px solid black;
border-collapse: collapse;
div.section {
margin-bottom: 3em;
}
table td
{
padding: 6px;
div.section div.section div.section {
margin-bottom: 2em;
}
table th
{
border: 3px solid black;
padding: 6px;
h3 { text-transform: uppercase; }
div.section p, div.section ul, div.section dl {
}
table.menu
{
border-style: none;
table.docinfo {
text-align: left;
float: right;
width: 200px;
margin-right: 0px;
margin-left: 20px;
margin-bottom: 20px;
}
table.menu td
{
padding-left: 15px;
padding-right: 15px;
padding-top: 7px;
padding-bottom: 7px;
table.docinfo th {
border-top: none;
font-size: 72%;
padding-left: 10px;
}
table.docinfo td {
padding-left: 10px;
font-size: 88%;
}
td
{
border: 1px solid black
table.docinfo tr.field td, table.docinfo tr.field th {display: none;}
h1.title { text-align: center; }
dt {
font-size: 100%;
letter-spacing: 2px;
line-height: 1em;
color: #315586;
color: #000;
font-family: Tahoma;
font-weight: bold;
}
dd {
/* line-height: 1.5em;*/
margin-left: 1em;
margin-bottom: 1em;
font-size: 92%;
}
tt {
font: 1em "Courier New", "Courier";
color: #315566;
}
pre {
font-family: "Courier", monospace;
margin-right: 10px;
background: #C1E5F6;
border-left: solid 2px #6185A6;
border-right: solid 2px #6185A6;
padding: 5px 10px 5px 10px;
background: #f6f6f6;
border: solid 1px #ddd;
margin: 1em 0;
}
div.warning, div.note, div.important {
@ -115,3 +149,136 @@ div.warning, div.note, div.important {
padding: 5px 10px 5px 10px;
}
p.admonition-title {
font-family: Georgia, "Lucida Grande";
font-size: 128%;
letter-spacing: 2px;
text-transform: uppercase;
margin: 0 0 0.5em 0;
border-bottom: solid 1px #D1DFD5
}
div.sidebar {
background: #f8f8e8;
float: right;
width: 20em;
margin-right: 1em;
border: solid 1px #e5e5d5;
padding: 1.3em;
}
div.sidebar p.sidebar-title {
font: 1.3em Georgia;
border-bottom: solid 1px #e5e5d5;
padding-bottom: 0.5em;
margin: 0 0 0.5em 0;
}
h1 { font-size: 230%; }
h2 { font-size: 180%; }
h3 { font-size: 130%; }
table { margin-bottom: 1em; border-collapse: collapse; }
table, th, td { border: none; }
th, td { padding: 0.3em; }
th {
text-align: left;
background: #f0f0e0;
border-right: solid 1px #f0f0e0;
border-top: solid 1px #e8e8d8;
border-bottom: solid 1px #e8e8d8;
}
td {
background: #f8f8e8;
border-right: solid 1px #f8f8e8;
border-bottom: solid 1px #e8e8d8;
}
td td {
background: #e8e8d8;
border-right: solid 1px #e8e8d8;
border-bottom: solid 1px #d8d8c8;
}
div.topic {
border-left: solid 1px #eee;
padding-left: 1em;
margin: 0 0 1.5em;
}
p.topic-title {
font: 1.3em Georgia, "Times New Roman", serif;
}
/* TOC */
div.contents {
border: none;
}
#table-of-contents {
margin-left: 20px;
padding: 0 0 1em;
width: 200px;
float: right;
clear: right;
border-right: solid 1px #A1C5D6;
}
#table-of-contents p {
font-family: Georgia, "Times New Roman", serif;
color: #AD370A;
padding: 0.5em;
margin: 0;
}
#table-of-contents li {
margin: 0 0.5em 0 0.5em;
}
#table-of-contents ul {
margin: 0;
padding: 0 0 0 0.8em;
list-style: none;
text-align: left;
/* line-height: 1.5em;*/
}
#table-of-contents a.reference {
border: none;
font: 0.88em Tahoma;
font-weight: bold;
color: #000050;
margin-right: 1em;
padding-left: 15px;
}
#table-of-contents li li a.reference {
font-weight: normal;
background: none;
padding: 0;
}
#table-of-contents a.reference:hover {text-decoration: underline;}
dd p {
font-size: 100%;
}
dd pre {
font-size: 108.7%;
}
li p, li li { font-size: 100%; }
/* IE Hacks */
/* Hides from IE-mac \*/
* html li pre { height: 1%; }
* html .topic pre { height: 1%; }
* html #table-of-contents ul ul { height: 1%; }
/* End hide from IE-mac */

View File

@ -6,127 +6,7 @@
<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>Bittorrent udp-tracker protocol extension</title>
<meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" />
<style type="text/css">
body
{
background-color: white;
color: black;
margin: 1em 2em 1em 2em;
}
h1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; text-align: left; font-size: 140%; }
h2 { font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; text-align: left; font-size: 110%; }
h3 { font-family: "courier new", courier, monospace; font-weight: bold; text-align: left; font-size: 100%; }
pre
{
border: gray 1pt solid;
padding: 2pt;
display: block;
font-family: "courier new", courier, monospace;
background-color: #eeeeee;
color: black;
font-size: small
}
code
{
white-space: pre;
border: gray 1pt solid;
padding: 2pt;
display: block;
font-family: "courier new", courier, monospace;
color: black;
font-size: small
}
tt
{
display: inline;
font-family: "Courier New", Courier, monospace;
}
p
{
text-align: justify;
font-family: Georgia, "Times New Roman", Times, serif
}
ul
{
font-family: Georgia, "Times New Roman", Times, serif
}
ol
{
font-family: Georgia, "Times New Roman", Times, serif
}
a:link
{
font-weight: bold;
color: #003366;
text-decoration: none;
}
a:visited
{
font-weight: bold;
color: #003366;
text-decoration: none;
}
table
{
border: 1px solid black;
border-collapse: collapse;
}
table td
{
padding: 6px;
}
table th
{
border: 3px solid black;
padding: 6px;
}
table.menu
{
border-style: none;
}
table.menu td
{
padding-left: 15px;
padding-right: 15px;
padding-top: 7px;
padding-bottom: 7px;
}
td
{
border: 1px solid black
}
div.warning, div.note, div.important {
width: 80%;
margin: 1.5em auto;
background: #C1E5F6;
background: #F1FFF5;
border: solid 1px #D1DFD5;
padding: 5px 10px 5px 10px;
}
</style>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div class="document" id="bittorrent-udp-tracker-protocol-extension">
@ -139,8 +19,8 @@ div.warning, div.note, div.important {
<td>Arvid Norberg, <a class="last reference" href="mailto:arvid&#64;rasterbar.com">arvid&#64;rasterbar.com</a></td></tr>
</tbody>
</table>
<div class="contents topic">
<p class="topic-title first"><a id="table-of-contents" name="table-of-contents">Table of contents</a></p>
<div class="contents topic" id="table-of-contents">
<p class="topic-title first"><a name="table-of-contents">Table of contents</a></p>
<ul class="simple">
<li><a class="reference" href="#introduction" id="id2" name="id2">introduction</a></li>
<li><a class="reference" href="#connecting" id="id3" name="id3">connecting</a></li>

BIN
docs/ziptorrent_thumb.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB