updated documentation to reflect the new function set_max_half_open_connections

This commit is contained in:
Arvid Norberg 2005-11-03 12:23:09 +00:00
parent ff61376140
commit 0f57bd3331
3 changed files with 135 additions and 94 deletions

View File

@ -1,5 +1,8 @@
SUBDIRS = include @ZLIBDIR@ src examples test SUBDIRS = include @ZLIBDIR@ src examples test
EXTRA_DIST = docs Jamfile project-root.jam \ EXTRA_DIST = docs/manual.html docs/manual.rst docs/extension_protocol.rst \
docs/extension_protocol.html docs/udp_tracker_protocol.rst \
docs/udp_tracker_protocol.html docs/client_test.rst docs/client_test.html \
docs/unicode_support.png docs/client_test.png docs/style.css Jamfile project-root.jam \
m4/ac_cxx_namespaces.m4 m4/acx_pthread.m4 m4/ax_boost_date-time.m4 \ m4/ac_cxx_namespaces.m4 m4/acx_pthread.m4 m4/ax_boost_date-time.m4 \
m4/ax_boost_filesystem.m4 m4/ax_boost_thread.m4 src/file_win.cpp libtorrent.pc m4/ax_boost_filesystem.m4 m4/ax_boost_thread.m4 src/file_win.cpp libtorrent.pc

View File

@ -39,123 +39,124 @@
<li><a class="reference" href="#disable-extensions-enable-extension" id="id33" name="id33">disable_extensions() enable_extension()</a></li> <li><a class="reference" href="#disable-extensions-enable-extension" id="id33" name="id33">disable_extensions() enable_extension()</a></li>
<li><a class="reference" href="#set-upload-rate-limit-set-download-rate-limit" id="id34" name="id34">set_upload_rate_limit() set_download_rate_limit()</a></li> <li><a class="reference" href="#set-upload-rate-limit-set-download-rate-limit" id="id34" name="id34">set_upload_rate_limit() set_download_rate_limit()</a></li>
<li><a class="reference" href="#set-max-uploads-set-max-connections" id="id35" name="id35">set_max_uploads() set_max_connections()</a></li> <li><a class="reference" href="#set-max-uploads-set-max-connections" id="id35" name="id35">set_max_uploads() set_max_connections()</a></li>
<li><a class="reference" href="#set-ip-filter" id="id36" name="id36">set_ip_filter()</a></li> <li><a class="reference" href="#set-max-half-open-connections" id="id36" name="id36">set_max_half_open_connections()</a></li>
<li><a class="reference" href="#status" id="id37" name="id37">status()</a></li> <li><a class="reference" href="#set-ip-filter" id="id37" name="id37">set_ip_filter()</a></li>
<li><a class="reference" href="#is-listening-listen-port-listen-on" id="id38" name="id38">is_listening() listen_port() listen_on()</a></li> <li><a class="reference" href="#status" id="id38" name="id38">status()</a></li>
<li><a class="reference" href="#pop-alert-set-severity-level" id="id39" name="id39">pop_alert() set_severity_level()</a></li> <li><a class="reference" href="#is-listening-listen-port-listen-on" id="id39" name="id39">is_listening() listen_port() listen_on()</a></li>
<li><a class="reference" href="#pop-alert-set-severity-level" id="id40" name="id40">pop_alert() set_severity_level()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#entry" id="id40" name="id40">entry</a><ul> <li><a class="reference" href="#entry" id="id41" name="id41">entry</a><ul>
<li><a class="reference" href="#integer-string-list-dict-type" id="id41" name="id41">integer() string() list() dict() type()</a></li> <li><a class="reference" href="#integer-string-list-dict-type" id="id42" name="id42">integer() string() list() dict() type()</a></li>
<li><a class="reference" href="#operator" id="id42" name="id42">operator[]</a></li> <li><a class="reference" href="#operator" id="id43" name="id43">operator[]</a></li>
<li><a class="reference" href="#find-key" id="id43" name="id43">find_key()</a></li> <li><a class="reference" href="#find-key" id="id44" name="id44">find_key()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#torrent-info" id="id44" name="id44">torrent_info</a><ul> <li><a class="reference" href="#torrent-info" id="id45" name="id45">torrent_info</a><ul>
<li><a class="reference" href="#id9" id="id45" name="id45">torrent_info()</a></li> <li><a class="reference" href="#id9" id="id46" name="id46">torrent_info()</a></li>
<li><a class="reference" href="#set-comment-set-piece-size-set-creator-set-hash-add-tracker-add-file" id="id46" name="id46">set_comment() set_piece_size() set_creator() set_hash() add_tracker() add_file()</a></li> <li><a class="reference" href="#set-comment-set-piece-size-set-creator-set-hash-add-tracker-add-file" id="id47" name="id47">set_comment() set_piece_size() set_creator() set_hash() add_tracker() add_file()</a></li>
<li><a class="reference" href="#create-torrent" id="id47" name="id47">create_torrent()</a></li> <li><a class="reference" href="#create-torrent" id="id48" name="id48">create_torrent()</a></li>
<li><a class="reference" href="#begin-files-end-files-rbegin-files-rend-files" id="id48" name="id48">begin_files() end_files() rbegin_files() rend_files()</a></li> <li><a class="reference" href="#begin-files-end-files-rbegin-files-rend-files" id="id49" name="id49">begin_files() end_files() rbegin_files() rend_files()</a></li>
<li><a class="reference" href="#num-files-file-at" id="id49" name="id49">num_files() file_at()</a></li> <li><a class="reference" href="#num-files-file-at" id="id50" name="id50">num_files() file_at()</a></li>
<li><a class="reference" href="#print" id="id50" name="id50">print()</a></li> <li><a class="reference" href="#print" id="id51" name="id51">print()</a></li>
<li><a class="reference" href="#trackers" id="id51" name="id51">trackers()</a></li> <li><a class="reference" href="#trackers" id="id52" name="id52">trackers()</a></li>
<li><a class="reference" href="#total-size-piece-length-piece-size-num-pieces" id="id52" name="id52">total_size() piece_length() piece_size() num_pieces()</a></li> <li><a class="reference" href="#total-size-piece-length-piece-size-num-pieces" id="id53" name="id53">total_size() piece_length() piece_size() num_pieces()</a></li>
<li><a class="reference" href="#hash-for-piece-info-hash" id="id53" name="id53">hash_for_piece() info_hash()</a></li> <li><a class="reference" href="#hash-for-piece-info-hash" id="id54" name="id54">hash_for_piece() info_hash()</a></li>
<li><a class="reference" href="#name-comment-creation-date-creator" id="id54" name="id54">name() comment() creation_date() creator()</a></li> <li><a class="reference" href="#name-comment-creation-date-creator" id="id55" name="id55">name() comment() creation_date() creator()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#torrent-handle" id="id55" name="id55">torrent_handle</a><ul> <li><a class="reference" href="#torrent-handle" id="id56" name="id56">torrent_handle</a><ul>
<li><a class="reference" href="#save-path" id="id56" name="id56">save_path()</a></li> <li><a class="reference" href="#save-path" id="id57" name="id57">save_path()</a></li>
<li><a class="reference" href="#move-storage" id="id57" name="id57">move_storage()</a></li> <li><a class="reference" href="#move-storage" id="id58" name="id58">move_storage()</a></li>
<li><a class="reference" href="#force-reannounce" id="id58" name="id58">force_reannounce()</a></li> <li><a class="reference" href="#force-reannounce" id="id59" name="id59">force_reannounce()</a></li>
<li><a class="reference" href="#connect-peer" id="id59" name="id59">connect_peer()</a></li> <li><a class="reference" href="#connect-peer" id="id60" name="id60">connect_peer()</a></li>
<li><a class="reference" href="#set-ratio" id="id60" name="id60">set_ratio()</a></li> <li><a class="reference" href="#set-ratio" id="id61" name="id61">set_ratio()</a></li>
<li><a class="reference" href="#set-upload-limit-set-download-limit" id="id61" name="id61">set_upload_limit() set_download_limit()</a></li> <li><a class="reference" href="#set-upload-limit-set-download-limit" id="id62" name="id62">set_upload_limit() set_download_limit()</a></li>
<li><a class="reference" href="#pause-resume-is-paused" id="id62" name="id62">pause() resume() is_paused()</a></li> <li><a class="reference" href="#pause-resume-is-paused" id="id63" name="id63">pause() resume() is_paused()</a></li>
<li><a class="reference" href="#is-seed" id="id63" name="id63">is_seed()</a></li> <li><a class="reference" href="#is-seed" id="id64" name="id64">is_seed()</a></li>
<li><a class="reference" href="#has-metadata" id="id64" name="id64">has_metadata()</a></li> <li><a class="reference" href="#has-metadata" id="id65" name="id65">has_metadata()</a></li>
<li><a class="reference" href="#set-tracker-login" id="id65" name="id65">set_tracker_login()</a></li> <li><a class="reference" href="#set-tracker-login" id="id66" name="id66">set_tracker_login()</a></li>
<li><a class="reference" href="#trackers-replace-trackers" id="id66" name="id66">trackers() replace_trackers()</a></li> <li><a class="reference" href="#trackers-replace-trackers" id="id67" name="id67">trackers() replace_trackers()</a></li>
<li><a class="reference" href="#use-interface" id="id67" name="id67">use_interface()</a></li> <li><a class="reference" href="#use-interface" id="id68" name="id68">use_interface()</a></li>
<li><a class="reference" href="#info-hash" id="id68" name="id68">info_hash()</a></li> <li><a class="reference" href="#info-hash" id="id69" name="id69">info_hash()</a></li>
<li><a class="reference" href="#id11" id="id69" name="id69">set_max_uploads() set_max_connections()</a></li> <li><a class="reference" href="#id11" id="id70" name="id70">set_max_uploads() set_max_connections()</a></li>
<li><a class="reference" href="#write-resume-data" id="id70" name="id70">write_resume_data()</a></li> <li><a class="reference" href="#write-resume-data" id="id71" name="id71">write_resume_data()</a></li>
<li><a class="reference" href="#metadata" id="id71" name="id71">metadata()</a></li> <li><a class="reference" href="#metadata" id="id72" name="id72">metadata()</a></li>
<li><a class="reference" href="#id12" id="id72" name="id72">status()</a></li> <li><a class="reference" href="#id12" id="id73" name="id73">status()</a></li>
<li><a class="reference" href="#get-download-queue" id="id73" name="id73">get_download_queue()</a></li> <li><a class="reference" href="#get-download-queue" id="id74" name="id74">get_download_queue()</a></li>
<li><a class="reference" href="#get-peer-info" id="id74" name="id74">get_peer_info()</a></li> <li><a class="reference" href="#get-peer-info" id="id75" name="id75">get_peer_info()</a></li>
<li><a class="reference" href="#get-torrent-info" id="id75" name="id75">get_torrent_info()</a></li> <li><a class="reference" href="#get-torrent-info" id="id76" name="id76">get_torrent_info()</a></li>
<li><a class="reference" href="#is-valid" id="id76" name="id76">is_valid()</a></li> <li><a class="reference" href="#is-valid" id="id77" name="id77">is_valid()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#torrent-status" id="id77" name="id77">torrent_status</a></li> <li><a class="reference" href="#torrent-status" id="id78" name="id78">torrent_status</a></li>
<li><a class="reference" href="#peer-info" id="id78" name="id78">peer_info</a></li> <li><a class="reference" href="#peer-info" id="id79" name="id79">peer_info</a></li>
<li><a class="reference" href="#address" id="id79" name="id79">address</a></li> <li><a class="reference" href="#address" id="id80" name="id80">address</a></li>
<li><a class="reference" href="#http-settings" id="id80" name="id80">http_settings</a></li> <li><a class="reference" href="#http-settings" id="id81" name="id81">http_settings</a></li>
<li><a class="reference" href="#ip-filter" id="id81" name="id81">ip_filter</a><ul> <li><a class="reference" href="#ip-filter" id="id82" name="id82">ip_filter</a><ul>
<li><a class="reference" href="#id14" id="id82" name="id82">ip_filter()</a></li> <li><a class="reference" href="#id14" id="id83" name="id83">ip_filter()</a></li>
<li><a class="reference" href="#add-rule" id="id83" name="id83">add_rule()</a></li> <li><a class="reference" href="#add-rule" id="id84" name="id84">add_rule()</a></li>
<li><a class="reference" href="#access" id="id84" name="id84">access()</a></li> <li><a class="reference" href="#access" id="id85" name="id85">access()</a></li>
<li><a class="reference" href="#export-filter" id="id85" name="id85">export_filter()</a></li> <li><a class="reference" href="#export-filter" id="id86" name="id86">export_filter()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#big-number" id="id86" name="id86">big_number</a></li> <li><a class="reference" href="#big-number" id="id87" name="id87">big_number</a></li>
<li><a class="reference" href="#hasher" id="id87" name="id87">hasher</a></li> <li><a class="reference" href="#hasher" id="id88" name="id88">hasher</a></li>
<li><a class="reference" href="#fingerprint" id="id88" name="id88">fingerprint</a></li> <li><a class="reference" href="#fingerprint" id="id89" name="id89">fingerprint</a></li>
<li><a class="reference" href="#free-functions" id="id89" name="id89">free functions</a><ul> <li><a class="reference" href="#free-functions" id="id90" name="id90">free functions</a><ul>
<li><a class="reference" href="#identify-client" id="id90" name="id90">identify_client()</a></li> <li><a class="reference" href="#identify-client" id="id91" name="id91">identify_client()</a></li>
<li><a class="reference" href="#bdecode-bencode" id="id91" name="id91">bdecode() bencode()</a></li> <li><a class="reference" href="#bdecode-bencode" id="id92" name="id92">bdecode() bencode()</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#alerts" id="id92" name="id92">alerts</a><ul> <li><a class="reference" href="#alerts" id="id93" name="id93">alerts</a><ul>
<li><a class="reference" href="#listen-failed-alert" id="id93" name="id93">listen_failed_alert</a></li> <li><a class="reference" href="#listen-failed-alert" id="id94" name="id94">listen_failed_alert</a></li>
<li><a class="reference" href="#file-error-alert" id="id94" name="id94">file_error_alert</a></li> <li><a class="reference" href="#file-error-alert" id="id95" name="id95">file_error_alert</a></li>
<li><a class="reference" href="#tracker-announce-alert" id="id95" name="id95">tracker_announce_alert</a></li> <li><a class="reference" href="#tracker-announce-alert" id="id96" name="id96">tracker_announce_alert</a></li>
<li><a class="reference" href="#tracker-alert" id="id96" name="id96">tracker_alert</a></li> <li><a class="reference" href="#tracker-alert" id="id97" name="id97">tracker_alert</a></li>
<li><a class="reference" href="#tracker-reply-alert" id="id97" name="id97">tracker_reply_alert</a></li> <li><a class="reference" href="#tracker-reply-alert" id="id98" name="id98">tracker_reply_alert</a></li>
<li><a class="reference" href="#tracker-warning-alert" id="id98" name="id98">tracker_warning_alert</a></li> <li><a class="reference" href="#tracker-warning-alert" id="id99" name="id99">tracker_warning_alert</a></li>
<li><a class="reference" href="#hash-failed-alert" id="id99" name="id99">hash_failed_alert</a></li> <li><a class="reference" href="#hash-failed-alert" id="id100" name="id100">hash_failed_alert</a></li>
<li><a class="reference" href="#peer-ban-alert" id="id100" name="id100">peer_ban_alert</a></li> <li><a class="reference" href="#peer-ban-alert" id="id101" name="id101">peer_ban_alert</a></li>
<li><a class="reference" href="#peer-error-alert" id="id101" name="id101">peer_error_alert</a></li> <li><a class="reference" href="#peer-error-alert" id="id102" name="id102">peer_error_alert</a></li>
<li><a class="reference" href="#invalid-request-alert" id="id102" name="id102">invalid_request_alert</a></li> <li><a class="reference" href="#invalid-request-alert" id="id103" name="id103">invalid_request_alert</a></li>
<li><a class="reference" href="#torrent-finished-alert" id="id103" name="id103">torrent_finished_alert</a></li> <li><a class="reference" href="#torrent-finished-alert" id="id104" name="id104">torrent_finished_alert</a></li>
<li><a class="reference" href="#metadata-failed-alert" id="id104" name="id104">metadata_failed_alert</a></li> <li><a class="reference" href="#metadata-failed-alert" id="id105" name="id105">metadata_failed_alert</a></li>
<li><a class="reference" href="#metadata-received-alert" id="id105" name="id105">metadata_received_alert</a></li> <li><a class="reference" href="#metadata-received-alert" id="id106" name="id106">metadata_received_alert</a></li>
<li><a class="reference" href="#fastresume-rejected-alert" id="id106" name="id106">fastresume_rejected_alert</a></li> <li><a class="reference" href="#fastresume-rejected-alert" id="id107" name="id107">fastresume_rejected_alert</a></li>
<li><a class="reference" href="#dispatcher" id="id107" name="id107">dispatcher</a></li> <li><a class="reference" href="#dispatcher" id="id108" name="id108">dispatcher</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#exceptions" id="id108" name="id108">exceptions</a><ul> <li><a class="reference" href="#exceptions" id="id109" name="id109">exceptions</a><ul>
<li><a class="reference" href="#invalid-handle" id="id109" name="id109">invalid_handle</a></li> <li><a class="reference" href="#invalid-handle" id="id110" name="id110">invalid_handle</a></li>
<li><a class="reference" href="#duplicate-torrent" id="id110" name="id110">duplicate_torrent</a></li> <li><a class="reference" href="#duplicate-torrent" id="id111" name="id111">duplicate_torrent</a></li>
<li><a class="reference" href="#invalid-encoding" id="id111" name="id111">invalid_encoding</a></li> <li><a class="reference" href="#invalid-encoding" id="id112" name="id112">invalid_encoding</a></li>
<li><a class="reference" href="#type-error" id="id112" name="id112">type_error</a></li> <li><a class="reference" href="#type-error" id="id113" name="id113">type_error</a></li>
<li><a class="reference" href="#invalid-torrent-file" id="id113" name="id113">invalid_torrent_file</a></li> <li><a class="reference" href="#invalid-torrent-file" id="id114" name="id114">invalid_torrent_file</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#examples" id="id114" name="id114">examples</a><ul> <li><a class="reference" href="#examples" id="id115" name="id115">examples</a><ul>
<li><a class="reference" href="#dump-torrent" id="id115" name="id115">dump_torrent</a></li> <li><a class="reference" href="#dump-torrent" id="id116" name="id116">dump_torrent</a></li>
<li><a class="reference" href="#simple-client" id="id116" name="id116">simple client</a></li> <li><a class="reference" href="#simple-client" id="id117" name="id117">simple client</a></li>
<li><a class="reference" href="#make-torrent" id="id117" name="id117">make_torrent</a></li> <li><a class="reference" href="#make-torrent" id="id118" name="id118">make_torrent</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#fast-resume" id="id118" name="id118">fast resume</a><ul> <li><a class="reference" href="#fast-resume" id="id119" name="id119">fast resume</a><ul>
<li><a class="reference" href="#file-format" id="id119" name="id119">file format</a></li> <li><a class="reference" href="#file-format" id="id120" name="id120">file format</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#threads" id="id120" name="id120">threads</a></li> <li><a class="reference" href="#threads" id="id121" name="id121">threads</a></li>
<li><a class="reference" href="#storage-allocation" id="id121" name="id121">storage allocation</a><ul> <li><a class="reference" href="#storage-allocation" id="id122" name="id122">storage allocation</a><ul>
<li><a class="reference" href="#full-allocation" id="id122" name="id122">full allocation</a></li> <li><a class="reference" href="#full-allocation" id="id123" name="id123">full allocation</a></li>
<li><a class="reference" href="#compact-allocation" id="id123" name="id123">compact allocation</a></li> <li><a class="reference" href="#compact-allocation" id="id124" name="id124">compact allocation</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#extensions" id="id124" name="id124">extensions</a><ul> <li><a class="reference" href="#extensions" id="id125" name="id125">extensions</a><ul>
<li><a class="reference" href="#chat-messages" id="id125" name="id125">chat messages</a></li> <li><a class="reference" href="#chat-messages" id="id126" name="id126">chat messages</a></li>
<li><a class="reference" href="#metadata-from-peers" id="id126" name="id126">metadata from peers</a></li> <li><a class="reference" href="#metadata-from-peers" id="id127" name="id127">metadata from peers</a></li>
</ul> </ul>
</li> </li>
<li><a class="reference" href="#filename-checks" id="id127" name="id127">filename checks</a></li> <li><a class="reference" href="#filename-checks" id="id128" name="id128">filename checks</a></li>
<li><a class="reference" href="#acknowledgements" id="id128" name="id128">acknowledgements</a></li> <li><a class="reference" href="#acknowledgements" id="id129" name="id129">acknowledgements</a></li>
</ul> </ul>
</div> </div>
<div class="section" id="introduction"> <div class="section" id="introduction">
@ -613,6 +614,7 @@ class session: public boost::noncopyable
void set_download_rate_limit(int bytes_per_second); void set_download_rate_limit(int bytes_per_second);
void set_max_uploads(int limit); void set_max_uploads(int limit);
void set_max_connections(int limit); void set_max_connections(int limit);
void set_max_half_open_connections(int limit);
void set_ip_filter(ip_filter const&amp; f); void set_ip_filter(ip_filter const&amp; f);
@ -768,6 +770,23 @@ minimum of at least two connections per torrent, so if you set a too low
connections limit, and open too many torrents, the limit will not be met. The connections limit, and open too many torrents, the limit will not be met. The
number of uploads is at least one per torrent.</p> number of uploads is at least one per torrent.</p>
</div> </div>
<div class="section" id="set-max-half-open-connections">
<h2><a name="set-max-half-open-connections">set_max_half_open_connections()</a></h2>
<blockquote>
<pre class="literal-block">
void set_max_half_open_connections(int limit);
</pre>
</blockquote>
<p>Sets the maximum number of half-open connections libtorrent will have when
connecting to peers. A half-open connection is one where connect() has been
called, but the connection still hasn't been established (nor filed). Windows
XP Service Pack 2 sets a defaul, system wide, limit of the number of half-open
connections to 10. So, this limit can be used to work nicer together with
other network applications on that system. The default is to have no limit,
and passing -1 as the limit, means to have no limit. When limiting the number
of simultaneous connection attempts, peers will be put in a queue waiting for
their turn to get connected.</p>
</div>
<div class="section" id="set-ip-filter"> <div class="section" id="set-ip-filter">
<h2><a name="set-ip-filter">set_ip_filter()</a></h2> <h2><a name="set-ip-filter">set_ip_filter()</a></h2>
<blockquote> <blockquote>

View File

@ -489,6 +489,7 @@ The ``session`` class has the following synopsis::
void set_download_rate_limit(int bytes_per_second); void set_download_rate_limit(int bytes_per_second);
void set_max_uploads(int limit); void set_max_uploads(int limit);
void set_max_connections(int limit); void set_max_connections(int limit);
void set_max_half_open_connections(int limit);
void set_ip_filter(ip_filter const& f); void set_ip_filter(ip_filter const& f);
@ -657,6 +658,24 @@ connections limit, and open too many torrents, the limit will not be met. The
number of uploads is at least one per torrent. number of uploads is at least one per torrent.
set_max_half_open_connections()
-------------------------------
::
void set_max_half_open_connections(int limit);
Sets the maximum number of half-open connections libtorrent will have when
connecting to peers. A half-open connection is one where connect() has been
called, but the connection still hasn't been established (nor filed). Windows
XP Service Pack 2 sets a defaul, system wide, limit of the number of half-open
connections to 10. So, this limit can be used to work nicer together with
other network applications on that system. The default is to have no limit,
and passing -1 as the limit, means to have no limit. When limiting the number
of simultaneous connection attempts, peers will be put in a queue waiting for
their turn to get connected.
set_ip_filter() set_ip_filter()
--------------- ---------------