*** empty log message ***
This commit is contained in:
parent
1bc22888a8
commit
de63a70323
|
@ -177,17 +177,11 @@ send have messages to peers that already has the piece. This saves bandwidth.</l
|
||||||
means it can resume a torrent downloaded by any client.</li>
|
means it can resume a torrent downloaded by any client.</li>
|
||||||
<li>adjusts the length of the request queue depending on download rate.</li>
|
<li>adjusts the length of the request queue depending on download rate.</li>
|
||||||
<li>supports the <tt class="docutils literal"><span class="pre">compact=1</span></tt> tracker parameter.</li>
|
<li>supports the <tt class="docutils literal"><span class="pre">compact=1</span></tt> tracker parameter.</li>
|
||||||
|
<li>selective downloading. The ability to select which parts of a torrent you
|
||||||
|
want to download.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<p>Functions that are yet to be implemented:</p>
|
<p>libtorrent is portable at least among Windows, MacOSX and other UNIX-systems. It uses Boost.Thread,
|
||||||
<blockquote>
|
|
||||||
<ul class="simple">
|
|
||||||
<li>better identification of peers that send bad data</li>
|
|
||||||
<li>ip-filters</li>
|
|
||||||
<li>file-level priority</li>
|
|
||||||
</ul>
|
|
||||||
</blockquote>
|
|
||||||
<p>libtorrent is portable at least among windows, macosx, and other UNIX-systems. It uses Boost.Thread,
|
|
||||||
Boost.Filesystem, Boost.Date_time and various other boost libraries as well as zlib.</p>
|
Boost.Filesystem, Boost.Date_time and various other boost libraries as well as zlib.</p>
|
||||||
<p>libtorrent has been successfully compiled and tested on:</p>
|
<p>libtorrent has been successfully compiled and tested on:</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
|
|
|
@ -50,6 +50,8 @@ The current state includes the following features:
|
||||||
means it can resume a torrent downloaded by any client.
|
means it can resume a torrent downloaded by any client.
|
||||||
* adjusts the length of the request queue depending on download rate.
|
* adjusts the length of the request queue depending on download rate.
|
||||||
* supports the ``compact=1`` tracker parameter.
|
* supports the ``compact=1`` tracker parameter.
|
||||||
|
* selective downloading. The ability to select which parts of a torrent you
|
||||||
|
want to download.
|
||||||
|
|
||||||
__ http://home.elp.rr.com/tur/multitracker-spec.txt
|
__ http://home.elp.rr.com/tur/multitracker-spec.txt
|
||||||
.. _Azureus: http://azureus.sourceforge.net
|
.. _Azureus: http://azureus.sourceforge.net
|
||||||
|
@ -57,13 +59,7 @@ __ http://nolar.com/azureus/extended.htm
|
||||||
__ udp_tracker_protocol.html
|
__ udp_tracker_protocol.html
|
||||||
|
|
||||||
|
|
||||||
Functions that are yet to be implemented:
|
libtorrent is portable at least among Windows, MacOSX and other UNIX-systems. It uses Boost.Thread,
|
||||||
|
|
||||||
* better identification of peers that send bad data
|
|
||||||
* ip-filters
|
|
||||||
* file-level priority
|
|
||||||
|
|
||||||
libtorrent is portable at least among windows, macosx, and other UNIX-systems. It uses Boost.Thread,
|
|
||||||
Boost.Filesystem, Boost.Date_time and various other boost libraries as well as zlib.
|
Boost.Filesystem, Boost.Date_time and various other boost libraries as well as zlib.
|
||||||
|
|
||||||
libtorrent has been successfully compiled and tested on:
|
libtorrent has been successfully compiled and tested on:
|
||||||
|
|
|
@ -64,7 +64,7 @@ namespace
|
||||||
int decode_digit(char c)
|
int decode_digit(char c)
|
||||||
{
|
{
|
||||||
if (std::isdigit(c)) return c - '0';
|
if (std::isdigit(c)) return c - '0';
|
||||||
return std::toupper(c) - 'A' + 10;
|
return unsigned(c) - 'A' + 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
// takes a peer id and returns a valid boost::optional
|
// takes a peer id and returns a valid boost::optional
|
||||||
|
@ -75,9 +75,9 @@ namespace
|
||||||
{
|
{
|
||||||
fingerprint ret("..", 0, 0, 0, 0);
|
fingerprint ret("..", 0, 0, 0, 0);
|
||||||
|
|
||||||
if (id[0] != '-' || !std::isprint(id[1]) || !std::isprint(id[2])
|
if (id[0] != '-' || !std::isprint(id[1]) || (id[2] < '0')
|
||||||
|| !std::isalnum(id[3]) || !std::isalnum(id[4])
|
|| (id[3] < '0') || (id[4] < '0')
|
||||||
|| !std::isalnum(id[5]) || !std::isalnum(id[6])
|
|| (id[5] < '0') || (id[6] < '0')
|
||||||
|| id[7] != '-')
|
|| id[7] != '-')
|
||||||
return boost::optional<fingerprint>();
|
return boost::optional<fingerprint>();
|
||||||
|
|
||||||
|
@ -102,8 +102,8 @@ namespace
|
||||||
|
|
||||||
if (std::equal(id.begin()+4, id.begin()+8, "----"))
|
if (std::equal(id.begin()+4, id.begin()+8, "----"))
|
||||||
{
|
{
|
||||||
if (!std::isalnum(id[1]) || !std::isalnum(id[2])
|
if (!std::isalnum(id[1]) || (id[2] < '0')
|
||||||
|| !std::isalnum(id[3]))
|
|| (id[3] < '0'))
|
||||||
return boost::optional<fingerprint>();
|
return boost::optional<fingerprint>();
|
||||||
ret.major_version = decode_digit(id[1]);
|
ret.major_version = decode_digit(id[1]);
|
||||||
ret.minor_version = decode_digit(id[2]);
|
ret.minor_version = decode_digit(id[2]);
|
||||||
|
|
|
@ -2081,6 +2081,7 @@ namespace libtorrent
|
||||||
m_statistics.received_bytes(0, received);
|
m_statistics.received_bytes(0, received);
|
||||||
if (m_recv_pos < m_packet_size) break;
|
if (m_recv_pos < m_packet_size) break;
|
||||||
assert(m_recv_pos == m_packet_size);
|
assert(m_recv_pos == m_packet_size);
|
||||||
|
assert(m_packet_size == 20);
|
||||||
|
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#ifdef TORRENT_VERBOSE_LOGGING
|
||||||
{
|
{
|
||||||
|
|
|
@ -300,7 +300,7 @@ namespace libtorrent
|
||||||
m_currently_trying_tracker = 0;
|
m_currently_trying_tracker = 0;
|
||||||
|
|
||||||
m_duration = interval;
|
m_duration = interval;
|
||||||
if (peer_list.empty())
|
if (peer_list.empty() && !is_seed())
|
||||||
{
|
{
|
||||||
// if the peer list is empty, we should contact the
|
// if the peer list is empty, we should contact the
|
||||||
// tracker soon again to see if there are any peers
|
// tracker soon again to see if there are any peers
|
||||||
|
|
Loading…
Reference in New Issue