forked from premiere/premiere-libtorrent
*** empty log message ***
This commit is contained in:
parent
cea75e3723
commit
f788d65ee5
101
docs/manual.html
101
docs/manual.html
|
@ -13,63 +13,63 @@
|
|||
<div class="contents topic" id="contents">
|
||||
<p class="topic-title"><a name="contents">Contents</a></p>
|
||||
<ul class="simple">
|
||||
<li><a class="reference" href="#introduction" id="id12" name="id12">introduction</a></li>
|
||||
<li><a class="reference" href="#building" id="id13" name="id13">building</a><ul>
|
||||
<li><a class="reference" href="#release-and-debug-builds" id="id14" name="id14">release and debug builds</a></li>
|
||||
<li><a class="reference" href="#introduction" id="id13" name="id13">introduction</a></li>
|
||||
<li><a class="reference" href="#downloading-and-building" id="id14" name="id14">downloading and building</a><ul>
|
||||
<li><a class="reference" href="#release-and-debug-builds" id="id15" name="id15">release and debug builds</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#using" id="id15" name="id15">using</a></li>
|
||||
<li><a class="reference" href="#session" id="id16" name="id16">session</a></li>
|
||||
<li><a class="reference" href="#parsing-torrent-files" id="id17" name="id17">parsing torrent files</a></li>
|
||||
<li><a class="reference" href="#entry" id="id18" name="id18">entry</a></li>
|
||||
<li><a class="reference" href="#torrent-info" id="id19" name="id19">torrent_info</a></li>
|
||||
<li><a class="reference" href="#torrent-handle" id="id20" name="id20">torrent_handle</a><ul>
|
||||
<li><a class="reference" href="#status" id="id21" name="id21">status()</a></li>
|
||||
<li><a class="reference" href="#get-download-queue" id="id22" name="id22">get_download_queue()</a></li>
|
||||
<li><a class="reference" href="#get-peer-info" id="id23" name="id23">get_peer_info()</a></li>
|
||||
<li><a class="reference" href="#get-torrent-info" id="id24" name="id24">get_torrent_info()</a></li>
|
||||
<li><a class="reference" href="#is-valid" id="id25" name="id25">is_valid()</a></li>
|
||||
<li><a class="reference" href="#using" id="id16" name="id16">using</a></li>
|
||||
<li><a class="reference" href="#session" id="id17" name="id17">session</a></li>
|
||||
<li><a class="reference" href="#parsing-torrent-files" id="id18" name="id18">parsing torrent files</a></li>
|
||||
<li><a class="reference" href="#entry" id="id19" name="id19">entry</a></li>
|
||||
<li><a class="reference" href="#torrent-info" id="id20" name="id20">torrent_info</a></li>
|
||||
<li><a class="reference" href="#torrent-handle" id="id21" name="id21">torrent_handle</a><ul>
|
||||
<li><a class="reference" href="#status" id="id22" name="id22">status()</a></li>
|
||||
<li><a class="reference" href="#get-download-queue" id="id23" name="id23">get_download_queue()</a></li>
|
||||
<li><a class="reference" href="#get-peer-info" id="id24" name="id24">get_peer_info()</a></li>
|
||||
<li><a class="reference" href="#get-torrent-info" id="id25" name="id25">get_torrent_info()</a></li>
|
||||
<li><a class="reference" href="#is-valid" id="id26" name="id26">is_valid()</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#address" id="id26" name="id26">address</a></li>
|
||||
<li><a class="reference" href="#http-settings" id="id27" name="id27">http_settings</a></li>
|
||||
<li><a class="reference" href="#big-number" id="id28" name="id28">big_number</a></li>
|
||||
<li><a class="reference" href="#hasher" id="id29" name="id29">hasher</a></li>
|
||||
<li><a class="reference" href="#fingerprint" id="id30" name="id30">fingerprint</a><ul>
|
||||
<li><a class="reference" href="#identify-client" id="id31" name="id31">identify_client</a></li>
|
||||
<li><a class="reference" href="#address" id="id27" name="id27">address</a></li>
|
||||
<li><a class="reference" href="#http-settings" id="id28" name="id28">http_settings</a></li>
|
||||
<li><a class="reference" href="#big-number" id="id29" name="id29">big_number</a></li>
|
||||
<li><a class="reference" href="#hasher" id="id30" name="id30">hasher</a></li>
|
||||
<li><a class="reference" href="#fingerprint" id="id31" name="id31">fingerprint</a><ul>
|
||||
<li><a class="reference" href="#identify-client" id="id32" name="id32">identify_client</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#alerts" id="id32" name="id32">alerts</a><ul>
|
||||
<li><a class="reference" href="#listen-failed-alert" id="id33" name="id33">listen_failed_alert</a></li>
|
||||
<li><a class="reference" href="#file-error-alert" id="id34" name="id34">file_error_alert</a></li>
|
||||
<li><a class="reference" href="#tracker-alert" id="id35" name="id35">tracker_alert</a></li>
|
||||
<li><a class="reference" href="#hash-failed-alert" id="id36" name="id36">hash_failed_alert</a></li>
|
||||
<li><a class="reference" href="#peer-error-alert" id="id37" name="id37">peer_error_alert</a></li>
|
||||
<li><a class="reference" href="#invalid-request-alert" id="id38" name="id38">invalid_request_alert</a></li>
|
||||
<li><a class="reference" href="#torrent-finished-alert" id="id39" name="id39">torrent_finished_alert</a></li>
|
||||
<li><a class="reference" href="#dispatcher" id="id40" name="id40">dispatcher</a></li>
|
||||
<li><a class="reference" href="#alerts" id="id33" name="id33">alerts</a><ul>
|
||||
<li><a class="reference" href="#listen-failed-alert" id="id34" name="id34">listen_failed_alert</a></li>
|
||||
<li><a class="reference" href="#file-error-alert" id="id35" name="id35">file_error_alert</a></li>
|
||||
<li><a class="reference" href="#tracker-alert" id="id36" name="id36">tracker_alert</a></li>
|
||||
<li><a class="reference" href="#hash-failed-alert" id="id37" name="id37">hash_failed_alert</a></li>
|
||||
<li><a class="reference" href="#peer-error-alert" id="id38" name="id38">peer_error_alert</a></li>
|
||||
<li><a class="reference" href="#invalid-request-alert" id="id39" name="id39">invalid_request_alert</a></li>
|
||||
<li><a class="reference" href="#torrent-finished-alert" id="id40" name="id40">torrent_finished_alert</a></li>
|
||||
<li><a class="reference" href="#dispatcher" id="id41" name="id41">dispatcher</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#exceptions" id="id41" name="id41">exceptions</a><ul>
|
||||
<li><a class="reference" href="#invalid-handle" id="id42" name="id42">invalid_handle</a></li>
|
||||
<li><a class="reference" href="#duplicate-torrent" id="id43" name="id43">duplicate_torrent</a></li>
|
||||
<li><a class="reference" href="#invalid-encoding" id="id44" name="id44">invalid_encoding</a></li>
|
||||
<li><a class="reference" href="#type-error" id="id45" name="id45">type_error</a></li>
|
||||
<li><a class="reference" href="#invalid-torrent-file" id="id46" name="id46">invalid_torrent_file</a></li>
|
||||
<li><a class="reference" href="#exceptions" id="id42" name="id42">exceptions</a><ul>
|
||||
<li><a class="reference" href="#invalid-handle" id="id43" name="id43">invalid_handle</a></li>
|
||||
<li><a class="reference" href="#duplicate-torrent" id="id44" name="id44">duplicate_torrent</a></li>
|
||||
<li><a class="reference" href="#invalid-encoding" id="id45" name="id45">invalid_encoding</a></li>
|
||||
<li><a class="reference" href="#type-error" id="id46" name="id46">type_error</a></li>
|
||||
<li><a class="reference" href="#invalid-torrent-file" id="id47" name="id47">invalid_torrent_file</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#examples" id="id47" name="id47">examples</a><ul>
|
||||
<li><a class="reference" href="#dump-torrent" id="id48" name="id48">dump_torrent</a></li>
|
||||
<li><a class="reference" href="#simple-client" id="id49" name="id49">simple client</a></li>
|
||||
<li><a class="reference" href="#examples" id="id48" name="id48">examples</a><ul>
|
||||
<li><a class="reference" href="#dump-torrent" id="id49" name="id49">dump_torrent</a></li>
|
||||
<li><a class="reference" href="#simple-client" id="id50" name="id50">simple client</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#fast-resume" id="id50" name="id50">fast resume</a><ul>
|
||||
<li><a class="reference" href="#file-format" id="id51" name="id51">file format</a></li>
|
||||
<li><a class="reference" href="#fast-resume" id="id51" name="id51">fast resume</a><ul>
|
||||
<li><a class="reference" href="#file-format" id="id52" name="id52">file format</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference" href="#extensions" id="id52" name="id52">extensions</a></li>
|
||||
<li><a class="reference" href="#filenames-checks" id="id53" name="id53">filenames checks</a></li>
|
||||
<li><a class="reference" href="#aknowledgements" id="id54" name="id54">aknowledgements</a></li>
|
||||
<li><a class="reference" href="#extensions" id="id53" name="id53">extensions</a></li>
|
||||
<li><a class="reference" href="#filenames-checks" id="id54" name="id54">filenames checks</a></li>
|
||||
<li><a class="reference" href="#aknowledgements" id="id55" name="id55">aknowledgements</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="introduction">
|
||||
|
@ -146,8 +146,10 @@ boost.filesystem, boost.date_time and various other boost libraries as well as z
|
|||
</blockquote>
|
||||
<p>libtorrent is released under the <a class="reference" href="http://www.opensource.org/licenses/bsd-license.php">BSD-license</a>.</p>
|
||||
</div>
|
||||
<div class="section" id="building">
|
||||
<h1><a name="building">building</a></h1>
|
||||
<div class="section" id="downloading-and-building">
|
||||
<h1><a name="downloading-and-building">downloading and building</a></h1>
|
||||
<p>To acquire the latest version of libtorrent, you'll have to grab it from CVS. You'll find instructions
|
||||
on how to do this <a class="reference" href="http://sourceforge.net/cvs/?group_id=79942">here</a> (see Anonymous CVS access).</p>
|
||||
<p>The easiest way to build libtorrent is probably to use <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=80982">boost-build</a>. Make sure you install it
|
||||
correctly by setting the environment variable <tt class="literal"><span class="pre">BOOST_BUILD_PATH</span></tt> and modifying the
|
||||
<tt class="literal"><span class="pre">user_config.jam</span></tt> to reflect the toolsets you have installed.</p>
|
||||
|
@ -166,10 +168,11 @@ bjam <toolset>
|
|||
version of boost, <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041&release_id=178835">boost 1.30.2</a>.</p>
|
||||
<div class="section" id="release-and-debug-builds">
|
||||
<h2><a name="release-and-debug-builds">release and debug builds</a></h2>
|
||||
<p>If you just invoke the makefile you'll get a debug build. In debug the libtorrent vill
|
||||
have pretty expensive invariant checks and asserts built into it. If you want to disable
|
||||
such checks (you want to do that in a release build) you can see the table below for which
|
||||
defines you can use to control the build.</p>
|
||||
<p>The <tt class="literal"><span class="pre">Jamfile</span></tt> can build both a release and debug version of libtorrent. In debug mode,
|
||||
libtorrent will have pretty expensive invariant checks and asserts built into it. If you
|
||||
want to disable such checks (you want to do that in a release build) you can see the
|
||||
table below for which defines you can use to control the build. The <tt class="literal"><span class="pre">Jamfile</span></tt> will define
|
||||
<tt class="literal"><span class="pre">NDEBUG</span></tt> when it's building a release build.</p>
|
||||
<table border class="table">
|
||||
<colgroup>
|
||||
<col width="39%" />
|
||||
|
|
|
@ -69,19 +69,24 @@ libtorrent has been successfully compiled and tested on:
|
|||
* Windows 2000 vc7.1
|
||||
* Linux x86 (debian) GCC 3.0.4, GCC 3.2.3
|
||||
* Windows 2000, msvc6 sp5 (does not support 64-bit values due to problems with operator<<(ostream&, __int64))
|
||||
* Cygwin GCC 3.3.1
|
||||
|
||||
Fails on:
|
||||
|
||||
* Linux x86 (Debian) GCC 2.95.4 (``std::ios_base`` is missing)
|
||||
* Cygwin GCC 3.3.1 (compiles but crashes)
|
||||
* GCC 2.95.4 (``std::ios_base`` is missing)
|
||||
|
||||
libtorrent is released under the BSD-license_.
|
||||
|
||||
.. _BSD-license: http://www.opensource.org/licenses/bsd-license.php
|
||||
|
||||
|
||||
building
|
||||
========
|
||||
downloading and building
|
||||
========================
|
||||
|
||||
To acquire the latest version of libtorrent, you'll have to grab it from CVS. You'll find instructions
|
||||
on how to do this here__ (see Anonymous CVS access).
|
||||
|
||||
__ http://sourceforge.net/cvs/?group_id=79942
|
||||
|
||||
The easiest way to build libtorrent is probably to use `boost-build`_. Make sure you install it
|
||||
correctly by setting the environment variable ``BOOST_BUILD_PATH`` and modifying the
|
||||
|
@ -114,10 +119,11 @@ __ http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041&re
|
|||
release and debug builds
|
||||
------------------------
|
||||
|
||||
If you just invoke the makefile you'll get a debug build. In debug the libtorrent vill
|
||||
have pretty expensive invariant checks and asserts built into it. If you want to disable
|
||||
such checks (you want to do that in a release build) you can see the table below for which
|
||||
defines you can use to control the build.
|
||||
The ``Jamfile`` can build both a release and debug version of libtorrent. In debug mode,
|
||||
libtorrent will have pretty expensive invariant checks and asserts built into it. If you
|
||||
want to disable such checks (you want to do that in a release build) you can see the
|
||||
table below for which defines you can use to control the build. The ``Jamfile`` will define
|
||||
``NDEBUG`` when it's building a release build.
|
||||
|
||||
+-------------------------------+-------------------------------------------------+
|
||||
| macro | description |
|
||||
|
|
|
@ -271,9 +271,7 @@ namespace libtorrent
|
|||
// DEBUG
|
||||
#ifndef NDEBUG
|
||||
logger* spawn_logger(const char* title);
|
||||
#endif
|
||||
|
||||
#ifndef NDEBUG
|
||||
virtual void debug_log(const std::string& line);
|
||||
void check_invariant();
|
||||
#endif
|
||||
|
|
|
@ -151,6 +151,8 @@ namespace libtorrent
|
|||
const torrent_info& get_torrent_info() const;
|
||||
bool is_valid() const;
|
||||
|
||||
// TODO: there must be a way to get resume data and
|
||||
// shut down the torrent in one atomic operation
|
||||
entry write_resume_data();
|
||||
|
||||
// forces this torrent to reannounce
|
||||
|
|
|
@ -192,14 +192,22 @@ namespace libtorrent
|
|||
{
|
||||
boost::mutex::scoped_lock l(m_ses->m_mutex);
|
||||
torrent* t = m_ses->find_torrent(m_info_hash);
|
||||
if (t != 0) t->set_tracker_login(name, password);
|
||||
if (t != 0)
|
||||
{
|
||||
t->set_tracker_login(name, password);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (m_chk)
|
||||
{
|
||||
boost::mutex::scoped_lock l(m_chk->m_mutex);
|
||||
detail::piece_checker_data* d = m_chk->find_torrent(m_info_hash);
|
||||
if (d != 0) d->torrent_ptr->set_tracker_login(name, password);
|
||||
if (d != 0)
|
||||
{
|
||||
d->torrent_ptr->set_tracker_login(name, password);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
throw invalid_handle();
|
||||
|
@ -459,8 +467,8 @@ namespace libtorrent
|
|||
p.total_download = statistics.total_payload_download();
|
||||
p.total_upload = statistics.total_payload_upload();
|
||||
|
||||
p.upload_limit = peer->upload_bandwidth.given;
|
||||
p.upload_ceiling = peer->upload_bandwidth.wanted;
|
||||
p.upload_limit = peer->send_quota();
|
||||
p.upload_ceiling = peer->send_quota_limit();
|
||||
|
||||
p.load_balancing = peer->total_free_upload();
|
||||
|
||||
|
|
Loading…
Reference in New Issue