*** empty log message ***
This commit is contained in:
parent
e003bb8ad5
commit
d26b6462b5
|
@ -191,6 +191,7 @@ means it can resume a torrent downloaded by any client.</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
|
<li>selective downloading. The ability to select which parts of a torrent you
|
||||||
want to download.</li>
|
want to download.</li>
|
||||||
|
<li>ip filter</li>
|
||||||
</ul>
|
</ul>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<p>libtorrent is portable at least among Windows, MacOSX and other UNIX-systems. It uses Boost.Thread,
|
<p>libtorrent is portable at least among Windows, MacOSX and other UNIX-systems. It uses Boost.Thread,
|
||||||
|
@ -813,7 +814,7 @@ void add_file(boost::filesystem::path file, size_type size);
|
||||||
the comment that belongs to this torrent. The comment can be retrieved with the
|
the comment that belongs to this torrent. The comment can be retrieved with the
|
||||||
<tt class="docutils literal"><span class="pre">comment()</span></tt> member.</p>
|
<tt class="docutils literal"><span class="pre">comment()</span></tt> member.</p>
|
||||||
<p><tt class="docutils literal"><span class="pre">set_piece_size()</span></tt> will set the size of each piece in this torrent. The piece size must
|
<p><tt class="docutils literal"><span class="pre">set_piece_size()</span></tt> will set the size of each piece in this torrent. The piece size must
|
||||||
be an even multiple of 2. i.e. usually something like 256 kB, 512 kB, 1024 kB etc. The
|
be an even multiple of 2. i.e. usually something like 256 kiB, 512 kiB, 1024 kiB etc. The
|
||||||
size is given in number of bytes.</p>
|
size is given in number of bytes.</p>
|
||||||
<p><tt class="docutils literal"><span class="pre">set_creator()</span></tt> is an optional attribute that can be used to identify your application
|
<p><tt class="docutils literal"><span class="pre">set_creator()</span></tt> is an optional attribute that can be used to identify your application
|
||||||
that was used to create the torrent file.</p>
|
that was used to create the torrent file.</p>
|
||||||
|
@ -2420,7 +2421,8 @@ int main(int argc, char* argv[])
|
||||||
|
|
||||||
if (argc != 4)
|
if (argc != 4)
|
||||||
{
|
{
|
||||||
std::cerr << "usage: make_torrent <output torrent-file> <announce url> <file or directory to create torrent from>\n";
|
std::cerr << "usage: make_torrent <output torrent-file> <announce url> "
|
||||||
|
"<file or directory to create torrent from>\n";
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,7 @@ The current state includes the following features:
|
||||||
* supports the ``compact=1`` tracker parameter.
|
* supports the ``compact=1`` tracker parameter.
|
||||||
* selective downloading. The ability to select which parts of a torrent you
|
* selective downloading. The ability to select which parts of a torrent you
|
||||||
want to download.
|
want to download.
|
||||||
|
* ip filter
|
||||||
|
|
||||||
__ 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
|
||||||
|
@ -714,7 +715,7 @@ the comment that belongs to this torrent. The comment can be retrieved with the
|
||||||
``comment()`` member.
|
``comment()`` member.
|
||||||
|
|
||||||
``set_piece_size()`` will set the size of each piece in this torrent. The piece size must
|
``set_piece_size()`` will set the size of each piece in this torrent. The piece size must
|
||||||
be an even multiple of 2. i.e. usually something like 256 kB, 512 kB, 1024 kB etc. The
|
be an even multiple of 2. i.e. usually something like 256 kiB, 512 kiB, 1024 kiB etc. The
|
||||||
size is given in number of bytes.
|
size is given in number of bytes.
|
||||||
|
|
||||||
``set_creator()`` is an optional attribute that can be used to identify your application
|
``set_creator()`` is an optional attribute that can be used to identify your application
|
||||||
|
@ -2482,7 +2483,8 @@ Shows how to create a torrent from a directory tree::
|
||||||
|
|
||||||
if (argc != 4)
|
if (argc != 4)
|
||||||
{
|
{
|
||||||
std::cerr << "usage: make_torrent <output torrent-file> <announce url> <file or directory to create torrent from>\n";
|
std::cerr << "usage: make_torrent <output torrent-file> <announce url> "
|
||||||
|
"<file or directory to create torrent from>\n";
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
namespace libtorrent
|
namespace libtorrent
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
struct logger;
|
struct logger;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -345,7 +345,7 @@ namespace libtorrent
|
||||||
torrent_handle get_handle() const;
|
torrent_handle get_handle() const;
|
||||||
|
|
||||||
// LOGGING
|
// LOGGING
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
logger* spawn_logger(const char* title);
|
logger* spawn_logger(const char* title);
|
||||||
|
|
||||||
virtual void debug_log(const std::string& line);
|
virtual void debug_log(const std::string& line);
|
||||||
|
|
|
@ -125,7 +125,7 @@ namespace libtorrent
|
||||||
|
|
||||||
address m_tracker_address;
|
address m_tracker_address;
|
||||||
|
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
virtual void debug_log(const std::string& line) = 0;
|
virtual void debug_log(const std::string& line) = 0;
|
||||||
#endif
|
#endif
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -215,7 +215,7 @@ namespace libtorrent
|
||||||
m_send_buffer += base64encode(auth);
|
m_send_buffer += base64encode(auth);
|
||||||
}
|
}
|
||||||
m_send_buffer += "\r\n\r\n";
|
m_send_buffer += "\r\n\r\n";
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester())
|
if (has_requester())
|
||||||
{
|
{
|
||||||
requester().debug_log("==> TRACKER_REQUEST [ str: " + m_send_buffer + " ]");
|
requester().debug_log("==> TRACKER_REQUEST [ str: " + m_send_buffer + " ]");
|
||||||
|
@ -231,7 +231,7 @@ namespace libtorrent
|
||||||
// the connections list.
|
// the connections list.
|
||||||
bool http_tracker_connection::tick()
|
bool http_tracker_connection::tick()
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
@ -246,7 +246,7 @@ namespace libtorrent
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester()) requester().debug_log("tracker connection tick");
|
if (has_requester()) requester().debug_log("tracker connection tick");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -287,7 +287,7 @@ namespace libtorrent
|
||||||
if (!m_socket->is_readable()) return false;
|
if (!m_socket->is_readable()) return false;
|
||||||
m_request_time = second_clock::universal_time();
|
m_request_time = second_clock::universal_time();
|
||||||
|
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester()) requester().debug_log("tracker connection socket readable");
|
if (has_requester()) requester().debug_log("tracker connection socket readable");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -316,7 +316,7 @@ namespace libtorrent
|
||||||
|
|
||||||
if (received > 0) m_recv_pos += received;
|
if (received > 0) m_recv_pos += received;
|
||||||
|
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester()) requester().debug_log("received: " + boost::lexical_cast<std::string>(m_recv_pos));
|
if (has_requester()) requester().debug_log("received: " + boost::lexical_cast<std::string>(m_recv_pos));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -337,7 +337,7 @@ namespace libtorrent
|
||||||
// if we don't have a full line yet, wait.
|
// if we don't have a full line yet, wait.
|
||||||
if (newline == end) return false;
|
if (newline == end) return false;
|
||||||
|
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester()) requester().debug_log(std::string(m_buffer.begin(), newline));
|
if (has_requester()) requester().debug_log(std::string(m_buffer.begin(), newline));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -379,7 +379,7 @@ namespace libtorrent
|
||||||
{
|
{
|
||||||
line.assign(m_buffer.begin(), newline);
|
line.assign(m_buffer.begin(), newline);
|
||||||
|
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester()) requester().debug_log(line);
|
if (has_requester()) requester().debug_log(line);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -447,7 +447,7 @@ namespace libtorrent
|
||||||
else if (line.size() < 3)
|
else if (line.size() < 3)
|
||||||
{
|
{
|
||||||
m_state = read_body;
|
m_state = read_body;
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester()) requester().debug_log("end of http header");
|
if (has_requester()) requester().debug_log("end of http header");
|
||||||
#endif
|
#endif
|
||||||
if (m_code >= 300 && m_code < 400)
|
if (m_code >= 300 && m_code < 400)
|
||||||
|
@ -463,7 +463,7 @@ namespace libtorrent
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester()) requester().debug_log("Redirecting to \"" + m_location + "\"");
|
if (has_requester()) requester().debug_log("Redirecting to \"" + m_location + "\"");
|
||||||
#endif
|
#endif
|
||||||
std::string::size_type i = m_location.find('?');
|
std::string::size_type i = m_location.find('?');
|
||||||
|
@ -529,7 +529,7 @@ namespace libtorrent
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
}
|
}
|
||||||
catch (std::exception&)
|
catch (std::exception&)
|
||||||
{
|
{
|
||||||
|
|
|
@ -813,7 +813,7 @@ namespace libtorrent
|
||||||
throw protocol_error("too many connections, refusing incoming connection"); // cause a disconnect
|
throw protocol_error("too many connections, refusing incoming connection"); // cause a disconnect
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (c.get_socket()->sender().ip() == m_torrent->current_tracker().ip())
|
if (c.get_socket()->sender().ip() == m_torrent->current_tracker().ip())
|
||||||
{
|
{
|
||||||
m_torrent->debug_log("overriding connection limit for tracker NAT-check");
|
m_torrent->debug_log("overriding connection limit for tracker NAT-check");
|
||||||
|
|
|
@ -321,7 +321,7 @@ namespace libtorrent
|
||||||
// connect to random peers from the list
|
// connect to random peers from the list
|
||||||
std::random_shuffle(peer_list.begin(), peer_list.end());
|
std::random_shuffle(peer_list.begin(), peer_list.end());
|
||||||
|
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
std::stringstream s;
|
std::stringstream s;
|
||||||
s << "TRACKER RESPONSE:\n"
|
s << "TRACKER RESPONSE:\n"
|
||||||
"interval: " << m_duration << "\n"
|
"interval: " << m_duration << "\n"
|
||||||
|
@ -348,7 +348,7 @@ namespace libtorrent
|
||||||
|
|
||||||
if (m_ses.m_ip_filter.access(a) == ip_filter::blocked)
|
if (m_ses.m_ip_filter.access(a) == ip_filter::blocked)
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
debug_log("blocked ip from tracker: " + i->ip);
|
debug_log("blocked ip from tracker: " + i->ip);
|
||||||
#endif
|
#endif
|
||||||
continue;
|
continue;
|
||||||
|
@ -1465,7 +1465,7 @@ namespace libtorrent
|
||||||
void torrent::tracker_request_timed_out(
|
void torrent::tracker_request_timed_out(
|
||||||
tracker_request const&)
|
tracker_request const&)
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
debug_log("*** tracker timed out");
|
debug_log("*** tracker timed out");
|
||||||
#endif
|
#endif
|
||||||
if (m_ses.m_alerts.should_post(alert::warning))
|
if (m_ses.m_alerts.should_post(alert::warning))
|
||||||
|
@ -1486,7 +1486,7 @@ namespace libtorrent
|
||||||
void torrent::tracker_request_error(tracker_request const&
|
void torrent::tracker_request_error(tracker_request const&
|
||||||
, int response_code, const std::string& str)
|
, int response_code, const std::string& str)
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
debug_log(std::string("*** tracker error: ") + str);
|
debug_log(std::string("*** tracker error: ") + str);
|
||||||
#endif
|
#endif
|
||||||
if (m_ses.m_alerts.should_post(alert::warning))
|
if (m_ses.m_alerts.should_post(alert::warning))
|
||||||
|
@ -1504,7 +1504,7 @@ namespace libtorrent
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
void torrent::debug_log(const std::string& line)
|
void torrent::debug_log(const std::string& line)
|
||||||
{
|
{
|
||||||
(*m_ses.m_logger) << line << "\n";
|
(*m_ses.m_logger) << line << "\n";
|
||||||
|
|
|
@ -256,7 +256,7 @@ namespace libtorrent
|
||||||
|
|
||||||
if (len < 8)
|
if (len < 8)
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester())
|
if (has_requester())
|
||||||
requester().debug_log("udp_tracker_connection: "
|
requester().debug_log("udp_tracker_connection: "
|
||||||
"got a message with size < 8, ignoring");
|
"got a message with size < 8, ignoring");
|
||||||
|
@ -282,7 +282,7 @@ namespace libtorrent
|
||||||
|
|
||||||
if (len < 20)
|
if (len < 20)
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester())
|
if (has_requester())
|
||||||
requester().debug_log("udp_tracker_connection: "
|
requester().debug_log("udp_tracker_connection: "
|
||||||
"got a message with size < 20, ignoring");
|
"got a message with size < 20, ignoring");
|
||||||
|
@ -330,7 +330,7 @@ namespace libtorrent
|
||||||
|
|
||||||
if (len < 8)
|
if (len < 8)
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester())
|
if (has_requester())
|
||||||
requester().debug_log("udp_tracker_connection: "
|
requester().debug_log("udp_tracker_connection: "
|
||||||
"got a message with size < 8, ignoring");
|
"got a message with size < 8, ignoring");
|
||||||
|
@ -356,7 +356,7 @@ namespace libtorrent
|
||||||
|
|
||||||
if (len < 20)
|
if (len < 20)
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester())
|
if (has_requester())
|
||||||
requester().debug_log("udp_tracker_connection: "
|
requester().debug_log("udp_tracker_connection: "
|
||||||
"got a message with size < 20, ignoring");
|
"got a message with size < 20, ignoring");
|
||||||
|
@ -383,7 +383,7 @@ namespace libtorrent
|
||||||
|
|
||||||
if (len < 8)
|
if (len < 8)
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester())
|
if (has_requester())
|
||||||
requester().debug_log("udp_tracker_connection: "
|
requester().debug_log("udp_tracker_connection: "
|
||||||
"got a message with size < 8, ignoring");
|
"got a message with size < 8, ignoring");
|
||||||
|
@ -404,7 +404,7 @@ namespace libtorrent
|
||||||
if (action != connect) return false;
|
if (action != connect) return false;
|
||||||
if (m_transaction_id != transaction)
|
if (m_transaction_id != transaction)
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester())
|
if (has_requester())
|
||||||
requester().debug_log("udp_tracker_connection: "
|
requester().debug_log("udp_tracker_connection: "
|
||||||
"got a message with incorrect transaction id, ignoring");
|
"got a message with incorrect transaction id, ignoring");
|
||||||
|
@ -414,7 +414,7 @@ namespace libtorrent
|
||||||
|
|
||||||
if (len < 16)
|
if (len < 16)
|
||||||
{
|
{
|
||||||
#ifdef TORRENT_VERBOSE_LOGGING
|
#if defined(TORRENT_VERBOSE_LOGGING) || defined(TORRENT_LOGGING)
|
||||||
if (has_requester())
|
if (has_requester())
|
||||||
requester().debug_log("udp_tracker_connection: "
|
requester().debug_log("udp_tracker_connection: "
|
||||||
"got a connection message size < 16, ignoring");
|
"got a connection message size < 16, ignoring");
|
||||||
|
|
Loading…
Reference in New Issue