mirror of
https://git.deluge-torrent.org/deluge
synced 2025-08-03 23:18:40 +00:00
re-add features that our isp lost in the backup
This commit is contained in:
parent
d9a783118a
commit
fde0c836aa
19 changed files with 924 additions and 699 deletions
|
@ -1,5 +1,7 @@
|
||||||
Deluge 0.5.7 (xx November 2007)
|
Deluge 0.5.7 (xx November 2007)
|
||||||
|
* Scrape support
|
||||||
* Manual force-recheck
|
* Manual force-recheck
|
||||||
|
* Add local peer discovery (aka local service discovery)
|
||||||
* Blocklist plugin will now display errors, instead of just crashing on a bad
|
* Blocklist plugin will now display errors, instead of just crashing on a bad
|
||||||
list or wrong type
|
list or wrong type
|
||||||
* Add torrent in paused state option
|
* Add torrent in paused state option
|
||||||
|
@ -7,6 +9,7 @@ Deluge 0.5.7 (xx November 2007)
|
||||||
* Fix ratio bugs (hopefully for the last time)
|
* Fix ratio bugs (hopefully for the last time)
|
||||||
* Add preference to only show file selection popup if torrent has multiple files
|
* Add preference to only show file selection popup if torrent has multiple files
|
||||||
* Fix pause all and resume all bugs
|
* Fix pause all and resume all bugs
|
||||||
|
* Fix client not loading if our website goes down (new version check failing)
|
||||||
* Allow torrent creation with no trackers
|
* Allow torrent creation with no trackers
|
||||||
* Scheduler plugin revamp by Ben Klein
|
* Scheduler plugin revamp by Ben Klein
|
||||||
* Fix ETA from going backwards
|
* Fix ETA from going backwards
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -65,6 +65,39 @@
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
</widget>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<widget class="GtkImageMenuItem" id="menuitem12">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
|
<property name="label" translatable="yes">_Remove Torrent</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<signal name="activate" handler="remove_torrent"/>
|
||||||
|
<child internal-child="image">
|
||||||
|
<widget class="GtkImage" id="menu-item-image9">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
|
<property name="stock">gtk-remove</property>
|
||||||
|
<property name="icon_size">1</property>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<widget class="GtkMenuItem" id="menuitem3">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
|
<property name="label" translatable="yes">_Tracker Options</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<child>
|
||||||
|
<widget class="GtkMenu" id="menu2">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkImageMenuItem" id="menuitem5">
|
<widget class="GtkImageMenuItem" id="menuitem5">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
|
@ -99,31 +132,29 @@
|
||||||
</widget>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkSeparatorMenuItem" id="separator">
|
<widget class="GtkImageMenuItem" id="menuitem4">
|
||||||
<property name="visible">True</property>
|
|
||||||
</widget>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<widget class="GtkImageMenuItem" id="menuitem12">
|
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
<property name="label" translatable="yes">_Remove Torrent</property>
|
<property name="label" translatable="yes">_Scrape Tracker</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<signal name="activate" handler="remove_torrent"/>
|
<signal name="activate" handler="scrape_tracker"/>
|
||||||
<child internal-child="image">
|
<child internal-child="image">
|
||||||
<widget class="GtkImage" id="menu-item-image9">
|
<widget class="GtkImage" id="menu-item-image16">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
||||||
<property name="stock">gtk-remove</property>
|
<property name="stock">gtk-info</property>
|
||||||
<property name="icon_size">1</property>
|
<property name="icon_size">1</property>
|
||||||
</widget>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
|
</widget>
|
||||||
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
|
<widget class="GtkSeparatorMenuItem" id="separator">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
|
|
||||||
</widget>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
|
@ -230,4 +261,3 @@
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
</glade-interface>
|
</glade-interface>
|
||||||
|
|
||||||
|
|
|
@ -82,6 +82,35 @@ namespace libtorrent
|
||||||
{ return std::auto_ptr<alert>(new tracker_warning_alert(*this)); }
|
{ return std::auto_ptr<alert>(new tracker_warning_alert(*this)); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct TORRENT_EXPORT scrape_reply_alert: torrent_alert
|
||||||
|
{
|
||||||
|
scrape_reply_alert(torrent_handle const& h
|
||||||
|
, int incomplete_
|
||||||
|
, int complete_
|
||||||
|
, std::string const& msg)
|
||||||
|
: torrent_alert(h, alert::info, msg)
|
||||||
|
, incomplete(incomplete_)
|
||||||
|
, complete(complete_)
|
||||||
|
{}
|
||||||
|
|
||||||
|
int incomplete;
|
||||||
|
int complete;
|
||||||
|
|
||||||
|
virtual std::auto_ptr<alert> clone() const
|
||||||
|
{ return std::auto_ptr<alert>(new scrape_reply_alert(*this)); }
|
||||||
|
};
|
||||||
|
|
||||||
|
struct TORRENT_EXPORT scrape_failed_alert: torrent_alert
|
||||||
|
{
|
||||||
|
scrape_failed_alert(torrent_handle const& h
|
||||||
|
, std::string const& msg)
|
||||||
|
: torrent_alert(h, alert::warning, msg)
|
||||||
|
{}
|
||||||
|
|
||||||
|
virtual std::auto_ptr<alert> clone() const
|
||||||
|
{ return std::auto_ptr<alert>(new scrape_failed_alert(*this)); }
|
||||||
|
};
|
||||||
|
|
||||||
struct TORRENT_EXPORT tracker_reply_alert: torrent_alert
|
struct TORRENT_EXPORT tracker_reply_alert: torrent_alert
|
||||||
{
|
{
|
||||||
tracker_reply_alert(torrent_handle const& h
|
tracker_reply_alert(torrent_handle const& h
|
||||||
|
|
|
@ -309,6 +309,8 @@ namespace libtorrent
|
||||||
virtual void tracker_request_error(tracker_request const& r
|
virtual void tracker_request_error(tracker_request const& r
|
||||||
, int response_code, const std::string& str);
|
, int response_code, const std::string& str);
|
||||||
virtual void tracker_warning(std::string const& msg);
|
virtual void tracker_warning(std::string const& msg);
|
||||||
|
virtual void tracker_scrape_response(tracker_request const& req
|
||||||
|
, int complete, int incomplete, int downloaded);
|
||||||
|
|
||||||
// generates a request string for sending
|
// generates a request string for sending
|
||||||
// to the tracker
|
// to the tracker
|
||||||
|
@ -332,6 +334,7 @@ namespace libtorrent
|
||||||
// forcefully sets next_announce to the current time
|
// forcefully sets next_announce to the current time
|
||||||
void force_tracker_request();
|
void force_tracker_request();
|
||||||
void force_tracker_request(ptime);
|
void force_tracker_request(ptime);
|
||||||
|
void scrape_tracker();
|
||||||
|
|
||||||
// sets the username and password that will be sent to
|
// sets the username and password that will be sent to
|
||||||
// the tracker
|
// the tracker
|
||||||
|
|
|
@ -94,15 +94,17 @@ namespace libtorrent
|
||||||
, upload_rate(0)
|
, upload_rate(0)
|
||||||
, download_payload_rate(0)
|
, download_payload_rate(0)
|
||||||
, upload_payload_rate(0)
|
, upload_payload_rate(0)
|
||||||
|
, num_seeds(0)
|
||||||
, num_peers(0)
|
, num_peers(0)
|
||||||
, num_complete(-1)
|
, num_complete(-1)
|
||||||
, num_incomplete(-1)
|
, num_incomplete(-1)
|
||||||
|
, list_seeds(0)
|
||||||
|
, list_peers(0)
|
||||||
, pieces(0)
|
, pieces(0)
|
||||||
, num_pieces(0)
|
, num_pieces(0)
|
||||||
, total_done(0)
|
, total_done(0)
|
||||||
, total_wanted_done(0)
|
, total_wanted_done(0)
|
||||||
, total_wanted(0)
|
, total_wanted(0)
|
||||||
, num_seeds(0)
|
|
||||||
, distributed_copies(0.f)
|
, distributed_copies(0.f)
|
||||||
, block_size(0)
|
, block_size(0)
|
||||||
, num_uploads(0)
|
, num_uploads(0)
|
||||||
|
@ -159,8 +161,12 @@ namespace libtorrent
|
||||||
float download_payload_rate;
|
float download_payload_rate;
|
||||||
float upload_payload_rate;
|
float upload_payload_rate;
|
||||||
|
|
||||||
|
// the number of peers this torrent is connected to
|
||||||
|
// that are seeding.
|
||||||
|
int num_seeds;
|
||||||
|
|
||||||
// the number of peers this torrent
|
// the number of peers this torrent
|
||||||
// is connected to.
|
// is connected to (including seeds).
|
||||||
int num_peers;
|
int num_peers;
|
||||||
|
|
||||||
// if the tracker sends scrape info in its
|
// if the tracker sends scrape info in its
|
||||||
|
@ -171,6 +177,15 @@ namespace libtorrent
|
||||||
int num_complete;
|
int num_complete;
|
||||||
int num_incomplete;
|
int num_incomplete;
|
||||||
|
|
||||||
|
// this is the number of seeds whose IP we know
|
||||||
|
// but are not necessarily connected to
|
||||||
|
int list_seeds;
|
||||||
|
|
||||||
|
// this is the number of peers whose IP we know
|
||||||
|
// (including seeds), but are not necessarily
|
||||||
|
// connected to
|
||||||
|
int list_peers;
|
||||||
|
|
||||||
const std::vector<bool>* pieces;
|
const std::vector<bool>* pieces;
|
||||||
|
|
||||||
// this is the number of pieces the client has
|
// this is the number of pieces the client has
|
||||||
|
@ -193,10 +208,6 @@ namespace libtorrent
|
||||||
// in case any pieces are filtered as not wanted
|
// in case any pieces are filtered as not wanted
|
||||||
size_type total_wanted;
|
size_type total_wanted;
|
||||||
|
|
||||||
// the number of peers this torrent is connected to
|
|
||||||
// that are seeding.
|
|
||||||
int num_seeds;
|
|
||||||
|
|
||||||
// the number of distributed copies of the file.
|
// the number of distributed copies of the file.
|
||||||
// note that one copy may be spread out among many peers.
|
// note that one copy may be spread out among many peers.
|
||||||
//
|
//
|
||||||
|
@ -345,6 +356,9 @@ namespace libtorrent
|
||||||
// timed out.
|
// timed out.
|
||||||
void force_reannounce(boost::posix_time::time_duration) const;
|
void force_reannounce(boost::posix_time::time_duration) const;
|
||||||
|
|
||||||
|
// performs a scrape request
|
||||||
|
void scrape_tracker() const;
|
||||||
|
|
||||||
// returns the name of this torrent, in case it doesn't
|
// returns the name of this torrent, in case it doesn't
|
||||||
// have metadata it returns the name assigned to it
|
// have metadata it returns the name assigned to it
|
||||||
// when it was added.
|
// when it was added.
|
||||||
|
|
|
@ -122,6 +122,8 @@ namespace libtorrent
|
||||||
request_callback(): m_manager(0) {}
|
request_callback(): m_manager(0) {}
|
||||||
virtual ~request_callback() {}
|
virtual ~request_callback() {}
|
||||||
virtual void tracker_warning(std::string const& msg) = 0;
|
virtual void tracker_warning(std::string const& msg) = 0;
|
||||||
|
virtual void tracker_scrape_response(tracker_request const& req
|
||||||
|
, int complete, int incomplete, int downloads) {}
|
||||||
virtual void tracker_response(
|
virtual void tracker_response(
|
||||||
tracker_request const&
|
tracker_request const&
|
||||||
, std::vector<peer_entry>& peers
|
, std::vector<peer_entry>& peers
|
||||||
|
@ -191,7 +193,7 @@ namespace libtorrent
|
||||||
: timeout_handler
|
: timeout_handler
|
||||||
{
|
{
|
||||||
tracker_connection(tracker_manager& man
|
tracker_connection(tracker_manager& man
|
||||||
, tracker_request req
|
, tracker_request const& req
|
||||||
, asio::strand& str
|
, asio::strand& str
|
||||||
, address bind_interface
|
, address bind_interface
|
||||||
, boost::weak_ptr<request_callback> r);
|
, boost::weak_ptr<request_callback> r);
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
@ -15,15 +15,11 @@
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
|
|
||||||
srcdir = @srcdir@
|
|
||||||
top_srcdir = @top_srcdir@
|
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
pkgdatadir = $(datadir)/@PACKAGE@
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
pkglibdir = $(libdir)/@PACKAGE@
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
pkgincludedir = $(includedir)/@PACKAGE@
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
top_builddir = ..
|
|
||||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
INSTALL = @INSTALL@
|
|
||||||
install_sh_DATA = $(install_sh) -c -m 644
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
install_sh_PROGRAM = $(install_sh) -c
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
install_sh_SCRIPT = $(install_sh) -c
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
@ -64,6 +60,7 @@ libLTLIBRARIES_INSTALL = $(INSTALL)
|
||||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||||
libtorrent_la_DEPENDENCIES =
|
libtorrent_la_DEPENDENCIES =
|
||||||
am__libtorrent_la_SOURCES_DIST = entry.cpp escape_string.cpp \
|
am__libtorrent_la_SOURCES_DIST = entry.cpp escape_string.cpp \
|
||||||
|
assert.cpp enum_net.cpp broadcast_socket.cpp \
|
||||||
peer_connection.cpp bt_peer_connection.cpp \
|
peer_connection.cpp bt_peer_connection.cpp \
|
||||||
web_peer_connection.cpp natpmp.cpp piece_picker.cpp policy.cpp \
|
web_peer_connection.cpp natpmp.cpp piece_picker.cpp policy.cpp \
|
||||||
session.cpp session_impl.cpp sha1.cpp stat.cpp storage.cpp \
|
session.cpp session_impl.cpp sha1.cpp stat.cpp storage.cpp \
|
||||||
|
@ -83,12 +80,12 @@ am__libtorrent_la_SOURCES_DIST = entry.cpp escape_string.cpp \
|
||||||
@USE_DHT_TRUE@ find_data.lo node.lo node_id.lo refresh.lo \
|
@USE_DHT_TRUE@ find_data.lo node.lo node_id.lo refresh.lo \
|
||||||
@USE_DHT_TRUE@ routing_table.lo rpc_manager.lo \
|
@USE_DHT_TRUE@ routing_table.lo rpc_manager.lo \
|
||||||
@USE_DHT_TRUE@ traversal_algorithm.lo
|
@USE_DHT_TRUE@ traversal_algorithm.lo
|
||||||
am_libtorrent_la_OBJECTS = entry.lo escape_string.lo \
|
am_libtorrent_la_OBJECTS = entry.lo escape_string.lo assert.lo \
|
||||||
peer_connection.lo bt_peer_connection.lo \
|
enum_net.lo broadcast_socket.lo peer_connection.lo \
|
||||||
web_peer_connection.lo natpmp.lo piece_picker.lo policy.lo \
|
bt_peer_connection.lo web_peer_connection.lo natpmp.lo \
|
||||||
session.lo session_impl.lo sha1.lo stat.lo storage.lo \
|
piece_picker.lo policy.lo session.lo session_impl.lo sha1.lo \
|
||||||
torrent.lo torrent_handle.lo pe_crypto.lo torrent_info.lo \
|
stat.lo storage.lo torrent.lo torrent_handle.lo pe_crypto.lo \
|
||||||
tracker_manager.lo http_connection.lo \
|
torrent_info.lo tracker_manager.lo http_connection.lo \
|
||||||
http_tracker_connection.lo udp_tracker_connection.lo alert.lo \
|
http_tracker_connection.lo udp_tracker_connection.lo alert.lo \
|
||||||
identify_client.lo ip_filter.lo file.lo metadata_transfer.lo \
|
identify_client.lo ip_filter.lo file.lo metadata_transfer.lo \
|
||||||
logger.lo file_pool.lo ut_pex.lo lsd.lo upnp.lo \
|
logger.lo file_pool.lo ut_pex.lo lsd.lo upnp.lo \
|
||||||
|
@ -96,17 +93,21 @@ am_libtorrent_la_OBJECTS = entry.lo escape_string.lo \
|
||||||
http_stream.lo connection_queue.lo disk_io_thread.lo \
|
http_stream.lo connection_queue.lo disk_io_thread.lo \
|
||||||
$(am__objects_1)
|
$(am__objects_1)
|
||||||
libtorrent_la_OBJECTS = $(am_libtorrent_la_OBJECTS)
|
libtorrent_la_OBJECTS = $(am_libtorrent_la_OBJECTS)
|
||||||
DEFAULT_INCLUDES = -I. -I$(srcdir)
|
libtorrent_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
|
||||||
|
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
||||||
|
$(CXXFLAGS) $(libtorrent_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
DEFAULT_INCLUDES = -I.@am__isrc@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||||
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
|
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
$(AM_CXXFLAGS) $(CXXFLAGS)
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||||
CXXLD = $(CXX)
|
CXXLD = $(CXX)
|
||||||
CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||||
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
|
||||||
|
$(LDFLAGS) -o $@
|
||||||
SOURCES = $(libtorrent_la_SOURCES)
|
SOURCES = $(libtorrent_la_SOURCES)
|
||||||
DIST_SOURCES = $(am__libtorrent_la_SOURCES_DIST)
|
DIST_SOURCES = $(am__libtorrent_la_SOURCES_DIST)
|
||||||
HEADERS = $(noinst_HEADERS)
|
HEADERS = $(noinst_HEADERS)
|
||||||
|
@ -114,8 +115,6 @@ ETAGS = etags
|
||||||
CTAGS = ctags
|
CTAGS = ctags
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
AMDEP_FALSE = @AMDEP_FALSE@
|
|
||||||
AMDEP_TRUE = @AMDEP_TRUE@
|
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
AR = @AR@
|
AR = @AR@
|
||||||
AUTOCONF = @AUTOCONF@
|
AUTOCONF = @AUTOCONF@
|
||||||
|
@ -141,21 +140,22 @@ CYGPATH_W = @CYGPATH_W@
|
||||||
DEBUGFLAGS = @DEBUGFLAGS@
|
DEBUGFLAGS = @DEBUGFLAGS@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
DUMPBIN = @DUMPBIN@
|
ECHO = @ECHO@
|
||||||
ECHO_C = @ECHO_C@
|
ECHO_C = @ECHO_C@
|
||||||
ECHO_N = @ECHO_N@
|
ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
EXAMPLESDIR = @EXAMPLESDIR@
|
EXAMPLESDIR = @EXAMPLESDIR@
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
FGREP = @FGREP@
|
F77 = @F77@
|
||||||
|
FFLAGS = @FFLAGS@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
HAVE_SSL = @HAVE_SSL@
|
HAVE_SSL = @HAVE_SSL@
|
||||||
|
INSTALL = @INSTALL@
|
||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
LD = @LD@
|
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
LIBOBJS = @LIBOBJS@
|
LIBOBJS = @LIBOBJS@
|
||||||
LIBS = @LIBS@
|
LIBS = @LIBS@
|
||||||
|
@ -163,7 +163,7 @@ LIBTOOL = @LIBTOOL@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
NM = @NM@
|
MKDIR_P = @MKDIR_P@
|
||||||
OBJEXT = @OBJEXT@
|
OBJEXT = @OBJEXT@
|
||||||
PACKAGE = @PACKAGE@
|
PACKAGE = @PACKAGE@
|
||||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
@ -180,22 +180,18 @@ SED = @SED@
|
||||||
SET_MAKE = @SET_MAKE@
|
SET_MAKE = @SET_MAKE@
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
USE_DHT_FALSE = @USE_DHT_FALSE@
|
|
||||||
USE_DHT_TRUE = @USE_DHT_TRUE@
|
|
||||||
USE_ENCRYPTION_FALSE = @USE_ENCRYPTION_FALSE@
|
|
||||||
USE_ENCRYPTION_TRUE = @USE_ENCRYPTION_TRUE@
|
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
ZLIB = @ZLIB@
|
ZLIB = @ZLIB@
|
||||||
ZLIBDIR = @ZLIBDIR@
|
ZLIBDIR = @ZLIBDIR@
|
||||||
ZLIBINCL = @ZLIBINCL@
|
ZLIBINCL = @ZLIBINCL@
|
||||||
|
abs_builddir = @abs_builddir@
|
||||||
|
abs_srcdir = @abs_srcdir@
|
||||||
|
abs_top_builddir = @abs_top_builddir@
|
||||||
|
abs_top_srcdir = @abs_top_srcdir@
|
||||||
ac_ct_CC = @ac_ct_CC@
|
ac_ct_CC = @ac_ct_CC@
|
||||||
ac_ct_CXX = @ac_ct_CXX@
|
ac_ct_CXX = @ac_ct_CXX@
|
||||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
ac_ct_F77 = @ac_ct_F77@
|
||||||
acx_pthread_config = @acx_pthread_config@
|
acx_pthread_config = @acx_pthread_config@
|
||||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
|
||||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
|
||||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
|
||||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
|
||||||
am__include = @am__include@
|
am__include = @am__include@
|
||||||
am__leading_dot = @am__leading_dot@
|
am__leading_dot = @am__leading_dot@
|
||||||
am__quote = @am__quote@
|
am__quote = @am__quote@
|
||||||
|
@ -207,6 +203,7 @@ build_alias = @build_alias@
|
||||||
build_cpu = @build_cpu@
|
build_cpu = @build_cpu@
|
||||||
build_os = @build_os@
|
build_os = @build_os@
|
||||||
build_vendor = @build_vendor@
|
build_vendor = @build_vendor@
|
||||||
|
builddir = @builddir@
|
||||||
datadir = @datadir@
|
datadir = @datadir@
|
||||||
datarootdir = @datarootdir@
|
datarootdir = @datarootdir@
|
||||||
docdir = @docdir@
|
docdir = @docdir@
|
||||||
|
@ -225,7 +222,6 @@ libdir = @libdir@
|
||||||
libexecdir = @libexecdir@
|
libexecdir = @libexecdir@
|
||||||
localedir = @localedir@
|
localedir = @localedir@
|
||||||
localstatedir = @localstatedir@
|
localstatedir = @localstatedir@
|
||||||
lt_ECHO = @lt_ECHO@
|
|
||||||
mandir = @mandir@
|
mandir = @mandir@
|
||||||
mkdir_p = @mkdir_p@
|
mkdir_p = @mkdir_p@
|
||||||
oldincludedir = @oldincludedir@
|
oldincludedir = @oldincludedir@
|
||||||
|
@ -235,8 +231,11 @@ program_transform_name = @program_transform_name@
|
||||||
psdir = @psdir@
|
psdir = @psdir@
|
||||||
sbindir = @sbindir@
|
sbindir = @sbindir@
|
||||||
sharedstatedir = @sharedstatedir@
|
sharedstatedir = @sharedstatedir@
|
||||||
|
srcdir = @srcdir@
|
||||||
sysconfdir = @sysconfdir@
|
sysconfdir = @sysconfdir@
|
||||||
target_alias = @target_alias@
|
target_alias = @target_alias@
|
||||||
|
top_builddir = @top_builddir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
lib_LTLIBRARIES = libtorrent.la
|
lib_LTLIBRARIES = libtorrent.la
|
||||||
@USE_DHT_TRUE@kademlia_sources = kademlia/closest_nodes.cpp \
|
@USE_DHT_TRUE@kademlia_sources = kademlia/closest_nodes.cpp \
|
||||||
@USE_DHT_TRUE@kademlia/dht_tracker.cpp \
|
@USE_DHT_TRUE@kademlia/dht_tracker.cpp \
|
||||||
|
@ -249,6 +248,7 @@ lib_LTLIBRARIES = libtorrent.la
|
||||||
@USE_DHT_TRUE@kademlia/traversal_algorithm.cpp
|
@USE_DHT_TRUE@kademlia/traversal_algorithm.cpp
|
||||||
|
|
||||||
libtorrent_la_SOURCES = entry.cpp escape_string.cpp \
|
libtorrent_la_SOURCES = entry.cpp escape_string.cpp \
|
||||||
|
assert.cpp enum_net.cpp broadcast_socket.cpp \
|
||||||
peer_connection.cpp bt_peer_connection.cpp web_peer_connection.cpp \
|
peer_connection.cpp bt_peer_connection.cpp web_peer_connection.cpp \
|
||||||
natpmp.cpp piece_picker.cpp policy.cpp session.cpp session_impl.cpp sha1.cpp \
|
natpmp.cpp piece_picker.cpp policy.cpp session.cpp session_impl.cpp sha1.cpp \
|
||||||
stat.cpp storage.cpp torrent.cpp torrent_handle.cpp pe_crypto.cpp \
|
stat.cpp storage.cpp torrent.cpp torrent_handle.cpp pe_crypto.cpp \
|
||||||
|
@ -263,14 +263,17 @@ $(kademlia_sources)
|
||||||
noinst_HEADERS = \
|
noinst_HEADERS = \
|
||||||
$(top_srcdir)/include/libtorrent/alert.hpp \
|
$(top_srcdir)/include/libtorrent/alert.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/alert_types.hpp \
|
$(top_srcdir)/include/libtorrent/alert_types.hpp \
|
||||||
|
$(top_srcdir)/include/libtorrent/assert.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/aux_/session_impl.hpp \
|
$(top_srcdir)/include/libtorrent/aux_/session_impl.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/bandwidth_manager.hpp \
|
$(top_srcdir)/include/libtorrent/bandwidth_manager.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/bencode.hpp \
|
$(top_srcdir)/include/libtorrent/bencode.hpp \
|
||||||
|
$(top_srcdir)/include/libtorrent/broadcast_socket.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/buffer.hpp \
|
$(top_srcdir)/include/libtorrent/buffer.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/connection_queue.hpp \
|
$(top_srcdir)/include/libtorrent/connection_queue.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/debug.hpp \
|
$(top_srcdir)/include/libtorrent/debug.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/disk_io_thread.hpp \
|
$(top_srcdir)/include/libtorrent/disk_io_thread.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/entry.hpp \
|
$(top_srcdir)/include/libtorrent/entry.hpp \
|
||||||
|
$(top_srcdir)/include/libtorrent/enum_net.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/escape_string.hpp \
|
$(top_srcdir)/include/libtorrent/escape_string.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/extensions.hpp \
|
$(top_srcdir)/include/libtorrent/extensions.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/extensions/metadata_transfer.hpp \
|
$(top_srcdir)/include/libtorrent/extensions/metadata_transfer.hpp \
|
||||||
|
@ -290,6 +293,7 @@ $(top_srcdir)/include/libtorrent/intrusive_ptr_base.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/invariant_check.hpp \
|
$(top_srcdir)/include/libtorrent/invariant_check.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/io.hpp \
|
$(top_srcdir)/include/libtorrent/io.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/ip_filter.hpp \
|
$(top_srcdir)/include/libtorrent/ip_filter.hpp \
|
||||||
|
$(top_srcdir)/include/libtorrent/chained_buffer.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/lsd.hpp \
|
$(top_srcdir)/include/libtorrent/lsd.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/peer.hpp \
|
$(top_srcdir)/include/libtorrent/peer.hpp \
|
||||||
$(top_srcdir)/include/libtorrent/peer_connection.hpp \
|
$(top_srcdir)/include/libtorrent/peer_connection.hpp \
|
||||||
|
@ -362,7 +366,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||||
@$(NORMAL_INSTALL)
|
@$(NORMAL_INSTALL)
|
||||||
test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
|
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
|
||||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||||
if test -f $$p; then \
|
if test -f $$p; then \
|
||||||
f=$(am__strip_dir) \
|
f=$(am__strip_dir) \
|
||||||
|
@ -373,7 +377,7 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||||
|
|
||||||
uninstall-libLTLIBRARIES:
|
uninstall-libLTLIBRARIES:
|
||||||
@$(NORMAL_UNINSTALL)
|
@$(NORMAL_UNINSTALL)
|
||||||
@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||||
p=$(am__strip_dir) \
|
p=$(am__strip_dir) \
|
||||||
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
|
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
|
||||||
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
|
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
|
||||||
|
@ -388,7 +392,7 @@ clean-libLTLIBRARIES:
|
||||||
rm -f "$${dir}/so_locations"; \
|
rm -f "$${dir}/so_locations"; \
|
||||||
done
|
done
|
||||||
libtorrent.la: $(libtorrent_la_OBJECTS) $(libtorrent_la_DEPENDENCIES)
|
libtorrent.la: $(libtorrent_la_OBJECTS) $(libtorrent_la_DEPENDENCIES)
|
||||||
$(CXXLINK) -rpath $(libdir) $(libtorrent_la_LDFLAGS) $(libtorrent_la_OBJECTS) $(libtorrent_la_LIBADD) $(LIBS)
|
$(libtorrent_la_LINK) -rpath $(libdir) $(libtorrent_la_OBJECTS) $(libtorrent_la_LIBADD) $(LIBS)
|
||||||
|
|
||||||
mostlyclean-compile:
|
mostlyclean-compile:
|
||||||
-rm -f *.$(OBJEXT)
|
-rm -f *.$(OBJEXT)
|
||||||
|
@ -397,12 +401,15 @@ distclean-compile:
|
||||||
-rm -f *.tab.c
|
-rm -f *.tab.c
|
||||||
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alert.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alert.Plo@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assert.Plo@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/broadcast_socket.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bt_peer_connection.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bt_peer_connection.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closest_nodes.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closest_nodes.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connection_queue.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connection_queue.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dht_tracker.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dht_tracker.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disk_io_thread.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disk_io_thread.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entry.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entry.Plo@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enum_net.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/escape_string.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/escape_string.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_pool.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_pool.Plo@am__quote@
|
||||||
|
@ -444,88 +451,88 @@ distclean-compile:
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/web_peer_connection.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/web_peer_connection.Plo@am__quote@
|
||||||
|
|
||||||
.cpp.o:
|
.cpp.o:
|
||||||
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
|
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
|
||||||
|
|
||||||
.cpp.obj:
|
.cpp.obj:
|
||||||
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||||
|
|
||||||
.cpp.lo:
|
.cpp.lo:
|
||||||
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
|
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
|
||||||
|
|
||||||
closest_nodes.lo: kademlia/closest_nodes.cpp
|
closest_nodes.lo: kademlia/closest_nodes.cpp
|
||||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT closest_nodes.lo -MD -MP -MF "$(DEPDIR)/closest_nodes.Tpo" -c -o closest_nodes.lo `test -f 'kademlia/closest_nodes.cpp' || echo '$(srcdir)/'`kademlia/closest_nodes.cpp; \
|
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT closest_nodes.lo -MD -MP -MF $(DEPDIR)/closest_nodes.Tpo -c -o closest_nodes.lo `test -f 'kademlia/closest_nodes.cpp' || echo '$(srcdir)/'`kademlia/closest_nodes.cpp
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/closest_nodes.Tpo" "$(DEPDIR)/closest_nodes.Plo"; else rm -f "$(DEPDIR)/closest_nodes.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/closest_nodes.Tpo $(DEPDIR)/closest_nodes.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/closest_nodes.cpp' object='closest_nodes.lo' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/closest_nodes.cpp' object='closest_nodes.lo' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o closest_nodes.lo `test -f 'kademlia/closest_nodes.cpp' || echo '$(srcdir)/'`kademlia/closest_nodes.cpp
|
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o closest_nodes.lo `test -f 'kademlia/closest_nodes.cpp' || echo '$(srcdir)/'`kademlia/closest_nodes.cpp
|
||||||
|
|
||||||
dht_tracker.lo: kademlia/dht_tracker.cpp
|
dht_tracker.lo: kademlia/dht_tracker.cpp
|
||||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dht_tracker.lo -MD -MP -MF "$(DEPDIR)/dht_tracker.Tpo" -c -o dht_tracker.lo `test -f 'kademlia/dht_tracker.cpp' || echo '$(srcdir)/'`kademlia/dht_tracker.cpp; \
|
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dht_tracker.lo -MD -MP -MF $(DEPDIR)/dht_tracker.Tpo -c -o dht_tracker.lo `test -f 'kademlia/dht_tracker.cpp' || echo '$(srcdir)/'`kademlia/dht_tracker.cpp
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/dht_tracker.Tpo" "$(DEPDIR)/dht_tracker.Plo"; else rm -f "$(DEPDIR)/dht_tracker.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/dht_tracker.Tpo $(DEPDIR)/dht_tracker.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/dht_tracker.cpp' object='dht_tracker.lo' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/dht_tracker.cpp' object='dht_tracker.lo' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dht_tracker.lo `test -f 'kademlia/dht_tracker.cpp' || echo '$(srcdir)/'`kademlia/dht_tracker.cpp
|
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dht_tracker.lo `test -f 'kademlia/dht_tracker.cpp' || echo '$(srcdir)/'`kademlia/dht_tracker.cpp
|
||||||
|
|
||||||
find_data.lo: kademlia/find_data.cpp
|
find_data.lo: kademlia/find_data.cpp
|
||||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT find_data.lo -MD -MP -MF "$(DEPDIR)/find_data.Tpo" -c -o find_data.lo `test -f 'kademlia/find_data.cpp' || echo '$(srcdir)/'`kademlia/find_data.cpp; \
|
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT find_data.lo -MD -MP -MF $(DEPDIR)/find_data.Tpo -c -o find_data.lo `test -f 'kademlia/find_data.cpp' || echo '$(srcdir)/'`kademlia/find_data.cpp
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/find_data.Tpo" "$(DEPDIR)/find_data.Plo"; else rm -f "$(DEPDIR)/find_data.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/find_data.Tpo $(DEPDIR)/find_data.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/find_data.cpp' object='find_data.lo' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/find_data.cpp' object='find_data.lo' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o find_data.lo `test -f 'kademlia/find_data.cpp' || echo '$(srcdir)/'`kademlia/find_data.cpp
|
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o find_data.lo `test -f 'kademlia/find_data.cpp' || echo '$(srcdir)/'`kademlia/find_data.cpp
|
||||||
|
|
||||||
node.lo: kademlia/node.cpp
|
node.lo: kademlia/node.cpp
|
||||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT node.lo -MD -MP -MF "$(DEPDIR)/node.Tpo" -c -o node.lo `test -f 'kademlia/node.cpp' || echo '$(srcdir)/'`kademlia/node.cpp; \
|
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT node.lo -MD -MP -MF $(DEPDIR)/node.Tpo -c -o node.lo `test -f 'kademlia/node.cpp' || echo '$(srcdir)/'`kademlia/node.cpp
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/node.Tpo" "$(DEPDIR)/node.Plo"; else rm -f "$(DEPDIR)/node.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/node.Tpo $(DEPDIR)/node.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/node.cpp' object='node.lo' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/node.cpp' object='node.lo' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o node.lo `test -f 'kademlia/node.cpp' || echo '$(srcdir)/'`kademlia/node.cpp
|
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o node.lo `test -f 'kademlia/node.cpp' || echo '$(srcdir)/'`kademlia/node.cpp
|
||||||
|
|
||||||
node_id.lo: kademlia/node_id.cpp
|
node_id.lo: kademlia/node_id.cpp
|
||||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT node_id.lo -MD -MP -MF "$(DEPDIR)/node_id.Tpo" -c -o node_id.lo `test -f 'kademlia/node_id.cpp' || echo '$(srcdir)/'`kademlia/node_id.cpp; \
|
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT node_id.lo -MD -MP -MF $(DEPDIR)/node_id.Tpo -c -o node_id.lo `test -f 'kademlia/node_id.cpp' || echo '$(srcdir)/'`kademlia/node_id.cpp
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/node_id.Tpo" "$(DEPDIR)/node_id.Plo"; else rm -f "$(DEPDIR)/node_id.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/node_id.Tpo $(DEPDIR)/node_id.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/node_id.cpp' object='node_id.lo' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/node_id.cpp' object='node_id.lo' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o node_id.lo `test -f 'kademlia/node_id.cpp' || echo '$(srcdir)/'`kademlia/node_id.cpp
|
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o node_id.lo `test -f 'kademlia/node_id.cpp' || echo '$(srcdir)/'`kademlia/node_id.cpp
|
||||||
|
|
||||||
refresh.lo: kademlia/refresh.cpp
|
refresh.lo: kademlia/refresh.cpp
|
||||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT refresh.lo -MD -MP -MF "$(DEPDIR)/refresh.Tpo" -c -o refresh.lo `test -f 'kademlia/refresh.cpp' || echo '$(srcdir)/'`kademlia/refresh.cpp; \
|
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT refresh.lo -MD -MP -MF $(DEPDIR)/refresh.Tpo -c -o refresh.lo `test -f 'kademlia/refresh.cpp' || echo '$(srcdir)/'`kademlia/refresh.cpp
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/refresh.Tpo" "$(DEPDIR)/refresh.Plo"; else rm -f "$(DEPDIR)/refresh.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/refresh.Tpo $(DEPDIR)/refresh.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/refresh.cpp' object='refresh.lo' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/refresh.cpp' object='refresh.lo' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o refresh.lo `test -f 'kademlia/refresh.cpp' || echo '$(srcdir)/'`kademlia/refresh.cpp
|
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o refresh.lo `test -f 'kademlia/refresh.cpp' || echo '$(srcdir)/'`kademlia/refresh.cpp
|
||||||
|
|
||||||
routing_table.lo: kademlia/routing_table.cpp
|
routing_table.lo: kademlia/routing_table.cpp
|
||||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT routing_table.lo -MD -MP -MF "$(DEPDIR)/routing_table.Tpo" -c -o routing_table.lo `test -f 'kademlia/routing_table.cpp' || echo '$(srcdir)/'`kademlia/routing_table.cpp; \
|
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT routing_table.lo -MD -MP -MF $(DEPDIR)/routing_table.Tpo -c -o routing_table.lo `test -f 'kademlia/routing_table.cpp' || echo '$(srcdir)/'`kademlia/routing_table.cpp
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/routing_table.Tpo" "$(DEPDIR)/routing_table.Plo"; else rm -f "$(DEPDIR)/routing_table.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/routing_table.Tpo $(DEPDIR)/routing_table.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/routing_table.cpp' object='routing_table.lo' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/routing_table.cpp' object='routing_table.lo' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o routing_table.lo `test -f 'kademlia/routing_table.cpp' || echo '$(srcdir)/'`kademlia/routing_table.cpp
|
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o routing_table.lo `test -f 'kademlia/routing_table.cpp' || echo '$(srcdir)/'`kademlia/routing_table.cpp
|
||||||
|
|
||||||
rpc_manager.lo: kademlia/rpc_manager.cpp
|
rpc_manager.lo: kademlia/rpc_manager.cpp
|
||||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpc_manager.lo -MD -MP -MF "$(DEPDIR)/rpc_manager.Tpo" -c -o rpc_manager.lo `test -f 'kademlia/rpc_manager.cpp' || echo '$(srcdir)/'`kademlia/rpc_manager.cpp; \
|
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rpc_manager.lo -MD -MP -MF $(DEPDIR)/rpc_manager.Tpo -c -o rpc_manager.lo `test -f 'kademlia/rpc_manager.cpp' || echo '$(srcdir)/'`kademlia/rpc_manager.cpp
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/rpc_manager.Tpo" "$(DEPDIR)/rpc_manager.Plo"; else rm -f "$(DEPDIR)/rpc_manager.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/rpc_manager.Tpo $(DEPDIR)/rpc_manager.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/rpc_manager.cpp' object='rpc_manager.lo' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/rpc_manager.cpp' object='rpc_manager.lo' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpc_manager.lo `test -f 'kademlia/rpc_manager.cpp' || echo '$(srcdir)/'`kademlia/rpc_manager.cpp
|
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rpc_manager.lo `test -f 'kademlia/rpc_manager.cpp' || echo '$(srcdir)/'`kademlia/rpc_manager.cpp
|
||||||
|
|
||||||
traversal_algorithm.lo: kademlia/traversal_algorithm.cpp
|
traversal_algorithm.lo: kademlia/traversal_algorithm.cpp
|
||||||
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT traversal_algorithm.lo -MD -MP -MF "$(DEPDIR)/traversal_algorithm.Tpo" -c -o traversal_algorithm.lo `test -f 'kademlia/traversal_algorithm.cpp' || echo '$(srcdir)/'`kademlia/traversal_algorithm.cpp; \
|
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT traversal_algorithm.lo -MD -MP -MF $(DEPDIR)/traversal_algorithm.Tpo -c -o traversal_algorithm.lo `test -f 'kademlia/traversal_algorithm.cpp' || echo '$(srcdir)/'`kademlia/traversal_algorithm.cpp
|
||||||
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/traversal_algorithm.Tpo" "$(DEPDIR)/traversal_algorithm.Plo"; else rm -f "$(DEPDIR)/traversal_algorithm.Tpo"; exit 1; fi
|
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/traversal_algorithm.Tpo $(DEPDIR)/traversal_algorithm.Plo
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/traversal_algorithm.cpp' object='traversal_algorithm.lo' libtool=yes @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='kademlia/traversal_algorithm.cpp' object='traversal_algorithm.lo' libtool=yes @AMDEPBACKSLASH@
|
||||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o traversal_algorithm.lo `test -f 'kademlia/traversal_algorithm.cpp' || echo '$(srcdir)/'`kademlia/traversal_algorithm.cpp
|
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o traversal_algorithm.lo `test -f 'kademlia/traversal_algorithm.cpp' || echo '$(srcdir)/'`kademlia/traversal_algorithm.cpp
|
||||||
|
|
||||||
mostlyclean-libtool:
|
mostlyclean-libtool:
|
||||||
-rm -f *.lo
|
-rm -f *.lo
|
||||||
|
@ -533,10 +540,6 @@ mostlyclean-libtool:
|
||||||
clean-libtool:
|
clean-libtool:
|
||||||
-rm -rf .libs _libs
|
-rm -rf .libs _libs
|
||||||
|
|
||||||
distclean-libtool:
|
|
||||||
-rm -f libtool
|
|
||||||
uninstall-info-am:
|
|
||||||
|
|
||||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
|
@ -586,23 +589,21 @@ distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
$(mkdir_p) $(distdir)/../include/libtorrent $(distdir)/../include/libtorrent/aux_ $(distdir)/../include/libtorrent/extensions
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
list='$(DISTFILES)'; \
|
||||||
list='$(DISTFILES)'; for file in $$list; do \
|
dist_files=`for file in $$list; do echo $$file; done | \
|
||||||
case $$file in \
|
sed -e "s|^$$srcdirstrip/||;t" \
|
||||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
case $$dist_files in \
|
||||||
|
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||||
|
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||||
|
sort -u` ;; \
|
||||||
esac; \
|
esac; \
|
||||||
|
for file in $$dist_files; do \
|
||||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
|
||||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
|
||||||
dir="/$$dir"; \
|
|
||||||
$(mkdir_p) "$(distdir)$$dir"; \
|
|
||||||
else \
|
|
||||||
dir=''; \
|
|
||||||
fi; \
|
|
||||||
if test -d $$d/$$file; then \
|
if test -d $$d/$$file; then \
|
||||||
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||||
fi; \
|
fi; \
|
||||||
|
@ -618,7 +619,7 @@ check: check-am
|
||||||
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
|
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
|
||||||
installdirs:
|
installdirs:
|
||||||
for dir in "$(DESTDIR)$(libdir)"; do \
|
for dir in "$(DESTDIR)$(libdir)"; do \
|
||||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||||
done
|
done
|
||||||
install: install-am
|
install: install-am
|
||||||
install-exec: install-exec-am
|
install-exec: install-exec-am
|
||||||
|
@ -653,7 +654,7 @@ distclean: distclean-am
|
||||||
-rm -rf ./$(DEPDIR)
|
-rm -rf ./$(DEPDIR)
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
distclean-am: clean-am distclean-compile distclean-generic \
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
distclean-libtool distclean-tags
|
distclean-tags
|
||||||
|
|
||||||
dvi: dvi-am
|
dvi: dvi-am
|
||||||
|
|
||||||
|
@ -667,12 +668,20 @@ info-am:
|
||||||
|
|
||||||
install-data-am:
|
install-data-am:
|
||||||
|
|
||||||
|
install-dvi: install-dvi-am
|
||||||
|
|
||||||
install-exec-am: install-libLTLIBRARIES
|
install-exec-am: install-libLTLIBRARIES
|
||||||
|
|
||||||
|
install-html: install-html-am
|
||||||
|
|
||||||
install-info: install-info-am
|
install-info: install-info-am
|
||||||
|
|
||||||
install-man:
|
install-man:
|
||||||
|
|
||||||
|
install-pdf: install-pdf-am
|
||||||
|
|
||||||
|
install-ps: install-ps-am
|
||||||
|
|
||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
|
@ -693,20 +702,23 @@ ps: ps-am
|
||||||
|
|
||||||
ps-am:
|
ps-am:
|
||||||
|
|
||||||
uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES
|
uninstall-am: uninstall-libLTLIBRARIES
|
||||||
|
|
||||||
|
.MAKE: install-am install-strip
|
||||||
|
|
||||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||||
clean-libLTLIBRARIES clean-libtool ctags distclean \
|
clean-libLTLIBRARIES clean-libtool ctags distclean \
|
||||||
distclean-compile distclean-generic distclean-libtool \
|
distclean-compile distclean-generic distclean-libtool \
|
||||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||||
install install-am install-data install-data-am install-exec \
|
install install-am install-data install-data-am install-dvi \
|
||||||
install-exec-am install-info install-info-am \
|
install-dvi-am install-exec install-exec-am install-html \
|
||||||
install-libLTLIBRARIES install-man install-strip installcheck \
|
install-html-am install-info install-info-am \
|
||||||
|
install-libLTLIBRARIES install-man install-pdf install-pdf-am \
|
||||||
|
install-ps install-ps-am install-strip installcheck \
|
||||||
installcheck-am installdirs maintainer-clean \
|
installcheck-am installdirs maintainer-clean \
|
||||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||||
tags uninstall uninstall-am uninstall-info-am \
|
tags uninstall uninstall-am uninstall-libLTLIBRARIES
|
||||||
uninstall-libLTLIBRARIES
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
|
|
@ -797,7 +797,7 @@ namespace libtorrent
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m_buffer.erase(m_buffer.begin(), m_buffer.begin() + m_parser.body_start());
|
m_buffer.erase(m_buffer.begin(), m_buffer.begin() + m_parser.body_start());
|
||||||
if (inflate_gzip(m_buffer, tracker_request(), cb.get(),
|
if (inflate_gzip(m_buffer, tracker_req(), cb.get(),
|
||||||
m_settings.tracker_maximum_response_length))
|
m_settings.tracker_maximum_response_length))
|
||||||
{
|
{
|
||||||
close();
|
close();
|
||||||
|
@ -897,21 +897,35 @@ namespace libtorrent
|
||||||
}
|
}
|
||||||
catch(type_error const&) {}
|
catch(type_error const&) {}
|
||||||
|
|
||||||
std::vector<peer_entry> peer_list;
|
|
||||||
|
|
||||||
if (tracker_req().kind == tracker_request::scrape_request)
|
if (tracker_req().kind == tracker_request::scrape_request)
|
||||||
{
|
{
|
||||||
std::string ih;
|
std::string ih;
|
||||||
std::copy(tracker_req().info_hash.begin(), tracker_req().info_hash.end()
|
std::copy(tracker_req().info_hash.begin(), tracker_req().info_hash.end()
|
||||||
, std::back_inserter(ih));
|
, std::back_inserter(ih));
|
||||||
entry scrape_data = e["files"][ih];
|
entry scrape_data = e["files"][ih];
|
||||||
int complete = scrape_data["complete"].integer();
|
|
||||||
int incomplete = scrape_data["incomplete"].integer();
|
int complete = -1;
|
||||||
cb->tracker_response(tracker_request(), peer_list, 0, complete
|
int incomplete = -1;
|
||||||
, incomplete);
|
int downloaded = -1;
|
||||||
|
|
||||||
|
entry const* complete_ent = scrape_data.find_key("complete");
|
||||||
|
if (complete_ent && complete_ent->type() == entry::int_t)
|
||||||
|
complete = complete_ent->integer();
|
||||||
|
|
||||||
|
entry const* incomplete_ent = scrape_data.find_key("incomplete");
|
||||||
|
if (incomplete_ent && incomplete_ent->type() == entry::int_t)
|
||||||
|
incomplete = incomplete_ent->integer();
|
||||||
|
|
||||||
|
entry const* downloaded_ent = scrape_data.find_key("downloaded");
|
||||||
|
if (downloaded_ent && downloaded_ent->type() == entry::int_t)
|
||||||
|
downloaded = downloaded_ent->integer();
|
||||||
|
|
||||||
|
cb->tracker_scrape_response(tracker_req(), complete
|
||||||
|
, incomplete, downloaded);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<peer_entry> peer_list;
|
||||||
int interval = (int)e["interval"].integer();
|
int interval = (int)e["interval"].integer();
|
||||||
|
|
||||||
if (e["peers"].type() == entry::string_t)
|
if (e["peers"].type() == entry::string_t)
|
||||||
|
@ -965,16 +979,16 @@ namespace libtorrent
|
||||||
try { incomplete = e["incomplete"].integer(); }
|
try { incomplete = e["incomplete"].integer(); }
|
||||||
catch(type_error&) {}
|
catch(type_error&) {}
|
||||||
|
|
||||||
cb->tracker_response(tracker_request(), peer_list, interval, complete
|
cb->tracker_response(tracker_req(), peer_list, interval, complete
|
||||||
, incomplete);
|
, incomplete);
|
||||||
}
|
}
|
||||||
catch(type_error& e)
|
catch(type_error& e)
|
||||||
{
|
{
|
||||||
cb->tracker_request_error(tracker_request(), m_parser.status_code(), e.what());
|
cb->tracker_request_error(tracker_req(), m_parser.status_code(), e.what());
|
||||||
}
|
}
|
||||||
catch(std::runtime_error& e)
|
catch(std::runtime_error& e)
|
||||||
{
|
{
|
||||||
cb->tracker_request_error(tracker_request(), m_parser.status_code(), e.what());
|
cb->tracker_request_error(tracker_req(), m_parser.status_code(), e.what());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -492,6 +492,21 @@ namespace libtorrent
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void torrent::scrape_tracker()
|
||||||
|
{
|
||||||
|
if (m_trackers.empty()) return;
|
||||||
|
|
||||||
|
TORRENT_ASSERT(m_currently_trying_tracker >= 0);
|
||||||
|
TORRENT_ASSERT(m_currently_trying_tracker < int(m_trackers.size()));
|
||||||
|
|
||||||
|
tracker_request req;
|
||||||
|
req.info_hash = m_torrent_file->info_hash();
|
||||||
|
req.kind = tracker_request::scrape_request;
|
||||||
|
req.url = m_trackers[m_currently_trying_tracker].url;
|
||||||
|
m_ses.m_tracker_manager.queue_request(m_ses.m_strand, m_ses.m_half_open, req
|
||||||
|
, tracker_login(), m_ses.m_listen_interface.address(), shared_from_this());
|
||||||
|
}
|
||||||
|
|
||||||
// returns true if it is time for this torrent to make another
|
// returns true if it is time for this torrent to make another
|
||||||
// tracker request
|
// tracker request
|
||||||
bool torrent::should_request()
|
bool torrent::should_request()
|
||||||
|
@ -520,8 +535,28 @@ namespace libtorrent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void torrent::tracker_scrape_response(tracker_request const& req
|
||||||
|
, int complete, int incomplete, int downloaded)
|
||||||
|
{
|
||||||
|
session_impl::mutex_t::scoped_lock l(m_ses.m_mutex);
|
||||||
|
|
||||||
|
INVARIANT_CHECK;
|
||||||
|
TORRENT_ASSERT(req.kind == tracker_request::scrape_request);
|
||||||
|
|
||||||
|
if (complete >= 0) m_complete = complete;
|
||||||
|
if (incomplete >= 0) m_incomplete = incomplete;
|
||||||
|
|
||||||
|
if (m_ses.m_alerts.should_post(alert::info))
|
||||||
|
{
|
||||||
|
std::stringstream s;
|
||||||
|
s << "Got scrape response from tracker: " << req.url;
|
||||||
|
m_ses.m_alerts.post_alert(scrape_reply_alert(
|
||||||
|
get_handle(), m_incomplete, m_complete, s.str()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void torrent::tracker_response(
|
void torrent::tracker_response(
|
||||||
tracker_request const&
|
tracker_request const& r
|
||||||
, std::vector<peer_entry>& peer_list
|
, std::vector<peer_entry>& peer_list
|
||||||
, int interval
|
, int interval
|
||||||
, int complete
|
, int complete
|
||||||
|
@ -530,6 +565,7 @@ namespace libtorrent
|
||||||
session_impl::mutex_t::scoped_lock l(m_ses.m_mutex);
|
session_impl::mutex_t::scoped_lock l(m_ses.m_mutex);
|
||||||
|
|
||||||
INVARIANT_CHECK;
|
INVARIANT_CHECK;
|
||||||
|
TORRENT_ASSERT(r.kind == tracker_request::announce_request);
|
||||||
|
|
||||||
m_failed_trackers = 0;
|
m_failed_trackers = 0;
|
||||||
// announce intervals less than 5 minutes
|
// announce intervals less than 5 minutes
|
||||||
|
@ -606,8 +642,7 @@ namespace libtorrent
|
||||||
if (m_ses.m_alerts.should_post(alert::info))
|
if (m_ses.m_alerts.should_post(alert::info))
|
||||||
{
|
{
|
||||||
std::stringstream s;
|
std::stringstream s;
|
||||||
s << "Got response from tracker: "
|
s << "Got response from tracker: " << r.url;
|
||||||
<< m_trackers[m_last_working_tracker].url;
|
|
||||||
m_ses.m_alerts.post_alert(tracker_reply_alert(
|
m_ses.m_alerts.post_alert(tracker_reply_alert(
|
||||||
get_handle(), peer_list.size(), s.str()));
|
get_handle(), peer_list.size(), s.str()));
|
||||||
}
|
}
|
||||||
|
@ -2860,8 +2895,12 @@ namespace libtorrent
|
||||||
|
|
||||||
torrent_status st;
|
torrent_status st;
|
||||||
|
|
||||||
st.num_peers = (int)std::count_if(m_connections.begin(), m_connections.end(),
|
st.num_peers = (int)std::count_if(m_connections.begin(), m_connections.end()
|
||||||
!boost::bind(&peer_connection::is_connecting, _1));
|
, !boost::bind(&peer_connection::is_connecting, _1));
|
||||||
|
|
||||||
|
st.list_peers = std::distance(m_policy.begin_peer(), m_policy.end_peer());
|
||||||
|
st.list_seeds = (int)std::count_if(m_policy.begin_peer(), m_policy.end_peer()
|
||||||
|
, boost::bind(&policy::peer::seed, bind(&policy::iterator::value_type::second, _1)));
|
||||||
|
|
||||||
st.storage_mode = m_storage_mode;
|
st.storage_mode = m_storage_mode;
|
||||||
|
|
||||||
|
@ -2992,7 +3031,7 @@ namespace libtorrent
|
||||||
}
|
}
|
||||||
|
|
||||||
void torrent::tracker_request_timed_out(
|
void torrent::tracker_request_timed_out(
|
||||||
tracker_request const&)
|
tracker_request const& r)
|
||||||
{
|
{
|
||||||
session_impl::mutex_t::scoped_lock l(m_ses.m_mutex);
|
session_impl::mutex_t::scoped_lock l(m_ses.m_mutex);
|
||||||
|
|
||||||
|
@ -3005,19 +3044,26 @@ namespace libtorrent
|
||||||
if (m_ses.m_alerts.should_post(alert::warning))
|
if (m_ses.m_alerts.should_post(alert::warning))
|
||||||
{
|
{
|
||||||
std::stringstream s;
|
std::stringstream s;
|
||||||
s << "tracker: \""
|
s << "tracker: \"" << r.url << "\" timed out";
|
||||||
<< m_trackers[m_currently_trying_tracker].url
|
if (r.kind == tracker_request::announce_request)
|
||||||
<< "\" timed out";
|
{
|
||||||
m_ses.m_alerts.post_alert(tracker_alert(get_handle()
|
m_ses.m_alerts.post_alert(tracker_alert(get_handle()
|
||||||
, m_failed_trackers + 1, 0, s.str()));
|
, m_failed_trackers + 1, 0, s.str()));
|
||||||
}
|
}
|
||||||
|
else if (r.kind == tracker_request::scrape_request)
|
||||||
|
{
|
||||||
|
m_ses.m_alerts.post_alert(scrape_failed_alert(get_handle(), s.str()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (r.kind == tracker_request::announce_request)
|
||||||
try_next_tracker();
|
try_next_tracker();
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: with some response codes, we should just consider
|
// TODO: with some response codes, we should just consider
|
||||||
// the tracker as a failure and not retry
|
// the tracker as a failure and not retry
|
||||||
// it anymore
|
// it anymore
|
||||||
void torrent::tracker_request_error(tracker_request const&
|
void torrent::tracker_request_error(tracker_request const& r
|
||||||
, int response_code, const std::string& str)
|
, int response_code, const std::string& str)
|
||||||
{
|
{
|
||||||
session_impl::mutex_t::scoped_lock l(m_ses.m_mutex);
|
session_impl::mutex_t::scoped_lock l(m_ses.m_mutex);
|
||||||
|
@ -3030,13 +3076,19 @@ namespace libtorrent
|
||||||
if (m_ses.m_alerts.should_post(alert::warning))
|
if (m_ses.m_alerts.should_post(alert::warning))
|
||||||
{
|
{
|
||||||
std::stringstream s;
|
std::stringstream s;
|
||||||
s << "tracker: \""
|
s << "tracker: \"" << r.url << "\" " << str;
|
||||||
<< m_trackers[m_currently_trying_tracker].url
|
if (r.kind == tracker_request::announce_request)
|
||||||
<< "\" " << str;
|
{
|
||||||
m_ses.m_alerts.post_alert(tracker_alert(get_handle()
|
m_ses.m_alerts.post_alert(tracker_alert(get_handle()
|
||||||
, m_failed_trackers + 1, response_code, s.str()));
|
, m_failed_trackers + 1, response_code, s.str()));
|
||||||
}
|
}
|
||||||
|
else if (r.kind == tracker_request::scrape_request)
|
||||||
|
{
|
||||||
|
m_ses.m_alerts.post_alert(scrape_failed_alert(get_handle(), s.str()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (r.kind == tracker_request::announce_request)
|
||||||
try_next_tracker();
|
try_next_tracker();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -863,6 +863,20 @@ namespace libtorrent
|
||||||
t->force_tracker_request();
|
t->force_tracker_request();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void torrent_handle::scrape_tracker() const
|
||||||
|
{
|
||||||
|
INVARIANT_CHECK;
|
||||||
|
|
||||||
|
if (m_ses == 0) throw_invalid_handle();
|
||||||
|
TORRENT_ASSERT(m_chk);
|
||||||
|
|
||||||
|
session_impl::mutex_t::scoped_lock l(m_ses->m_mutex);
|
||||||
|
boost::shared_ptr<torrent> t = m_ses->find_torrent(m_info_hash).lock();
|
||||||
|
if (!t) throw_invalid_handle();
|
||||||
|
|
||||||
|
t->scrape_tracker();
|
||||||
|
}
|
||||||
|
|
||||||
void torrent_handle::set_ratio(float ratio) const
|
void torrent_handle::set_ratio(float ratio) const
|
||||||
{
|
{
|
||||||
INVARIANT_CHECK;
|
INVARIANT_CHECK;
|
||||||
|
|
|
@ -359,7 +359,7 @@ namespace libtorrent
|
||||||
|
|
||||||
tracker_connection::tracker_connection(
|
tracker_connection::tracker_connection(
|
||||||
tracker_manager& man
|
tracker_manager& man
|
||||||
, tracker_request req
|
, tracker_request const& req
|
||||||
, asio::strand& str
|
, asio::strand& str
|
||||||
, address bind_interface_
|
, address bind_interface_
|
||||||
, boost::weak_ptr<request_callback> r)
|
, boost::weak_ptr<request_callback> r)
|
||||||
|
|
|
@ -548,7 +548,7 @@ namespace libtorrent
|
||||||
}
|
}
|
||||||
|
|
||||||
int complete = detail::read_int32(buf);
|
int complete = detail::read_int32(buf);
|
||||||
/*int downloaded = */detail::read_int32(buf);
|
int downloaded = detail::read_int32(buf);
|
||||||
int incomplete = detail::read_int32(buf);
|
int incomplete = detail::read_int32(buf);
|
||||||
|
|
||||||
boost::shared_ptr<request_callback> cb = requester();
|
boost::shared_ptr<request_callback> cb = requester();
|
||||||
|
@ -559,9 +559,8 @@ namespace libtorrent
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<peer_entry> peer_list;
|
cb->tracker_scrape_response(tracker_req()
|
||||||
cb->tracker_response(tracker_req(), peer_list, 0
|
, complete, incomplete, downloaded);
|
||||||
, complete, incomplete);
|
|
||||||
|
|
||||||
m_man.remove_request(this);
|
m_man.remove_request(this);
|
||||||
close();
|
close();
|
||||||
|
|
|
@ -207,6 +207,11 @@ def exec_command(executable, *parameters):
|
||||||
warning.destroy()
|
warning.destroy()
|
||||||
|
|
||||||
def send_info():
|
def send_info():
|
||||||
|
import threading
|
||||||
|
class Send_Info_Thread(threading.Thread):
|
||||||
|
def __init__(self):
|
||||||
|
threading.Thread.__init__(self)
|
||||||
|
def run(self):
|
||||||
import urllib
|
import urllib
|
||||||
import platform
|
import platform
|
||||||
import gtk
|
import gtk
|
||||||
|
@ -215,15 +220,24 @@ def send_info():
|
||||||
|
|
||||||
pygtk = '%i.%i.%i' %(gtk.pygtk_version[0],gtk.pygtk_version[1],gtk.pygtk_version[2])
|
pygtk = '%i.%i.%i' %(gtk.pygtk_version[0],gtk.pygtk_version[1],gtk.pygtk_version[2])
|
||||||
|
|
||||||
|
try:
|
||||||
urllib.urlopen("http://download.deluge-torrent.org/stats.php?processor=" + \
|
urllib.urlopen("http://download.deluge-torrent.org/stats.php?processor=" + \
|
||||||
platform.machine() + "&python=" + platform.python_version() \
|
platform.machine() + "&python=" + platform.python_version() \
|
||||||
+ "&os=" + platform.system() + "&pygtk=" + pygtk)
|
+ "&os=" + platform.system() + "&pygtk=" + pygtk)
|
||||||
|
except IOError:
|
||||||
|
print "Network error while trying to send info"
|
||||||
|
else:
|
||||||
f = open(os.path.join(CONFIG_DIR, 'infosent'), 'w')
|
f = open(os.path.join(CONFIG_DIR, 'infosent'), 'w')
|
||||||
f.write("")
|
f.write("")
|
||||||
f.close
|
f.close
|
||||||
|
Send_Info_Thread().start()
|
||||||
|
|
||||||
def new_release_check():
|
def new_release_check():
|
||||||
|
import threading
|
||||||
|
class ReleaseThread(threading.Thread):
|
||||||
|
def __init__(self):
|
||||||
|
threading.Thread.__init__(self)
|
||||||
|
def run(self):
|
||||||
import urllib
|
import urllib
|
||||||
try:
|
try:
|
||||||
new_release = urllib.urlopen("http://download.deluge-torrent.org/\
|
new_release = urllib.urlopen("http://download.deluge-torrent.org/\
|
||||||
|
@ -245,6 +259,8 @@ of Deluge. Would you like to be taken to our download site?"))
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
ReleaseThread().start()
|
||||||
|
|
||||||
# Encryption States
|
# Encryption States
|
||||||
class EncState:
|
class EncState:
|
||||||
forced, enabled, disabled = range(3)
|
forced, enabled, disabled = range(3)
|
||||||
|
|
|
@ -78,7 +78,7 @@ PREF_FUNCTIONS = {
|
||||||
"max_upload_speed_bps" : deluge_core.set_upload_rate_limit,
|
"max_upload_speed_bps" : deluge_core.set_upload_rate_limit,
|
||||||
"enable_dht" : None, # not a normal pref in that is is applied only on start
|
"enable_dht" : None, # not a normal pref in that is is applied only on start
|
||||||
"use_upnp" : deluge_core.use_upnp,
|
"use_upnp" : deluge_core.use_upnp,
|
||||||
# "use_lsd" : deluge_core.use_lsd,
|
"use_lsd" : deluge_core.use_lsd,
|
||||||
"use_natpmp" : deluge_core.use_natpmp,
|
"use_natpmp" : deluge_core.use_natpmp,
|
||||||
"use_utpex" : deluge_core.use_utpex,
|
"use_utpex" : deluge_core.use_utpex,
|
||||||
}
|
}
|
||||||
|
@ -732,6 +732,9 @@ of HD space! Oops!\nWe had to pause at least one torrent"))
|
||||||
def update_tracker(self, unique_ID):
|
def update_tracker(self, unique_ID):
|
||||||
deluge_core.reannounce(unique_ID)
|
deluge_core.reannounce(unique_ID)
|
||||||
|
|
||||||
|
def scrape_tracker(self, unique_ID):
|
||||||
|
deluge_core.scrape_tracker(unique_ID)
|
||||||
|
|
||||||
def pause(self, unique_ID):
|
def pause(self, unique_ID):
|
||||||
deluge_core.pause(unique_ID)
|
deluge_core.pause(unique_ID)
|
||||||
|
|
||||||
|
|
|
@ -429,12 +429,7 @@ static PyObject *torrent_init(PyObject *self, PyObject *args)
|
||||||
|
|
||||||
static PyObject *torrent_quit(PyObject *self, PyObject *args)
|
static PyObject *torrent_quit(PyObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
printf("core: removing torrents...\r\n");
|
M_ses->abort();
|
||||||
delete M_torrents;
|
|
||||||
printf("core: removing settings...\r\n");
|
|
||||||
delete M_settings;
|
|
||||||
printf("core: shutting down session...\r\n");
|
|
||||||
delete M_ses;
|
|
||||||
Py_DECREF(M_constants);
|
Py_DECREF(M_constants);
|
||||||
|
|
||||||
printf("core shut down.\r\n");
|
printf("core shut down.\r\n");
|
||||||
|
@ -1995,6 +1990,24 @@ static PyObject *torrent_remap_files(PyObject *self, PyObject *args)
|
||||||
}
|
}
|
||||||
Py_INCREF(Py_None); return Py_None;
|
Py_INCREF(Py_None); return Py_None;
|
||||||
}
|
}
|
||||||
|
static PyObject *torrent_scrape_tracker(PyObject *self, PyObject *args)
|
||||||
|
{
|
||||||
|
python_long unique_ID;
|
||||||
|
if (!PyArg_ParseTuple(args, "i", &unique_ID))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
long index = get_index_from_unique_ID(unique_ID);
|
||||||
|
if (PyErr_Occurred())
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
torrent_handle& h = M_torrents->at(index).handle;
|
||||||
|
// For valid torrents, save fastresume data
|
||||||
|
if (h.is_valid())
|
||||||
|
{
|
||||||
|
h.scrape_tracker();
|
||||||
|
}
|
||||||
|
Py_INCREF(Py_None); return Py_None;
|
||||||
|
}
|
||||||
|
|
||||||
//====================
|
//====================
|
||||||
// Python Module data
|
// Python Module data
|
||||||
|
@ -2061,6 +2074,7 @@ static PyMethodDef deluge_core_methods[] =
|
||||||
{"get_all_piece_info", torrent_get_all_piece_info, METH_VARARGS, "."},
|
{"get_all_piece_info", torrent_get_all_piece_info, METH_VARARGS, "."},
|
||||||
{"get_file_piece_range", torrent_get_file_piece_range, METH_VARARGS, "."},
|
{"get_file_piece_range", torrent_get_file_piece_range, METH_VARARGS, "."},
|
||||||
{"remap_files", torrent_remap_files, METH_VARARGS, "."},
|
{"remap_files", torrent_remap_files, METH_VARARGS, "."},
|
||||||
|
{"scrape_tracker", torrent_scrape_tracker, METH_VARARGS, "."},
|
||||||
{NULL}
|
{NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -100,7 +100,7 @@ class PreferencesDlg:
|
||||||
self.glade.get_widget("chk_tracker_proxy").set_active(self.preferences.get("tracker_proxy"))
|
self.glade.get_widget("chk_tracker_proxy").set_active(self.preferences.get("tracker_proxy"))
|
||||||
self.glade.get_widget("chk_dht_proxy").set_active(self.preferences.get("dht_proxy"))
|
self.glade.get_widget("chk_dht_proxy").set_active(self.preferences.get("dht_proxy"))
|
||||||
self.glade.get_widget("chk_upnp").set_active(self.preferences.get("use_upnp"))
|
self.glade.get_widget("chk_upnp").set_active(self.preferences.get("use_upnp"))
|
||||||
# self.glade.get_widget("chk_lsd").set_active(self.preferences.get("use_lsd"))
|
self.glade.get_widget("chk_lsd").set_active(self.preferences.get("use_lsd"))
|
||||||
self.glade.get_widget("chk_random_port").set_active(self.preferences.get("random_port"))
|
self.glade.get_widget("chk_random_port").set_active(self.preferences.get("random_port"))
|
||||||
self.glade.get_widget("chk_natpmp").set_active(self.preferences.get("use_natpmp"))
|
self.glade.get_widget("chk_natpmp").set_active(self.preferences.get("use_natpmp"))
|
||||||
self.glade.get_widget("chk_utpex").set_active(self.preferences.get("use_utpex"))
|
self.glade.get_widget("chk_utpex").set_active(self.preferences.get("use_utpex"))
|
||||||
|
@ -218,7 +218,7 @@ class PreferencesDlg:
|
||||||
self.preferences.set("dht_proxy", self.glade.get_widget("chk_dht_proxy").get_active())
|
self.preferences.set("dht_proxy", self.glade.get_widget("chk_dht_proxy").get_active())
|
||||||
self.preferences.set("web_proxy", self.glade.get_widget("chk_web_proxy").get_active())
|
self.preferences.set("web_proxy", self.glade.get_widget("chk_web_proxy").get_active())
|
||||||
self.preferences.set("use_upnp", self.glade.get_widget("chk_upnp").get_active())
|
self.preferences.set("use_upnp", self.glade.get_widget("chk_upnp").get_active())
|
||||||
# self.preferences.set("use_lsd", self.glade.get_widget("chk_lsd").get_active())
|
self.preferences.set("use_lsd", self.glade.get_widget("chk_lsd").get_active())
|
||||||
self.preferences.set("tracker_proxy_type", self.glade.get_widget("combo_tracker_proxy_type").get_active())
|
self.preferences.set("tracker_proxy_type", self.glade.get_widget("combo_tracker_proxy_type").get_active())
|
||||||
self.preferences.set("dht_proxy_type", self.glade.get_widget("combo_dht_proxy_type").get_active())
|
self.preferences.set("dht_proxy_type", self.glade.get_widget("combo_dht_proxy_type").get_active())
|
||||||
self.preferences.set("web_proxy_type", self.glade.get_widget("combo_web_proxy_type").get_active())
|
self.preferences.set("web_proxy_type", self.glade.get_widget("combo_web_proxy_type").get_active())
|
||||||
|
|
|
@ -219,6 +219,7 @@ class DelugeGTK:
|
||||||
"tor_start": self.tor_start,
|
"tor_start": self.tor_start,
|
||||||
"tor_pause": self.tor_pause,
|
"tor_pause": self.tor_pause,
|
||||||
"update_tracker": self.update_tracker,
|
"update_tracker": self.update_tracker,
|
||||||
|
"scrape_tracker": self.scrape_tracker,
|
||||||
"clear_finished": self.clear_finished,
|
"clear_finished": self.clear_finished,
|
||||||
"queue_up": self.q_torrent_up,
|
"queue_up": self.q_torrent_up,
|
||||||
"queue_down": self.q_torrent_down
|
"queue_down": self.q_torrent_down
|
||||||
|
@ -1469,6 +1470,11 @@ this torrent will be deleted!") + "</i>")
|
||||||
for uid in unique_ids:
|
for uid in unique_ids:
|
||||||
self.manager.update_tracker(uid)
|
self.manager.update_tracker(uid)
|
||||||
|
|
||||||
|
def scrape_tracker(self, obj=None):
|
||||||
|
unique_ids = self.get_selected_torrent_rows()
|
||||||
|
for uid in unique_ids:
|
||||||
|
self.manager.scrape_tracker(uid)
|
||||||
|
|
||||||
def clear_finished(self, obj=None):
|
def clear_finished(self, obj=None):
|
||||||
print "Clearing completed torrents"
|
print "Clearing completed torrents"
|
||||||
if dialogs.show_popup_question(self.window, _("Are you sure that you \
|
if dialogs.show_popup_question(self.window, _("Are you sure that you \
|
||||||
|
@ -1593,6 +1599,7 @@ want to remove all seeding torrents?")):
|
||||||
pref_name = columns + '_width'
|
pref_name = columns + '_width'
|
||||||
column = getattr(self, columns + '_column')
|
column = getattr(self, columns + '_column')
|
||||||
self.config.set(pref_name, column.get_width())
|
self.config.set(pref_name, column.get_width())
|
||||||
|
self.config.save()
|
||||||
|
|
||||||
# Saves the tabs order (except the 'Details' tab)
|
# Saves the tabs order (except the 'Details' tab)
|
||||||
def save_tabs_order(self):
|
def save_tabs_order(self):
|
||||||
|
|
|
@ -126,7 +126,7 @@ if common.windows_check():
|
||||||
"use_default_dir" : False,
|
"use_default_dir" : False,
|
||||||
"use_natpmp" : False,
|
"use_natpmp" : False,
|
||||||
"use_upnp" : True,
|
"use_upnp" : True,
|
||||||
# "use_lsd" : False,
|
"use_lsd" : False,
|
||||||
"use_utpex" : True,
|
"use_utpex" : True,
|
||||||
"new_releases" : True,
|
"new_releases" : True,
|
||||||
"window_height" : 480,
|
"window_height" : 480,
|
||||||
|
@ -239,7 +239,7 @@ else:
|
||||||
"use_default_dir" : False,
|
"use_default_dir" : False,
|
||||||
"use_natpmp" : False,
|
"use_natpmp" : False,
|
||||||
"use_upnp" : True,
|
"use_upnp" : True,
|
||||||
# "use_lsd" : False,
|
"use_lsd" : False,
|
||||||
"use_utpex" : True,
|
"use_utpex" : True,
|
||||||
"new_releases" : True,
|
"new_releases" : True,
|
||||||
"window_height" : 480,
|
"window_height" : 480,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue