*** empty log message ***

This commit is contained in:
Arvid Norberg 2005-06-12 00:21:37 +00:00
parent 1bc22888a8
commit de63a70323
5 changed files with 14 additions and 23 deletions

View File

@ -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>

View File

@ -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:

View File

@ -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]);

View File

@ -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
{ {

View File

@ -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