fixed incorrectly named members of session_status, fixed compilation error in ut_pex, documentation updates

This commit is contained in:
Arvid Norberg 2006-11-28 18:18:37 +00:00
parent d62801280f
commit ce9eed5ea1
18 changed files with 413 additions and 408 deletions

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title>libtorrent manual</title> <title>libtorrent manual</title>
<meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" /> <meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" />
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
@ -31,8 +31,8 @@
</li> </li>
</ul> </ul>
</div> </div>
<div class="section" id="downloading-and-building"> <div class="section">
<h1><a name="downloading-and-building">downloading and building</a></h1> <h1><a id="downloading-and-building" 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. <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> 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 build systems supported &quot;out of the box&quot; in libtorrent are boost-build v2 <p>The build systems supported &quot;out of the box&quot; in libtorrent are boost-build v2
@ -41,8 +41,8 @@ following these instructions, you can usually get help in the <tt class="docutil
IRC channel on <tt class="docutils literal"><span class="pre">irc.freenode.net</span></tt>.</p> IRC channel on <tt class="docutils literal"><span class="pre">irc.freenode.net</span></tt>.</p>
<p>If you want to build the cvs version on Ubuntu (and possibly other Linux <p>If you want to build the cvs version on Ubuntu (and possibly other Linux
distros), see <a class="reference" href="ubuntu_build_notes.html">this</a> document.</p> distros), see <a class="reference" href="ubuntu_build_notes.html">this</a> document.</p>
<div class="section" id="building-with-bbv2"> <div class="section">
<h2><a name="building-with-bbv2">building with BBv2</a></h2> <h2><a id="building-with-bbv2" name="building-with-bbv2">building with BBv2</a></h2>
<p>The primary reason to use boost-build is that it will automatically build the <p>The primary reason to use boost-build is that it will automatically build the
dependent boost libraries with the correct compiler settings, in order to dependent boost libraries with the correct compiler settings, in order to
ensure that the build targets are link compatible (see <a class="reference" href="http://boost.org/more/separate_compilation.html">boost guidelines</a> ensure that the build targets are link compatible (see <a class="reference" href="http://boost.org/more/separate_compilation.html">boost guidelines</a>
@ -51,8 +51,8 @@ for some details on this issue).</p>
source package. Having boost installed via some package system is usually not source package. Having boost installed via some package system is usually not
enough (and even if it is enough, the necessary environment variables are enough (and even if it is enough, the necessary environment variables are
usually not set by the package installer).</p> usually not set by the package installer).</p>
<div class="section" id="step-1-download-boost"> <div class="section">
<h3><a name="step-1-download-boost">Step 1: Download boost</a></h3> <h3><a id="step-1-download-boost" name="step-1-download-boost">Step 1: Download boost</a></h3>
<p>You'll find boost <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041&amp;release_id=376197">here</a>.</p> <p>You'll find boost <a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=7586&amp;package_id=8041&amp;release_id=376197">here</a>.</p>
<p>Extract the archive to some directory where you want it. For the sake of this <p>Extract the archive to some directory where you want it. For the sake of this
guide, let's assume you extract the package to <tt class="docutils literal"><span class="pre">c:\boost_1_33_1</span></tt> (I'm using guide, let's assume you extract the package to <tt class="docutils literal"><span class="pre">c:\boost_1_33_1</span></tt> (I'm using
@ -62,8 +62,8 @@ in order to build libtorrent.</p>
<p>If you use 1.32, you need to download BBv2 separately, so for now, let's <p>If you use 1.32, you need to download BBv2 separately, so for now, let's
assume you will use version 1.33.1.</p> assume you will use version 1.33.1.</p>
</div> </div>
<div class="section" id="step-2-setup-bbv2"> <div class="section">
<h3><a name="step-2-setup-bbv2">Step 2: Setup BBv2</a></h3> <h3><a id="step-2-setup-bbv2" name="step-2-setup-bbv2">Step 2: Setup BBv2</a></h3>
<p>First you need to build <tt class="docutils literal"><span class="pre">bjam</span></tt>. You do this by opening a terminal (In <p>First you need to build <tt class="docutils literal"><span class="pre">bjam</span></tt>. You do this by opening a terminal (In
windows, run <tt class="docutils literal"><span class="pre">cmd</span></tt>). Change directory to windows, run <tt class="docutils literal"><span class="pre">cmd</span></tt>). Change directory to
<tt class="docutils literal"><span class="pre">c:\boost_1_33_1\tools\build\jam_src</span></tt>. Then run the script called <tt class="docutils literal"><span class="pre">c:\boost_1_33_1\tools\build\jam_src</span></tt>. Then run the script called
@ -115,8 +115,8 @@ using darwin : 4.0 : g++-4.0 ;
<p>Note that the spaces around the semi-colons and colons are important!</p> <p>Note that the spaces around the semi-colons and colons are important!</p>
<p>Also see the <a class="reference" href="http://www.boost.org/doc/html/bbv2/installation.html">official installation instructions</a>.</p> <p>Also see the <a class="reference" href="http://www.boost.org/doc/html/bbv2/installation.html">official installation instructions</a>.</p>
</div> </div>
<div class="section" id="step-3-building-libtorrent"> <div class="section">
<h3><a name="step-3-building-libtorrent">Step 3: Building libtorrent</a></h3> <h3><a id="step-3-building-libtorrent" name="step-3-building-libtorrent">Step 3: Building libtorrent</a></h3>
<p>When building libtorrent, the <tt class="docutils literal"><span class="pre">Jamfile</span></tt> expects the environment variable <p>When building libtorrent, the <tt class="docutils literal"><span class="pre">Jamfile</span></tt> expects the environment variable
<tt class="docutils literal"><span class="pre">BOOST_ROOT</span></tt> to be set to the boost installation directory. It uses this to <tt class="docutils literal"><span class="pre">BOOST_ROOT</span></tt> to be set to the boost installation directory. It uses this to
find the boost libraries it depends on, so they can be built and their headers find the boost libraries it depends on, so they can be built and their headers
@ -240,8 +240,8 @@ logging=none dht-support=on dht-support=logging dht-support=off
</pre> </pre>
</div> </div>
</div> </div>
<div class="section" id="building-with-autotools"> <div class="section">
<h2><a name="building-with-autotools">building with autotools</a></h2> <h2><a id="building-with-autotools" name="building-with-autotools">building with autotools</a></h2>
<p>First of all, you need to install <tt class="docutils literal"><span class="pre">automake</span></tt> and <tt class="docutils literal"><span class="pre">autoconf</span></tt>. Many <p>First of all, you need to install <tt class="docutils literal"><span class="pre">automake</span></tt> and <tt class="docutils literal"><span class="pre">autoconf</span></tt>. Many
unix/linux systems comes with these preinstalled.</p> unix/linux systems comes with these preinstalled.</p>
<p>The prerequisites for building libtorrent is boost.thread, boost.date_time <p>The prerequisites for building libtorrent is boost.thread, boost.date_time
@ -252,8 +252,8 @@ boost.integer, boost.iterator, boost.tuple, boost.array, boost.function,
boost.smart_ptr, boost.preprocessor, boost.static_assert.</p> boost.smart_ptr, boost.preprocessor, boost.static_assert.</p>
<p>If you want to build the <tt class="docutils literal"><span class="pre">client_test</span></tt> example, you'll also need boost.regex <p>If you want to build the <tt class="docutils literal"><span class="pre">client_test</span></tt> example, you'll also need boost.regex
and boost.program_options.</p> and boost.program_options.</p>
<div class="section" id="step-1-generating-the-build-system"> <div class="section">
<h3><a name="step-1-generating-the-build-system">Step 1: Generating the build system</a></h3> <h3><a id="step-1-generating-the-build-system" name="step-1-generating-the-build-system">Step 1: Generating the build system</a></h3>
<p>No build system is present if libtorrent is checked out from CVS - it <p>No build system is present if libtorrent is checked out from CVS - it
needs to be generated first. If you're building from a released tarball, needs to be generated first. If you're building from a released tarball,
you may skip directly to <a class="reference" href="#step-2-running-configure">Step 2: Running configure</a>.</p> you may skip directly to <a class="reference" href="#step-2-running-configure">Step 2: Running configure</a>.</p>
@ -268,8 +268,8 @@ autoconf
</pre> </pre>
<p>On darwin/OSX you have to run <tt class="docutils literal"><span class="pre">glibtoolize</span></tt> instead of <tt class="docutils literal"><span class="pre">libtoolize</span></tt>.</p> <p>On darwin/OSX you have to run <tt class="docutils literal"><span class="pre">glibtoolize</span></tt> instead of <tt class="docutils literal"><span class="pre">libtoolize</span></tt>.</p>
</div> </div>
<div class="section" id="step-2-running-configure"> <div class="section">
<h3><a name="step-2-running-configure">Step 2: Running configure</a></h3> <h3><a id="step-2-running-configure" name="step-2-running-configure">Step 2: Running configure</a></h3>
<p>In your shell, change directory to the libtorrent directory and run <p>In your shell, change directory to the libtorrent directory and run
<tt class="docutils literal"><span class="pre">./configure</span></tt>. This will look for libraries and C++ features that libtorrent <tt class="docutils literal"><span class="pre">./configure</span></tt>. This will look for libraries and C++ features that libtorrent
is dependent on. If something is missing or can't be found it will print an is dependent on. If something is missing or can't be found it will print an
@ -317,8 +317,8 @@ checking for main in -lboost_thread... yes
directory contains spaces. Make sure you either rename the directories with directory contains spaces. Make sure you either rename the directories with
spaces in their names to remove the spaces or move the libtorrent directory.</p> spaces in their names to remove the spaces or move the libtorrent directory.</p>
</div> </div>
<div class="section" id="creating-a-debug-build"> <div class="section">
<h3><a name="creating-a-debug-build">Creating a debug build</a></h3> <h3><a id="creating-a-debug-build" name="creating-a-debug-build">Creating a debug build</a></h3>
<p>To tell configure to build a debug version (with debug info, asserts <p>To tell configure to build a debug version (with debug info, asserts
and invariant checks enabled), you have to run the configure script and invariant checks enabled), you have to run the configure script
with the following option:</p> with the following option:</p>
@ -326,8 +326,8 @@ with the following option:</p>
./configure --enable-debug=yes ./configure --enable-debug=yes
</pre> </pre>
</div> </div>
<div class="section" id="creating-a-release-build"> <div class="section">
<h3><a name="creating-a-release-build">Creating a release build</a></h3> <h3><a id="creating-a-release-build" name="creating-a-release-build">Creating a release build</a></h3>
<p>To tell the configure to build a release version (without debug info, <p>To tell the configure to build a release version (without debug info,
asserts and invariant checks), you have to run the configure script asserts and invariant checks), you have to run the configure script
with the following option:</p> with the following option:</p>
@ -336,8 +336,8 @@ with the following option:</p>
</pre> </pre>
<p>The above option make use of -DNDEBUG, which is used throughout libtorrent.</p> <p>The above option make use of -DNDEBUG, which is used throughout libtorrent.</p>
</div> </div>
<div class="section" id="id6"> <div class="section">
<h3><a name="id6">Step 3: Building libtorrent</a></h3> <h3><a id="id6" name="id6">Step 3: Building libtorrent</a></h3>
<p>Once the configure script is run successfully, you just type <tt class="docutils literal"><span class="pre">make</span></tt> and <p>Once the configure script is run successfully, you just type <tt class="docutils literal"><span class="pre">make</span></tt> and
libtorrent, the examples and the tests will be built.</p> libtorrent, the examples and the tests will be built.</p>
<p>When libtorrent is built it may be a good idea to run the tests, you do this <p>When libtorrent is built it may be a good idea to run the tests, you do this
@ -351,8 +351,8 @@ make
</pre> </pre>
</div> </div>
</div> </div>
<div class="section" id="building-with-other-build-systems"> <div class="section">
<h2><a name="building-with-other-build-systems">building with other build systems</a></h2> <h2><a id="building-with-other-build-systems" name="building-with-other-build-systems">building with other build systems</a></h2>
<p>If you're making your own project file, note that there are two versions of <p>If you're making your own project file, note that there are two versions of
the file abstraction. There's one <tt class="docutils literal"><span class="pre">file_win.cpp</span></tt> which relies on windows the file abstraction. There's one <tt class="docutils literal"><span class="pre">file_win.cpp</span></tt> which relies on windows
file API that supports files larger than 2 Gigabytes. This does not work in file API that supports files larger than 2 Gigabytes. This does not work in
@ -367,8 +367,8 @@ options &quot;force conformance in for loop scope&quot;, &quot;treat wchar_t as
type&quot; and &quot;Enable Run-Time Type Info&quot; to Yes. For a detailed description type&quot; and &quot;Enable Run-Time Type Info&quot; to Yes. For a detailed description
on how to build libtorrent with VS 2005, see <a class="reference" href="vs2005_build_notes.html">this document</a>.</p> on how to build libtorrent with VS 2005, see <a class="reference" href="vs2005_build_notes.html">this document</a>.</p>
</div> </div>
<div class="section" id="build-configurations"> <div class="section">
<h2><a name="build-configurations">build configurations</a></h2> <h2><a id="build-configurations" name="build-configurations">build configurations</a></h2>
<p>By default libtorrent is built In debug mode, and will have pretty expensive <p>By default libtorrent is built In debug mode, and will have pretty expensive
invariant checks and asserts built into it. If you want to disable such checks 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 (you want to do that in a release build) you can see the table below for which

View File

@ -3,13 +3,14 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title>client_test example program</title> <title>client_test example program</title>
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="client-test-example-program"> <div class="document" id="client-test-example-program">
<h1 class="title">client_test example program</h1> <h1 class="title">client_test example program</h1>
<p>Client test is a, more or less, complete bittorrent client. It lacks most <p>Client test is a, more or less, complete bittorrent client. It lacks most
settings and you can't start or stop torrents once you've started it. All settings and you can't start or stop torrents once you've started it. All
the settings are hardcoded. The commandline arguments are:</p> the settings are hardcoded. The commandline arguments are:</p>
@ -26,7 +27,7 @@ client and has the metadata (.torrent file). The metadata extension in
libtorrent will then download it from that peer (or from those peers if more libtorrent will then download it from that peer (or from those peers if more
than one).</p> than one).</p>
<p>While running, the <tt class="docutils literal"><span class="pre">client_test</span></tt> sample will look something like this:</p> <p>While running, the <tt class="docutils literal"><span class="pre">client_test</span></tt> sample will look something like this:</p>
<div class="image"><img alt="client_test.png" src="client_test.png" /></div> <img alt="client_test.png" src="client_test.png" />
<p>The commands available in the client are:</p> <p>The commands available in the client are:</p>
<ul class="simple"> <ul class="simple">
<li><tt class="docutils literal"><span class="pre">q</span></tt> quits the client (there will be a delay while the client waits <li><tt class="docutils literal"><span class="pre">q</span></tt> quits the client (there will be a delay while the client waits
@ -47,7 +48,7 @@ been requested from which peer. The green background means that it has been
downloaded. It shows that fast peers will prefer to request whole pieces downloaded. It shows that fast peers will prefer to request whole pieces
instead of dowloading parts of pieces. It may make it easier to determine instead of dowloading parts of pieces. It may make it easier to determine
which peer that sent the corrupt data if a piece fails the hash test.</p> which peer that sent the corrupt data if a piece fails the hash test.</p>
<div class="image"><img alt="unicode_support.png" src="unicode_support.png" /></div> <img alt="unicode_support.png" src="unicode_support.png" />
<p>There's unicode support on linux, MacOS X and Windows.</p> <p>There's unicode support on linux, MacOS X and Windows.</p>
</div> </div>
</body> </body>

View File

@ -3,13 +3,14 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title></title> <title></title>
<meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" /> <meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" />
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document"> <div class="document">
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
<col class="docinfo-content" /> <col class="docinfo-content" />
@ -18,11 +19,11 @@
<td>Arvid Norberg, <a class="last reference" href="mailto:arvid&#64;rasterbar.com">arvid&#64;rasterbar.com</a></td></tr> <td>Arvid Norberg, <a class="last reference" href="mailto:arvid&#64;rasterbar.com">arvid&#64;rasterbar.com</a></td></tr>
</tbody> </tbody>
</table> </table>
<div class="section" id="mainline-dht-extensions"> <div class="section">
<h1><a name="mainline-dht-extensions">Mainline DHT extensions</a></h1> <h1><a id="mainline-dht-extensions" name="mainline-dht-extensions">Mainline DHT extensions</a></h1>
<p>libtorrent implements a few extensions to the Mainline DHT protocol.</p> <p>libtorrent implements a few extensions to the Mainline DHT protocol.</p>
<div class="section" id="client-identification"> <div class="section">
<h2><a name="client-identification">client identification</a></h2> <h2><a id="client-identification" name="client-identification">client identification</a></h2>
<p>In each DHT packet, an extra key is inserted named &quot;v&quot;. This is a string <p>In each DHT packet, an extra key is inserted named &quot;v&quot;. This is a string
describing the client and version used. This can help alot when debugging describing the client and version used. This can help alot when debugging
and finding errors in client implementations. The string is encoded as four and finding errors in client implementations. The string is encoded as four
@ -50,10 +51,10 @@ as a binary number describing the client version.</p>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="section" id="ipv6-support"> <div class="section">
<h2><a name="ipv6-support">IPv6 support</a></h2> <h2><a id="ipv6-support" name="ipv6-support">IPv6 support</a></h2>
<p>The only DHT messages that don't support IPv6 is the <tt class="docutils literal"><span class="pre">nodes</span></tt> reply. It <p>The only DHT messages that don't support IPv6 is the <tt class="docutils literal"><span class="pre">nodes</span></tt> reply. It
encodes all the contacts as 6 bytes sequences packed together in sequence in encodes all the contacts as 6 bytes sequences packed together in sequence in
string. The problem is that IPv6 endpoints cannot be encoded as 6 bytes, but string. The problem is that IPv6 endpoints cannot be encoded as 6 bytes, but
needs 18 bytes. The extension libtorrent applies is to add another key, called needs 18 bytes. The extension libtorrent applies is to add another key, called
<tt class="docutils literal"><span class="pre">nodes2</span></tt> which is encoded as a list of strings. Each string represents one <tt class="docutils literal"><span class="pre">nodes2</span></tt> which is encoded as a list of strings. Each string represents one

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title>libtorrent Examples</title> <title>libtorrent Examples</title>
<meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" /> <meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" />
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
@ -30,14 +30,14 @@
</li> </li>
</ul> </ul>
</div> </div>
<div class="section" id="examples"> <div class="section">
<h1><a name="examples">examples</a></h1> <h1><a id="examples" name="examples">examples</a></h1>
<p>Except for the example programs in this manual, there's also a bigger example <p>Except for the example programs in this manual, there's also a bigger example
of a (little bit) more complete client, <tt class="docutils literal"><span class="pre">client_test</span></tt>. There are separate of a (little bit) more complete client, <tt class="docutils literal"><span class="pre">client_test</span></tt>. There are separate
instructions for how to use it <a class="reference" href="client_test.html">here</a> if you'd like to try it. Note that building instructions for how to use it <a class="reference" href="client_test.html">here</a> if you'd like to try it. Note that building
<tt class="docutils literal"><span class="pre">client_test</span></tt> also requires boost.regex and boost.program_options library.</p> <tt class="docutils literal"><span class="pre">client_test</span></tt> also requires boost.regex and boost.program_options library.</p>
<div class="section" id="dump-torrent"> <div class="section">
<h2><a name="dump-torrent">dump_torrent</a></h2> <h2><a id="dump-torrent" name="dump-torrent">dump_torrent</a></h2>
<p>This is an example of a program that will take a torrent-file as a parameter and <p>This is an example of a program that will take a torrent-file as a parameter and
print information about it to std out:</p> print information about it to std out:</p>
<pre class="literal-block"> <pre class="literal-block">
@ -103,7 +103,7 @@ int main(int argc, char* argv[])
std::cout &lt;&lt; &quot; &quot; &lt;&lt; std::setw(11) &lt;&lt; i-&gt;size std::cout &lt;&lt; &quot; &quot; &lt;&lt; std::setw(11) &lt;&lt; i-&gt;size
&lt;&lt; &quot; &quot; &lt;&lt; i-&gt;path.string() &lt;&lt; &quot;\n&quot;; &lt;&lt; &quot; &quot; &lt;&lt; i-&gt;path.string() &lt;&lt; &quot;\n&quot;;
} }
} }
catch (std::exception&amp; e) catch (std::exception&amp; e)
{ {
@ -114,8 +114,8 @@ int main(int argc, char* argv[])
} }
</pre> </pre>
</div> </div>
<div class="section" id="simple-client"> <div class="section">
<h2><a name="simple-client">simple client</a></h2> <h2><a id="simple-client" name="simple-client">simple client</a></h2>
<p>This is a simple client. It doesn't have much output to keep it simple:</p> <p>This is a simple client. It doesn't have much output to keep it simple:</p>
<pre class="literal-block"> <pre class="literal-block">
#include &lt;iostream&gt; #include &lt;iostream&gt;
@ -151,7 +151,7 @@ int main(int argc, char* argv[])
entry e = bdecode(std::istream_iterator&lt;char&gt;(in) entry e = bdecode(std::istream_iterator&lt;char&gt;(in)
, std::istream_iterator&lt;char&gt;()); , std::istream_iterator&lt;char&gt;());
s.add_torrent(torrent_info(e), &quot;&quot;); s.add_torrent(torrent_info(e), &quot;&quot;);
// wait for the user to end // wait for the user to end
char a; char a;
std::cin.unsetf(std::ios_base::skipws); std::cin.unsetf(std::ios_base::skipws);
@ -165,8 +165,8 @@ int main(int argc, char* argv[])
} }
</pre> </pre>
</div> </div>
<div class="section" id="make-torrent"> <div class="section">
<h2><a name="make-torrent">make_torrent</a></h2> <h2><a id="make-torrent" name="make-torrent">make_torrent</a></h2>
<p>Shows how to create a torrent from a directory tree:</p> <p>Shows how to create a torrent from a directory tree:</p>
<pre class="literal-block"> <pre class="literal-block">
#include &lt;iostream&gt; #include &lt;iostream&gt;

View File

@ -3,13 +3,14 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title></title> <title></title>
<meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com Ludvig Strigeus, ludde&#64;utorrent.com" /> <meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com Ludvig Strigeus, ludde&#64;utorrent.com" />
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document"> <div class="document">
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
<col class="docinfo-content" /> <col class="docinfo-content" />
@ -19,8 +20,8 @@
Ludvig Strigeus, <a class="last reference" href="mailto:ludde&#64;utorrent.com">ludde&#64;utorrent.com</a></td></tr> Ludvig Strigeus, <a class="last reference" href="mailto:ludde&#64;utorrent.com">ludde&#64;utorrent.com</a></td></tr>
</tbody> </tbody>
</table> </table>
<div class="section" id="extension-protocol-for-bittorrent"> <div class="section">
<h1><a name="extension-protocol-for-bittorrent">extension protocol for bittorrent</a></h1> <h1><a id="extension-protocol-for-bittorrent" name="extension-protocol-for-bittorrent">extension protocol for bittorrent</a></h1>
<p>The intention of this protocol is to provide a simple and thin transport <p>The intention of this protocol is to provide a simple and thin transport
for extensions to the bittorrent protocol. Supporting this protocol makes for extensions to the bittorrent protocol. Supporting this protocol makes
it easy to add new extensions without interfering with the standard it easy to add new extensions without interfering with the standard
@ -80,8 +81,8 @@ message as specified by the handshake.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<div class="section" id="handshake-message"> <div class="section">
<h2><a name="handshake-message">handshake message</a></h2> <h2><a id="handshake-message" name="handshake-message">handshake message</a></h2>
<p>The payload of the handshake message is a bencoded dictionary. All items <p>The payload of the handshake message is a bencoded dictionary. All items
in the dictionary are optional. Any unknown names should be ignored in the dictionary are optional. Any unknown names should be ignored
by the client. All parts of the dictionary are case sensitive. by the client. All parts of the dictionary are case sensitive.
@ -215,8 +216,8 @@ for the actual extensions to the bittorrent protocol and the extensions
named in the example above (such as <tt class="docutils literal"><span class="pre">p</span></tt>) are just examples of possible named in the example above (such as <tt class="docutils literal"><span class="pre">p</span></tt>) are just examples of possible
extensions.</p> extensions.</p>
</div> </div>
<div class="section" id="rationale"> <div class="section">
<h2><a name="rationale">rationale</a></h2> <h2><a id="rationale" name="rationale">rationale</a></h2>
<p>The reason why the extension messages' IDs would be defined in the handshake <p>The reason why the extension messages' IDs would be defined in the handshake
is to avoid having a global registry of message IDs. Instead the names of the is to avoid having a global registry of message IDs. Instead the names of the
extension messages requires unique names, which is much easier to do without extension messages requires unique names, which is much easier to do without

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title>libtorrent manual</title> <title>libtorrent manual</title>
<meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" /> <meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" />
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
@ -28,8 +28,8 @@
<li><a class="reference" href="#license" id="id9" name="id9">license</a></li> <li><a class="reference" href="#license" id="id9" name="id9">license</a></li>
</ul> </ul>
</div> </div>
<div class="section" id="introduction"> <div class="section">
<h1><a name="introduction">introduction</a></h1> <h1><a id="introduction" name="introduction">introduction</a></h1>
<p>libtorrent is a C++ library that aims to be a good alternative to all the <p>libtorrent is a C++ library that aims to be a good alternative to all the
other bittorrent implementations around. It is a other bittorrent implementations around. It is a
library and not a full featured client, although it comes with a working library and not a full featured client, although it comes with a working
@ -41,8 +41,8 @@ example client.</p>
<li>to be very easy to use</li> <li>to be very easy to use</li>
</ul> </ul>
</div> </div>
<div class="section" id="features"> <div class="section">
<h1><a name="features">features</a></h1> <h1><a id="features" name="features">features</a></h1>
<p>libtorrent is still being developed, however it is stable. It is an ongoing <p>libtorrent is still being developed, however it is stable. It is an ongoing
project (including this documentation). The current state includes the project (including this documentation). The current state includes the
following features:</p> following features:</p>
@ -90,8 +90,8 @@ want to download.</li>
being connected</li> being connected</li>
</ul> </ul>
</div> </div>
<div class="section" id="portability"> <div class="section">
<h1><a name="portability">portability</a></h1> <h1><a id="portability" name="portability">portability</a></h1>
<p>libtorrent is portable at least among Windows, MacOS X and other UNIX-systems. <p>libtorrent is portable at least among Windows, MacOS X and other UNIX-systems.
It uses Boost.Thread, Boost.Filesystem, Boost.Date_time and various other It uses Boost.Thread, Boost.Filesystem, Boost.Date_time and various other
boost libraries as well as <a class="reference" href="http://www.zlib.org">zlib</a> (shipped) and <a class="reference" href="http://asio.sf.net">asio</a> (shipped). At least version boost libraries as well as <a class="reference" href="http://www.zlib.org">zlib</a> (shipped) and <a class="reference" href="http://asio.sf.net">asio</a> (shipped). At least version
@ -113,8 +113,8 @@ epoll on linux and kqueue on MacOS X and BSD.</p>
<li>msvc6</li> <li>msvc6</li>
</ul> </ul>
</div> </div>
<div class="section" id="license"> <div class="section">
<h1><a name="license">license</a></h1> <h1><a id="license" name="license">license</a></h1>
<p>libtorrent is released under the <a class="reference" href="http://www.opensource.org/licenses/bsd-license.php">BSD-license</a>.</p> <p>libtorrent is released under the <a class="reference" href="http://www.opensource.org/licenses/bsd-license.php">BSD-license</a>.</p>
<p>This means that you can use the library in your project without having to <p>This means that you can use the library in your project without having to
release its source code. The only requirement is that you give credit release its source code. The only requirement is that you give credit

View File

@ -3,12 +3,14 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title></title> <title></title>
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document"> <div class="document">
<div id="librarySidebar"><ul class="simple"> <div id="librarySidebar"><ul class="simple">
<li><a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=79942">download</a></li> <li><a class="reference" href="http://sourceforge.net/project/showfiles.php?group_id=79942">download</a></li>
<li><a class="reference" href="features.html">features</a></li> <li><a class="reference" href="features.html">features</a></li>
@ -42,8 +44,8 @@
<li><a class="reference" href="bittorrent.pdf">Introduction, slides</a></li> <li><a class="reference" href="bittorrent.pdf">Introduction, slides</a></li>
</ul> </ul>
</div> </div>
<div id="libraryBody"><div class="section" id="libtorrent"> <div id="libraryBody"><div class="section">
<h1><a name="libtorrent">libtorrent</a></h1> <h1><a id="libtorrent" name="libtorrent">libtorrent</a></h1>
<p>libtorrent is a C++ library that aims to be a good alternative to all the <p>libtorrent is a C++ library that aims to be a good alternative to all the
other bittorrent implementations around. It is a other bittorrent implementations around. It is a
library and not a full featured client, although it comes with a working library and not a full featured client, although it comes with a working
@ -54,8 +56,8 @@ library and not a full featured client, although it comes with a working
<li>to be memory efficient</li> <li>to be memory efficient</li>
<li>to be very easy to use</li> <li>to be very easy to use</li>
</ul> </ul>
<div class="section" id="donate"> <div class="section">
<h2><a name="donate">Donate</a></h2> <h2><a id="donate" name="donate">Donate</a></h2>
<p>Support the development of libtorrent</p> <p>Support the development of libtorrent</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"> <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="cmd" value="_xclick">
@ -67,13 +69,13 @@ library and not a full featured client, although it comes with a working
<input type="image" src="https://www.paypal.com/images/x-click-but04.gif" <input type="image" src="https://www.paypal.com/images/x-click-but04.gif"
border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!"> border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form></div> </form></div>
<div class="section" id="feedback"> <div class="section">
<h2><a name="feedback">Feedback</a></h2> <h2><a id="feedback" name="feedback">Feedback</a></h2>
<p>There's a <a class="reference" href="http://lists.sourceforge.net/lists/listinfo/libtorrent-discuss">mailing list</a>, general libtorrent discussion.</p> <p>There's a <a class="reference" href="http://lists.sourceforge.net/lists/listinfo/libtorrent-discuss">mailing list</a>, general libtorrent discussion.</p>
<p>You can usually find me as hydri in <tt class="docutils literal"><span class="pre">#libtorrent</span></tt> on <tt class="docutils literal"><span class="pre">irc.freenode.net</span></tt>.</p> <p>You can usually find me as hydri in <tt class="docutils literal"><span class="pre">#libtorrent</span></tt> on <tt class="docutils literal"><span class="pre">irc.freenode.net</span></tt>.</p>
</div> </div>
<div class="section" id="acknowledgements"> <div class="section">
<h2><a name="acknowledgements">Acknowledgements</a></h2> <h2><a id="acknowledgements" name="acknowledgements">Acknowledgements</a></h2>
<p>Written by Arvid Norberg. Copyright (c) 2003-2006</p> <p>Written by Arvid Norberg. Copyright (c) 2003-2006</p>
<p>Contributions by Magnus Jonsson, Daniel Wallin and Cory Nelson</p> <p>Contributions by Magnus Jonsson, Daniel Wallin and Cory Nelson</p>
<p>Thanks to Reimond Retz for bugfixes, suggestions and testing</p> <p>Thanks to Reimond Retz for bugfixes, suggestions and testing</p>

View File

@ -3,13 +3,14 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title></title> <title></title>
<meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" /> <meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" />
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document"> <div class="document">
<table class="docinfo" frame="void" rules="none"> <table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" /> <col class="docinfo-name" />
<col class="docinfo-content" /> <col class="docinfo-content" />
@ -18,10 +19,10 @@
<td>Arvid Norberg, <a class="last reference" href="mailto:arvid&#64;rasterbar.com">arvid&#64;rasterbar.com</a></td></tr> <td>Arvid Norberg, <a class="last reference" href="mailto:arvid&#64;rasterbar.com">arvid&#64;rasterbar.com</a></td></tr>
</tbody> </tbody>
</table> </table>
<div class="section" id="libtorrent-plugins"> <div class="section">
<h1><a name="libtorrent-plugins">libtorrent plugins</a></h1> <h1><a id="libtorrent-plugins" name="libtorrent-plugins">libtorrent plugins</a></h1>
<div class="contents topic" id="table-of-contents"> <div class="contents topic" id="table-of-contents">
<p class="topic-title first"><a name="contents">Contents</a></p> <p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
<ul class="simple"> <ul class="simple">
<li><a class="reference" href="#libtorrent-plugins" id="id1" name="id1">libtorrent plugins</a><ul> <li><a class="reference" href="#libtorrent-plugins" id="id1" name="id1">libtorrent plugins</a><ul>
<li><a class="reference" href="#a-word-of-caution" id="id2" name="id2">a word of caution</a></li> <li><a class="reference" href="#a-word-of-caution" id="id2" name="id2">a word of caution</a></li>
@ -50,8 +51,8 @@ to fit a particular (closed) network.</p>
<li>send extension messages and standard bittorrent messages.</li> <li>send extension messages and standard bittorrent messages.</li>
<li>override or block the handling of standard bittorrent messages.</li> <li>override or block the handling of standard bittorrent messages.</li>
</ul> </ul>
<div class="section" id="a-word-of-caution"> <div class="section">
<h2><a name="a-word-of-caution">a word of caution</a></h2> <h2><a id="a-word-of-caution" name="a-word-of-caution">a word of caution</a></h2>
<p>Writing your own plugin is a very easy way to introduce serious bugs such as <p>Writing your own plugin is a very easy way to introduce serious bugs such as
dead locks and race conditions. Since a plugin has access to internal dead locks and race conditions. Since a plugin has access to internal
structures it is also quite easy to sabotage libtorrent's operation.</p> structures it is also quite easy to sabotage libtorrent's operation.</p>
@ -66,16 +67,16 @@ callback). See <a class="reference" href="http://www.boost.org/doc/html/mutex.ht
another thread, use an internal queue, and do the actual sending in <tt class="docutils literal"><span class="pre">tick()</span></tt>.</p> another thread, use an internal queue, and do the actual sending in <tt class="docutils literal"><span class="pre">tick()</span></tt>.</p>
</div> </div>
</div> </div>
<div class="section" id="plugin-interface"> <div class="section">
<h1><a name="plugin-interface">plugin interface</a></h1> <h1><a id="plugin-interface" name="plugin-interface">plugin interface</a></h1>
<p>The plugin interface consists of two base classes that the plugin may <p>The plugin interface consists of two base classes that the plugin may
implement. These are called <tt class="docutils literal"><span class="pre">torrent_plugin</span></tt> and <tt class="docutils literal"><span class="pre">peer_plugin</span></tt>. They are implement. These are called <tt class="docutils literal"><span class="pre">torrent_plugin</span></tt> and <tt class="docutils literal"><span class="pre">peer_plugin</span></tt>. They are
both found in the <tt class="docutils literal"><span class="pre">&lt;libtorrent/extensions.hpp&gt;</span></tt> header.</p> both found in the <tt class="docutils literal"><span class="pre">&lt;libtorrent/extensions.hpp&gt;</span></tt> header.</p>
<p>These plugins are instantiated for each torrent and possibly each peer, <p>These plugins are instantiated for each torrent and possibly each peer,
respectively.</p> respectively.</p>
</div> </div>
<div class="section" id="torrent-plugin"> <div class="section">
<h1><a name="torrent-plugin">torrent_plugin</a></h1> <h1><a id="torrent-plugin" name="torrent-plugin">torrent_plugin</a></h1>
<p>The synopsis for <tt class="docutils literal"><span class="pre">torrent_plugin</span></tt> follows:</p> <p>The synopsis for <tt class="docutils literal"><span class="pre">torrent_plugin</span></tt> follows:</p>
<pre class="literal-block"> <pre class="literal-block">
struct torrent_plugin struct torrent_plugin
@ -95,8 +96,8 @@ struct torrent_plugin
<p>This is the base class for a torrent_plugin. Your derived class is (if added <p>This is the base class for a torrent_plugin. Your derived class is (if added
as an extension) instantiated for each torrent in the session. The callback as an extension) instantiated for each torrent in the session. The callback
hook functions are defined as follows.</p> hook functions are defined as follows.</p>
<div class="section" id="new-connection"> <div class="section">
<h2><a name="new-connection">new_connection()</a></h2> <h2><a id="new-connection" name="new-connection">new_connection()</a></h2>
<pre class="literal-block"> <pre class="literal-block">
boost::shared_ptr&lt;peer_plugin&gt; new_connection(peer_connection*); boost::shared_ptr&lt;peer_plugin&gt; new_connection(peer_connection*);
</pre> </pre>
@ -113,8 +114,8 @@ held by the torrent object. So, it is generally a good idea to not keep a
use <tt class="docutils literal"><span class="pre">weak_ptr</span></tt>.</p> use <tt class="docutils literal"><span class="pre">weak_ptr</span></tt>.</p>
<p>If this function throws an exception, the connection will be closed.</p> <p>If this function throws an exception, the connection will be closed.</p>
</div> </div>
<div class="section" id="on-piece-pass-on-piece-fail"> <div class="section">
<h2><a name="on-piece-pass-on-piece-fail">on_piece_pass() on_piece_fail()</a></h2> <h2><a id="on-piece-pass-on-piece-fail" name="on-piece-pass-on-piece-fail">on_piece_pass() on_piece_fail()</a></h2>
<pre class="literal-block"> <pre class="literal-block">
void on_piece_pass(int index); void on_piece_pass(int index);
void on_piece_failed(int index); void on_piece_failed(int index);
@ -124,16 +125,16 @@ check, respectively. The <tt class="docutils literal"><span class="pre">index</s
It is possible to access the list of peers that participated in sending the It is possible to access the list of peers that participated in sending the
piece through the <tt class="docutils literal"><span class="pre">torrent</span></tt> and the <tt class="docutils literal"><span class="pre">piece_picker</span></tt>.</p> piece through the <tt class="docutils literal"><span class="pre">torrent</span></tt> and the <tt class="docutils literal"><span class="pre">piece_picker</span></tt>.</p>
</div> </div>
<div class="section" id="tick"> <div class="section">
<h2><a name="tick">tick()</a></h2> <h2><a id="tick" name="tick">tick()</a></h2>
<pre class="literal-block"> <pre class="literal-block">
void tick(); void tick();
</pre> </pre>
<p>This hook is called approximately once per second. It is a way of making it <p>This hook is called approximately once per second. It is a way of making it
easy for plugins to do timed events, for sending messages or whatever.</p> easy for plugins to do timed events, for sending messages or whatever.</p>
</div> </div>
<div class="section" id="on-pause-on-resume"> <div class="section">
<h2><a name="on-pause-on-resume">on_pause() on_resume()</a></h2> <h2><a id="on-pause-on-resume" name="on-pause-on-resume">on_pause() on_resume()</a></h2>
<pre class="literal-block"> <pre class="literal-block">
bool on_pause(); bool on_pause();
bool on_resume(); bool on_resume();
@ -150,8 +151,8 @@ standard handler, you have to keep your own state on whether you want standard
behavior or overridden behavior.</p> behavior or overridden behavior.</p>
</div> </div>
</div> </div>
<div class="section" id="peer-plugin"> <div class="section">
<h1><a name="peer-plugin">peer_plugin</a></h1> <h1><a id="peer-plugin" name="peer-plugin">peer_plugin</a></h1>
<pre class="literal-block"> <pre class="literal-block">
struct peer_plugin struct peer_plugin
{ {

File diff suppressed because it is too large Load Diff

View File

@ -3,13 +3,14 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title>projects using libtorrent</title> <title>projects using libtorrent</title>
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
</head> </head>
<body> <body>
<div class="document" id="projects-using-libtorrent"> <div class="document" id="projects-using-libtorrent">
<h1 class="title">projects using libtorrent</h1> <h1 class="title">projects using libtorrent</h1>
<p>These are some of the public projects that uses libtorrent. If you want your <p>These are some of the public projects that uses libtorrent. If you want your
project listed here, let <a class="reference" href="mailto:arvid&#64;rasterbar.com">me</a> know.</p> project listed here, let <a class="reference" href="mailto:arvid&#64;rasterbar.com">me</a> know.</p>
<table border="1" class="docutils"> <table border="1" class="docutils">
@ -24,7 +25,7 @@ which collectively generates
animations and lets the users animations and lets the users
vote which one to live on.</p> vote which one to live on.</p>
</td> </td>
<td><div class="image first last"><img alt="electric_sheep_thumb.jpg" class="first last" src="electric_sheep_thumb.jpg" /></div> <td><img alt="electric_sheep_thumb.jpg" class="first last" src="electric_sheep_thumb.jpg" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>qBittorrent</strong></p> <tr><td><p class="first"><strong>qBittorrent</strong></p>
@ -33,7 +34,7 @@ client available for linux (likely
portable to most other desktops as portable to most other desktops as
well). Written by Christophe Dumez.</p> well). Written by Christophe Dumez.</p>
</td> </td>
<td><div class="image first last"><img alt="qbittorrent_thumb.jpg" class="first last" src="qbittorrent_thumb.jpg" /></div> <td><img alt="qbittorrent_thumb.jpg" class="first last" src="qbittorrent_thumb.jpg" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>btg</strong></p> <tr><td><p class="first"><strong>btg</strong></p>
@ -47,26 +48,26 @@ connects to the daemon. One GUI
Written by Michael Wojciechowski Written by Michael Wojciechowski
and Johan Ström.</p> and Johan Ström.</p>
</td> </td>
<td><div class="image first last"><img alt="btg_thumb.jpg" class="first last" src="btg_thumb.jpg" /></div> <td><img alt="btg_thumb.jpg" class="first last" src="btg_thumb.jpg" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>BitRocket</strong></p> <tr><td><p class="first"><strong>BitRocket</strong></p>
<p class="last"><a class="reference" href="http://www.bitrocket.org/">BitRocket</a> is a MacOS X bittorrent client.</p> <p class="last"><a class="reference" href="http://www.bitrocket.org/">BitRocket</a> is a MacOS X bittorrent client.</p>
</td> </td>
<td><div class="image first last"><img alt="bitrocket_thumb.png" class="first last" src="bitrocket_thumb.png" /></div> <td><img alt="bitrocket_thumb.png" class="first last" src="bitrocket_thumb.png" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>Instant Media</strong></p> <tr><td><p class="first"><strong>Instant Media</strong></p>
<p class="last"><a class="reference" href="http://www.im.com/">IM</a> is a client for downloading Internet TV.</p> <p class="last"><a class="reference" href="http://www.im.com/">IM</a> is a client for downloading Internet TV.</p>
</td> </td>
<td><div class="image first last"><img alt="im_thumb.jpg" class="first last" src="im_thumb.jpg" /></div> <td><img alt="im_thumb.jpg" class="first last" src="im_thumb.jpg" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>MooPolice</strong></p> <tr><td><p class="first"><strong>MooPolice</strong></p>
<p class="last"><a class="reference" href="http://www.moopolice.de">MooPolice</a> is a windows bittorrent <p class="last"><a class="reference" href="http://www.moopolice.de">MooPolice</a> is a windows bittorrent
client with a quite unique look.</p> client with a quite unique look.</p>
</td> </td>
<td><div class="image first last"><img alt="moopolice_thumb.gif" class="first last" src="moopolice_thumb.gif" /></div> <td><img alt="moopolice_thumb.gif" class="first last" src="moopolice_thumb.gif" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>BitsCast</strong></p> <tr><td><p class="first"><strong>BitsCast</strong></p>
@ -75,13 +76,13 @@ video feed downloader, bittorrent
feed downloader. See <a class="reference" href="http://www.bitscast.com/software/">BitsCast</a> feed downloader. See <a class="reference" href="http://www.bitscast.com/software/">BitsCast</a>
homepage for more info.</p> homepage for more info.</p>
</td> </td>
<td><div class="image first last"><img alt="bitscast_thumb.png" class="first last" src="bitscast_thumb.png" /></div> <td><img alt="bitscast_thumb.png" class="first last" src="bitscast_thumb.png" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>BitSlug</strong></p> <tr><td><p class="first"><strong>BitSlug</strong></p>
<p class="last"><a class="reference" href="http://bitslug.sourceforge.net/">BitSlug</a> is a MacOSX cocoa client.</p> <p class="last"><a class="reference" href="http://bitslug.sourceforge.net/">BitSlug</a> is a MacOSX cocoa client.</p>
</td> </td>
<td><div class="image first last"><img alt="bitslug_thumb.png" class="first last" src="bitslug_thumb.png" /></div> <td><img alt="bitslug_thumb.png" class="first last" src="bitslug_thumb.png" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>BitBuddy</strong></p> <tr><td><p class="first"><strong>BitBuddy</strong></p>
@ -89,7 +90,7 @@ homepage for more info.</p>
client by Daniel Wang, quite client by Daniel Wang, quite
similar to BitComet GUI-wise.</p> similar to BitComet GUI-wise.</p>
</td> </td>
<td><div class="image first last"><img alt="bitbuddy_thumb.jpg" class="first last" src="bitbuddy_thumb.jpg" /></div> <td><img alt="bitbuddy_thumb.jpg" class="first last" src="bitbuddy_thumb.jpg" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>Arctic Torrent</strong></p> <tr><td><p class="first"><strong>Arctic Torrent</strong></p>
@ -97,15 +98,15 @@ similar to BitComet GUI-wise.</p>
bittorrent client for windows. bittorrent client for windows.
Written by Cory Nelson.</p> Written by Cory Nelson.</p>
</td> </td>
<td><div class="image first last"><img alt="arctic_thumb.png" class="first last" src="arctic_thumb.png" /></div> <td><img alt="arctic_thumb.png" class="first last" src="arctic_thumb.png" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>deluge torrent</strong></p> <tr><td><p class="first"><strong>deluge torrent</strong></p>
<p class="last"><a class="reference" href="http://code.google.com/p/deluge-torrent/">deluge Torrent</a> is a more full-featured yet still lightweight bittorrent <p class="last"><a class="reference" href="http://deluge-torrent.org/">deluge Torrent</a> is a more full-featured yet still lightweight bittorrent
client. It has the ability to automatically resume partial downloads and client. It has the ability to automatically resume partial downloads and
background to the system tray.</p> background to the system tray.</p>
</td> </td>
<td><div class="image first last"><img alt="gtorrent_thumb.jpg" class="first last" src="gtorrent_thumb.jpg" /></div> <td><img alt="gtorrent_thumb.jpg" class="first last" src="gtorrent_thumb.jpg" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>ZipTorrent</strong></p> <tr><td><p class="first"><strong>ZipTorrent</strong></p>
@ -113,7 +114,7 @@ background to the system tray.</p>
bittorrent client with bittorrent client with
decentralized search facility.</p> decentralized search facility.</p>
</td> </td>
<td><div class="image first last"><img alt="ziptorrent_thumb.gif" class="first last" src="ziptorrent_thumb.gif" /></div> <td><img alt="ziptorrent_thumb.gif" class="first last" src="ziptorrent_thumb.gif" />
</td> </td>
</tr> </tr>
<tr><td><p class="first"><strong>Jamplayer</strong></p> <tr><td><p class="first"><strong>Jamplayer</strong></p>

View File

@ -114,7 +114,7 @@ project listed here, let me_ know.
.. _BitSlug: http://bitslug.sourceforge.net/ .. _BitSlug: http://bitslug.sourceforge.net/
.. _BitBuddy: http://www.btvampire.com .. _BitBuddy: http://www.btvampire.com
.. _`Arctic Torrent`: http://www.int64.org/arctic.html .. _`Arctic Torrent`: http://www.int64.org/arctic.html
.. _`deluge Torrent`: http://code.google.com/p/deluge-torrent/ .. _`deluge Torrent`: http://deluge-torrent.org/
.. _ZipTorrent: http://www.ziptorrent.com/ .. _ZipTorrent: http://www.ziptorrent.com/
.. _FireANT: http://antisnottv.net/ .. _FireANT: http://antisnottv.net/
.. _eDonkey2000: http://www.edonkey2000.com/ .. _eDonkey2000: http://www.edonkey2000.com/

View File

@ -3,11 +3,10 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title>Building libtorrent on Ubuntu 6.06</title> <title>Building libtorrent on Ubuntu 6.06</title>
<meta name="date" content="Nov 6, 2006" /> <meta name="date" content="Nov 6, 2006" />
<meta name="author" content="Xi Stan" /> <meta name="authors" content="Xi Stan Francois Dermu" />
<meta name="author" content="Francois Dermu" />
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
</head> </head>
<body> <body>
@ -19,16 +18,15 @@
<tbody valign="top"> <tbody valign="top">
<tr><th class="docinfo-name">Date:</th> <tr><th class="docinfo-name">Date:</th>
<td>Nov 6, 2006</td></tr> <td>Nov 6, 2006</td></tr>
<tr><th class="docinfo-name">Author:</th> <tr><th class="docinfo-name">Authors:</th>
<td>Xi Stan</td></tr> <td>Xi Stan
<tr><th class="docinfo-name">Author:</th> <br />Francois Dermu</td></tr>
<td>Francois Dermu</td></tr>
<tr><th class="docinfo-name">Contact:</th> <tr><th class="docinfo-name">Contact:</th>
<td><a class="first last reference" href="mailto:stan8688&#64;gmail.com">stan8688&#64;gmail.com</a></td></tr> <td><a class="first last reference" href="mailto:stan8688&#64;gmail.com">stan8688&#64;gmail.com</a></td></tr>
</tbody> </tbody>
</table> </table>
<div class="section" id="prerequisites"> <div class="section">
<h1><a name="prerequisites">Prerequisites</a></h1> <h1><a id="prerequisites" name="prerequisites">Prerequisites</a></h1>
<p>To build libtorrent, you need the following libraries:</p> <p>To build libtorrent, you need the following libraries:</p>
<ul class="simple"> <ul class="simple">
<li><a class="reference" href="http://www.rasterbar.com/products/libtorrent/index.html">http://www.rasterbar.com/products/libtorrent/index.html</a></li> <li><a class="reference" href="http://www.rasterbar.com/products/libtorrent/index.html">http://www.rasterbar.com/products/libtorrent/index.html</a></li>
@ -36,8 +34,8 @@
<li><a class="reference" href="http://asio.sourceforge.net/">http://asio.sourceforge.net/</a></li> <li><a class="reference" href="http://asio.sourceforge.net/">http://asio.sourceforge.net/</a></li>
</ul> </ul>
</div> </div>
<div class="section" id="step-1-acquire-the-source-code-from-cvs"> <div class="section">
<h1><a name="step-1-acquire-the-source-code-from-cvs">Step 1: Acquire the source code from cvs</a></h1> <h1><a id="step-1-acquire-the-source-code-from-cvs" name="step-1-acquire-the-source-code-from-cvs">Step 1: Acquire the source code from cvs</a></h1>
<p>Create a directory for the project:</p> <p>Create a directory for the project:</p>
<pre class="literal-block"> <pre class="literal-block">
mkdir ${HOME}/work mkdir ${HOME}/work
@ -60,8 +58,8 @@ cvs -z3 -d:pserver:anonymous&#64;asio.cvs.sourceforge.net:/cvsroot/asio co -P as
cvs -d:pserver:anonymous&#64;asio.cvs.sourceforge.net:/cvsroot/asio login cvs -d:pserver:anonymous&#64;asio.cvs.sourceforge.net:/cvsroot/asio login
</pre> </pre>
</div> </div>
<div class="section" id="step-2-building-boost"> <div class="section">
<h1><a name="step-2-building-boost">Step 2: Building boost</a></h1> <h1><a id="step-2-building-boost" name="step-2-building-boost">Step 2: Building boost</a></h1>
<p>To build boost, first build boost-build and then use that to build <p>To build boost, first build boost-build and then use that to build
the libraries themselves:</p> the libraries themselves:</p>
<pre class="literal-block"> <pre class="literal-block">
@ -87,18 +85,18 @@ libboost_date_time-gcc-1_31.a
libboost_date_time-gcc-mt-1_31.a libboost_date_time-gcc-mt-1_31.a
</pre> </pre>
</div> </div>
<div class="section" id="step-3-copy-asio-into-the-libtorrent-directory"> <div class="section">
<h1><a name="step-3-copy-asio-into-the-libtorrent-directory">Step 3: Copy asio into the libtorrent directory</a></h1> <h1><a id="step-3-copy-asio-into-the-libtorrent-directory" name="step-3-copy-asio-into-the-libtorrent-directory">Step 3: Copy asio into the libtorrent directory</a></h1>
<p>Skip this step if you're using a released tarball.</p> <p>Skip this step if you're using a released tarball.</p>
<p>Execute the following command:</p> <p>Execute the following command:</p>
<pre class="literal-block"> <pre class="literal-block">
cp -R ${BASE_DIR}/asio/include/asio* ${BASE_DIR}/libtorrent/include/libtorrent cp -R ${BASE_DIR}/asio/include/asio* ${BASE_DIR}/libtorrent/include/libtorrent
</pre> </pre>
</div> </div>
<div class="section" id="step-4-building-libtorrent"> <div class="section">
<h1><a name="step-4-building-libtorrent">Step 4: Building libtorrent</a></h1> <h1><a id="step-4-building-libtorrent" name="step-4-building-libtorrent">Step 4: Building libtorrent</a></h1>
<div class="section" id="building-with-autotools"> <div class="section">
<h2><a name="building-with-autotools">building with autotools</a></h2> <h2><a id="building-with-autotools" name="building-with-autotools">building with autotools</a></h2>
<p>First of all, you need to install automake and autoconf. Many unix/linux systems <p>First of all, you need to install automake and autoconf. Many unix/linux systems
comes with these preinstalled. The prerequisites for building libtorrent are comes with these preinstalled. The prerequisites for building libtorrent are
boost.thread, boost.date_time and boost.filesystem. Those are the <em>compiled</em> boost boost.thread, boost.date_time and boost.filesystem. Those are the <em>compiled</em> boost
@ -108,8 +106,8 @@ boost.lexical_cast, boost.integer, boost.iterator, boost.tuple, boost.array,
boost.function, boost.smart_ptr, boost.preprocessor, boost.static_assert.</p> boost.function, boost.smart_ptr, boost.preprocessor, boost.static_assert.</p>
<p>If you want to build the client_test example, you'll also need boost.regex and boost.program_options.</p> <p>If you want to build the client_test example, you'll also need boost.regex and boost.program_options.</p>
</div> </div>
<div class="section" id="generating-the-build-system"> <div class="section">
<h2><a name="generating-the-build-system">generating the build system</a></h2> <h2><a id="generating-the-build-system" name="generating-the-build-system">generating the build system</a></h2>
<p>No build system is present if libtorrent is checked out from CVS - it needs to be <p>No build system is present if libtorrent is checked out from CVS - it needs to be
generated first. If you're building from a released tarball, you may skip directly generated first. If you're building from a released tarball, you may skip directly
to <a class="reference" href="#running-configure">running configure</a>.</p> to <a class="reference" href="#running-configure">running configure</a>.</p>
@ -127,8 +125,8 @@ autoconf
</pre> </pre>
<p>On darwin/OSX you have to run glibtoolize instead of libtoolize.</p> <p>On darwin/OSX you have to run glibtoolize instead of libtoolize.</p>
</div> </div>
<div class="section" id="running-configure"> <div class="section">
<h2><a name="running-configure">running configure</a></h2> <h2><a id="running-configure" name="running-configure">running configure</a></h2>
<p>To use the auto tools to build libtorrent, execute the following commands:</p> <p>To use the auto tools to build libtorrent, execute the following commands:</p>
<pre class="literal-block"> <pre class="literal-block">
cd ${BASE_DIR}/libtorrent cd ${BASE_DIR}/libtorrent

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title>Bittorrent udp-tracker protocol extension</title> <title>Bittorrent udp-tracker protocol extension</title>
<meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" /> <meta name="author" content="Arvid Norberg, arvid&#64;rasterbar.com" />
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
@ -35,8 +35,8 @@
<li><a class="reference" href="#credits" id="id10" name="id10">credits</a></li> <li><a class="reference" href="#credits" id="id10" name="id10">credits</a></li>
</ul> </ul>
</div> </div>
<div class="section" id="introduction"> <div class="section">
<h1><a name="introduction">introduction</a></h1> <h1><a id="introduction" name="introduction">introduction</a></h1>
<p>A tracker with the protocol &quot;udp://&quot; in its URI <p>A tracker with the protocol &quot;udp://&quot; in its URI
is supposed to be contacted using this protocol.</p> is supposed to be contacted using this protocol.</p>
<p>This protocol is supported by <p>This protocol is supported by
@ -50,8 +50,8 @@ are specified with ANSI-C standard types.</p>
the request. If no reply has been received after 60 seconds, stop the request. If no reply has been received after 60 seconds, stop
retrying.</p> retrying.</p>
</div> </div>
<div class="section" id="connecting"> <div class="section">
<h1><a name="connecting">connecting</a></h1> <h1><a id="connecting" name="connecting">connecting</a></h1>
<p>Client sends packet:</p> <p>Client sends packet:</p>
<table border="1" class="docutils"> <table border="1" class="docutils">
<colgroup> <colgroup>
@ -120,8 +120,8 @@ anymore.</td>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="section" id="announcing"> <div class="section">
<h1><a name="announcing">announcing</a></h1> <h1><a id="announcing" name="announcing">announcing</a></h1>
<p>Client sends packet:</p> <p>Client sends packet:</p>
<table border="1" class="docutils"> <table border="1" class="docutils">
<colgroup> <colgroup>
@ -282,8 +282,8 @@ seeding.</td>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="section" id="scraping"> <div class="section">
<h1><a name="scraping">scraping</a></h1> <h1><a id="scraping" name="scraping">scraping</a></h1>
<p>Client sends packet:</p> <p>Client sends packet:</p>
<table border="1" class="docutils"> <table border="1" class="docutils">
<colgroup> <colgroup>
@ -401,8 +401,8 @@ leechers.</td>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="section" id="errors"> <div class="section">
<h1><a name="errors">errors</a></h1> <h1><a id="errors" name="errors">errors</a></h1>
<p>In case of a tracker error,</p> <p>In case of a tracker error,</p>
<p>server replies packet:</p> <p>server replies packet:</p>
<table border="1" class="docutils"> <table border="1" class="docutils">
@ -436,8 +436,8 @@ describing the error.</td>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="section" id="actions"> <div class="section">
<h1><a name="actions">actions</a></h1> <h1><a id="actions" name="actions">actions</a></h1>
<p>The action fields has the following encoding:</p> <p>The action fields has the following encoding:</p>
<blockquote> <blockquote>
<ul class="simple"> <ul class="simple">
@ -448,8 +448,8 @@ describing the error.</td>
</ul> </ul>
</blockquote> </blockquote>
</div> </div>
<div class="section" id="extensions"> <div class="section">
<h1><a name="extensions">extensions</a></h1> <h1><a id="extensions" name="extensions">extensions</a></h1>
<p>The extensions field is a bitmask. The following <p>The extensions field is a bitmask. The following
bits are assigned:</p> bits are assigned:</p>
<blockquote> <blockquote>
@ -457,8 +457,8 @@ bits are assigned:</p>
<li>1 = <a class="reference" href="#authentication">authentication</a>.</li> <li>1 = <a class="reference" href="#authentication">authentication</a>.</li>
</ul> </ul>
</blockquote> </blockquote>
<div class="section" id="authentication"> <div class="section">
<h2><a name="authentication">authentication</a></h2> <h2><a id="authentication" name="authentication">authentication</a></h2>
<p>The packet will have an authentication part <p>The packet will have an authentication part
appended to it. It has the following format:</p> appended to it. It has the following format:</p>
<table border="1" class="docutils"> <table border="1" class="docutils">
@ -497,8 +497,8 @@ from the 20 bytes hash calculated.</td>
</table> </table>
</div> </div>
</div> </div>
<div class="section" id="credits"> <div class="section">
<h1><a name="credits">credits</a></h1> <h1><a id="credits" name="credits">credits</a></h1>
<p>Protocol designed by Olaf van der Spek</p> <p>Protocol designed by Olaf van der Spek</p>
</div> </div>
</div> </div>

View File

@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" /> <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
<title>libtorrent setup for VS.NET 2005 Development</title> <title>libtorrent setup for VS.NET 2005 Development</title>
<meta name="author" content="THOMAS GODDARD" /> <meta name="author" content="THOMAS GODDARD" />
<link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" />
@ -21,16 +21,16 @@
<td>www.thomasgoddard.com</td></tr> <td>www.thomasgoddard.com</td></tr>
</tbody> </tbody>
</table> </table>
<div class="section" id="prerequisites"> <div class="section">
<h1><a name="prerequisites">Prerequisites</a></h1> <h1><a id="prerequisites" name="prerequisites">Prerequisites</a></h1>
<ol class="arabic simple"> <ol class="arabic simple">
<li>Download boost from boost.org</li> <li>Download boost from boost.org</li>
<li>Download libtorrent</li> <li>Download libtorrent</li>
<li>Extract both to a folder called libtorrent</li> <li>Extract both to a folder called libtorrent</li>
</ol> </ol>
</div> </div>
<div class="section" id="compiling-boost-for-vs-net-2005"> <div class="section">
<h1><a name="compiling-boost-for-vs-net-2005">Compiling boost for VS.NET 2005</a></h1> <h1><a id="compiling-boost-for-vs-net-2005" name="compiling-boost-for-vs-net-2005">Compiling boost for VS.NET 2005</a></h1>
<ol class="arabic simple"> <ol class="arabic simple">
<li>Copy bjam.exe to libtorrent\boost_[version]\tools\build</li> <li>Copy bjam.exe to libtorrent\boost_[version]\tools\build</li>
<li>Add the path &quot;libtorrent\boost_[version]\tools\build&quot; to the windows path environment variable</li> <li>Add the path &quot;libtorrent\boost_[version]\tools\build&quot; to the windows path environment variable</li>
@ -44,16 +44,16 @@
<li>Type: <tt class="docutils literal"><span class="pre">bjam</span> <span class="pre">&quot;-sTOOLS=vc-8_0&quot;</span> <span class="pre">install</span></tt> and hit enter</li> <li>Type: <tt class="docutils literal"><span class="pre">bjam</span> <span class="pre">&quot;-sTOOLS=vc-8_0&quot;</span> <span class="pre">install</span></tt> and hit enter</li>
<li>Be patient and wait for it to finish</li> <li>Be patient and wait for it to finish</li>
</ol> </ol>
<div class="section" id="troubleshooting"> <div class="section">
<h2><a name="troubleshooting">Troubleshooting</a></h2> <h2><a id="troubleshooting" name="troubleshooting">Troubleshooting</a></h2>
<ul class="simple"> <ul class="simple">
<li>Make sure to CD to the root of the boost directory before running the install.</li> <li>Make sure to CD to the root of the boost directory before running the install.</li>
<li>For additional details and information on using Visual Studio 2005 Express addition, see the Boost Getting Started Guide.</li> <li>For additional details and information on using Visual Studio 2005 Express addition, see the Boost Getting Started Guide.</li>
</ul> </ul>
</div> </div>
</div> </div>
<div class="section" id="setting-up-and-compiling-libtorrent-with-vs-net-2005"> <div class="section">
<h1><a name="setting-up-and-compiling-libtorrent-with-vs-net-2005">Setting up and compiling libtorrent with VS.NET 2005</a></h1> <h1><a id="setting-up-and-compiling-libtorrent-with-vs-net-2005" name="setting-up-and-compiling-libtorrent-with-vs-net-2005">Setting up and compiling libtorrent with VS.NET 2005</a></h1>
<ol class="arabic"> <ol class="arabic">
<li><p class="first">Create a new vs.net 2005 MFC project and solution file in the root of the libtorrent folder where you extracted all of the libtorrent files.</p> <li><p class="first">Create a new vs.net 2005 MFC project and solution file in the root of the libtorrent folder where you extracted all of the libtorrent files.</p>
</li> </li>
@ -98,8 +98,8 @@ libboost_date_time-vc80-mt.lib
<li><p class="first">Set the Runtime Library to Multi-threaded Debug DLL (/MDd) under the code generation section.</p> <li><p class="first">Set the Runtime Library to Multi-threaded Debug DLL (/MDd) under the code generation section.</p>
</li> </li>
</ol> </ol>
<div class="section" id="id1"> <div class="section">
<h2><a name="id1">Troubleshooting</a></h2> <h2><a id="id1" name="id1">Troubleshooting</a></h2>
<dl class="docutils"> <dl class="docutils">
<dt>Error: error LNK2005:already defined etc...</dt> <dt>Error: error LNK2005:already defined etc...</dt>
<dd>Make sure you use the Multi-threaded Debug DLL (/MDd)</dd> <dd>Make sure you use the Multi-threaded Debug DLL (/MDd)</dd>

View File

@ -56,9 +56,9 @@ namespace libtorrent
int num_peers; int num_peers;
#ifndef TORRENT_DISABLE_DHT #ifndef TORRENT_DISABLE_DHT
int m_dht_nodes; int dht_nodes;
int m_dht_node_cache; int dht_node_cache;
int m_dht_torrents; int dht_torrents;
#endif #endif
}; };

View File

@ -204,8 +204,8 @@ namespace libtorrent { namespace dht
void dht_tracker::dht_status(session_status& s) void dht_tracker::dht_status(session_status& s)
{ {
boost::tie(s.m_dht_nodes, s.m_dht_node_cache) = m_dht.size(); boost::tie(s.dht_nodes, s.dht_node_cache) = m_dht.size();
s.m_dht_torrents = m_dht.data_size(); s.dht_torrents = m_dht.data_size();
} }
void dht_tracker::connection_timeout(asio::error_code const& e) void dht_tracker::connection_timeout(asio::error_code const& e)

View File

@ -1496,9 +1496,9 @@ namespace libtorrent { namespace detail
} }
else else
{ {
s.m_dht_nodes = 0; s.dht_nodes = 0;
s.m_dht_node_cache = 0; s.dht_node_cache = 0;
s.m_dht_torrents = 0; s.dht_torrents = 0;
} }
#endif #endif
@ -1839,7 +1839,7 @@ namespace libtorrent { namespace detail
const entry& ad = (*i)["adler32"]; const entry& ad = (*i)["adler32"];
// crc's didn't match, don't use the resume data // crc's didn't match, don't use the resume data
if (ad.integer() != adler) if (ad.integer() != entry::integer_type(adler))
{ {
error = "checksum mismatch on piece " + boost::lexical_cast<std::string>(p.index); error = "checksum mismatch on piece " + boost::lexical_cast<std::string>(p.index);
return; return;

View File

@ -80,8 +80,8 @@ namespace libtorrent { namespace
m_1_minute = 0; m_1_minute = 0;
std::list<tcp::endpoint> cs; std::list<tcp::endpoint> cs;
for (torrent::peer_iterator i = m_torrent.m_connections.begin() for (torrent::peer_iterator i = m_torrent.begin()
, end(m_torrent.m_connections.end()); i != end; ++i) , end(m_torrent.end()); i != end; ++i)
{ {
if (!i->second->is_local()) continue; if (!i->second->is_local()) continue;
cs.push_back(i->first); cs.push_back(i->first);