added a setting for max outstanding requests, and a limit for BitComet since it's known to have a very low limit, also added an extension header to specify it. Fixed another unnecessary delay spotted by Tianhao Qiu. Cleaned up the logging class a bit. Fixed a bug that would cause an assert when removing a torrent queued for checking.

This commit is contained in:
Arvid Norberg
2006-05-14 22:30:05 +00:00
parent 73b1c5c9b8
commit 0b529e8f96
18 changed files with 318 additions and 124 deletions

View File

@@ -229,60 +229,61 @@ div.warning, div.note, div.important {
<li><a class="reference" href="#fingerprint" id="id96" name="id96">fingerprint</a></li>
<li><a class="reference" href="#free-functions" id="id97" name="id97">free functions</a><ul>
<li><a class="reference" href="#identify-client" id="id98" name="id98">identify_client()</a></li>
<li><a class="reference" href="#bdecode-bencode" id="id99" name="id99">bdecode() bencode()</a></li>
<li><a class="reference" href="#client-fingerprint" id="id99" name="id99">client_fingerprint()</a></li>
<li><a class="reference" href="#bdecode-bencode" id="id100" name="id100">bdecode() bencode()</a></li>
</ul>
</li>
<li><a class="reference" href="#alerts" id="id100" name="id100">alerts</a><ul>
<li><a class="reference" href="#listen-failed-alert" id="id101" name="id101">listen_failed_alert</a></li>
<li><a class="reference" href="#file-error-alert" id="id102" name="id102">file_error_alert</a></li>
<li><a class="reference" href="#tracker-announce-alert" id="id103" name="id103">tracker_announce_alert</a></li>
<li><a class="reference" href="#tracker-alert" id="id104" name="id104">tracker_alert</a></li>
<li><a class="reference" href="#tracker-reply-alert" id="id105" name="id105">tracker_reply_alert</a></li>
<li><a class="reference" href="#tracker-warning-alert" id="id106" name="id106">tracker_warning_alert</a></li>
<li><a class="reference" href="#url-seed-alert" id="id107" name="id107">url_seed_alert</a></li>
<li><a class="reference" href="#hash-failed-alert" id="id108" name="id108">hash_failed_alert</a></li>
<li><a class="reference" href="#peer-ban-alert" id="id109" name="id109">peer_ban_alert</a></li>
<li><a class="reference" href="#peer-error-alert" id="id110" name="id110">peer_error_alert</a></li>
<li><a class="reference" href="#invalid-request-alert" id="id111" name="id111">invalid_request_alert</a></li>
<li><a class="reference" href="#torrent-finished-alert" id="id112" name="id112">torrent_finished_alert</a></li>
<li><a class="reference" href="#metadata-failed-alert" id="id113" name="id113">metadata_failed_alert</a></li>
<li><a class="reference" href="#metadata-received-alert" id="id114" name="id114">metadata_received_alert</a></li>
<li><a class="reference" href="#fastresume-rejected-alert" id="id115" name="id115">fastresume_rejected_alert</a></li>
<li><a class="reference" href="#dispatcher" id="id116" name="id116">dispatcher</a></li>
<li><a class="reference" href="#alerts" id="id101" name="id101">alerts</a><ul>
<li><a class="reference" href="#listen-failed-alert" id="id102" name="id102">listen_failed_alert</a></li>
<li><a class="reference" href="#file-error-alert" id="id103" name="id103">file_error_alert</a></li>
<li><a class="reference" href="#tracker-announce-alert" id="id104" name="id104">tracker_announce_alert</a></li>
<li><a class="reference" href="#tracker-alert" id="id105" name="id105">tracker_alert</a></li>
<li><a class="reference" href="#tracker-reply-alert" id="id106" name="id106">tracker_reply_alert</a></li>
<li><a class="reference" href="#tracker-warning-alert" id="id107" name="id107">tracker_warning_alert</a></li>
<li><a class="reference" href="#url-seed-alert" id="id108" name="id108">url_seed_alert</a></li>
<li><a class="reference" href="#hash-failed-alert" id="id109" name="id109">hash_failed_alert</a></li>
<li><a class="reference" href="#peer-ban-alert" id="id110" name="id110">peer_ban_alert</a></li>
<li><a class="reference" href="#peer-error-alert" id="id111" name="id111">peer_error_alert</a></li>
<li><a class="reference" href="#invalid-request-alert" id="id112" name="id112">invalid_request_alert</a></li>
<li><a class="reference" href="#torrent-finished-alert" id="id113" name="id113">torrent_finished_alert</a></li>
<li><a class="reference" href="#metadata-failed-alert" id="id114" name="id114">metadata_failed_alert</a></li>
<li><a class="reference" href="#metadata-received-alert" id="id115" name="id115">metadata_received_alert</a></li>
<li><a class="reference" href="#fastresume-rejected-alert" id="id116" name="id116">fastresume_rejected_alert</a></li>
<li><a class="reference" href="#dispatcher" id="id117" name="id117">dispatcher</a></li>
</ul>
</li>
<li><a class="reference" href="#exceptions" id="id117" name="id117">exceptions</a><ul>
<li><a class="reference" href="#invalid-handle" id="id118" name="id118">invalid_handle</a></li>
<li><a class="reference" href="#duplicate-torrent" id="id119" name="id119">duplicate_torrent</a></li>
<li><a class="reference" href="#invalid-encoding" id="id120" name="id120">invalid_encoding</a></li>
<li><a class="reference" href="#type-error" id="id121" name="id121">type_error</a></li>
<li><a class="reference" href="#invalid-torrent-file" id="id122" name="id122">invalid_torrent_file</a></li>
<li><a class="reference" href="#exceptions" id="id118" name="id118">exceptions</a><ul>
<li><a class="reference" href="#invalid-handle" id="id119" name="id119">invalid_handle</a></li>
<li><a class="reference" href="#duplicate-torrent" id="id120" name="id120">duplicate_torrent</a></li>
<li><a class="reference" href="#invalid-encoding" id="id121" name="id121">invalid_encoding</a></li>
<li><a class="reference" href="#type-error" id="id122" name="id122">type_error</a></li>
<li><a class="reference" href="#invalid-torrent-file" id="id123" name="id123">invalid_torrent_file</a></li>
</ul>
</li>
<li><a class="reference" href="#examples" id="id123" name="id123">examples</a><ul>
<li><a class="reference" href="#dump-torrent" id="id124" name="id124">dump_torrent</a></li>
<li><a class="reference" href="#simple-client" id="id125" name="id125">simple client</a></li>
<li><a class="reference" href="#make-torrent" id="id126" name="id126">make_torrent</a></li>
<li><a class="reference" href="#examples" id="id124" name="id124">examples</a><ul>
<li><a class="reference" href="#dump-torrent" id="id125" name="id125">dump_torrent</a></li>
<li><a class="reference" href="#simple-client" id="id126" name="id126">simple client</a></li>
<li><a class="reference" href="#make-torrent" id="id127" name="id127">make_torrent</a></li>
</ul>
</li>
<li><a class="reference" href="#fast-resume" id="id127" name="id127">fast resume</a><ul>
<li><a class="reference" href="#file-format" id="id128" name="id128">file format</a></li>
<li><a class="reference" href="#fast-resume" id="id128" name="id128">fast resume</a><ul>
<li><a class="reference" href="#file-format" id="id129" name="id129">file format</a></li>
</ul>
</li>
<li><a class="reference" href="#threads" id="id129" name="id129">threads</a></li>
<li><a class="reference" href="#storage-allocation" id="id130" name="id130">storage allocation</a><ul>
<li><a class="reference" href="#full-allocation" id="id131" name="id131">full allocation</a></li>
<li><a class="reference" href="#compact-allocation" id="id132" name="id132">compact allocation</a></li>
<li><a class="reference" href="#threads" id="id130" name="id130">threads</a></li>
<li><a class="reference" href="#storage-allocation" id="id131" name="id131">storage allocation</a><ul>
<li><a class="reference" href="#full-allocation" id="id132" name="id132">full allocation</a></li>
<li><a class="reference" href="#compact-allocation" id="id133" name="id133">compact allocation</a></li>
</ul>
</li>
<li><a class="reference" href="#extensions" id="id133" name="id133">extensions</a><ul>
<li><a class="reference" href="#chat-messages" id="id134" name="id134">chat messages</a></li>
<li><a class="reference" href="#metadata-from-peers" id="id135" name="id135">metadata from peers</a></li>
<li><a class="reference" href="#http-seeding" id="id136" name="id136">HTTP seeding</a></li>
<li><a class="reference" href="#extensions" id="id134" name="id134">extensions</a><ul>
<li><a class="reference" href="#chat-messages" id="id135" name="id135">chat messages</a></li>
<li><a class="reference" href="#metadata-from-peers" id="id136" name="id136">metadata from peers</a></li>
<li><a class="reference" href="#http-seeding" id="id137" name="id137">HTTP seeding</a></li>
</ul>
</li>
<li><a class="reference" href="#filename-checks" id="id137" name="id137">filename checks</a></li>
<li><a class="reference" href="#acknowledgements" id="id138" name="id138">acknowledgements</a></li>
<li><a class="reference" href="#filename-checks" id="id138" name="id138">filename checks</a></li>
<li><a class="reference" href="#acknowledgements" id="id139" name="id139">acknowledgements</a></li>
</ul>
</div>
<div class="section">
@@ -2459,6 +2460,18 @@ to extract a string describing a client version from its peer-id. It will recogn
that have this kind of identification in the peer-id.</p>
</div>
<div class="section">
<h2><a id="client-fingerprint" name="client-fingerprint">client_fingerprint()</a></h2>
<blockquote>
<pre class="literal-block">
boost::optional&lt;fingerprint&gt; client_fingerprint(peer_id const&amp; p);
</pre>
</blockquote>
<p>Returns an optional fingerprint if any can be identified from the peer id. This can be used
to automate the identification of clients. It will not be able to identifiy peers with non-
standard encodings. Only Azureus style, Shadow's style and Mainline style. This function is
declared in the header <tt class="docutils literal"><span class="pre">&lt;libtorrent/identify_client.hpp&gt;</span></tt>.</p>
</div>
<div class="section">
<h2><a id="bdecode-bencode" name="bdecode-bencode">bdecode() bencode()</a></h2>
<blockquote>
<pre class="literal-block">