diff --git a/src/command_download.cc b/src/command_download.cc index 18ed09c4..91c35443 100644 --- a/src/command_download.cc +++ b/src/command_download.cc @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -582,6 +583,7 @@ d_list_remove(core::Download* download, const torrent::Object& rawArgs, const ch #define CMD2_BIND_FL std::bind(&core::Download::file_list, std::placeholders::_1) #define CMD2_BIND_PL std::bind(&core::Download::c_peer_list, std::placeholders::_1) #define CMD2_BIND_TL std::bind(&core::Download::tracker_list, std::placeholders::_1) +#define CMD2_BIND_TC std::bind(&core::Download::tracker_controller, std::placeholders::_1) #define CMD2_BIND_INFO std::bind(&core::Download::info, std::placeholders::_1) #define CMD2_BIND_DATA std::bind(&core::Download::data, std::placeholders::_1) @@ -824,7 +826,9 @@ initialize_command_download() { // TODO: Deprecate 'd.tracker_focus'. CMD2_DL ("d.tracker_focus", std::bind(&core::Download::tracker_list_size, std::placeholders::_1)); CMD2_DL ("d.tracker_size", std::bind(&core::Download::tracker_list_size, std::placeholders::_1)); + CMD2_DL_LIST ("d.tracker.insert", std::bind(&download_tracker_insert, std::placeholders::_1, std::placeholders::_2)); + CMD2_DL_VALUE_V ("d.tracker.send_scrape", std::bind(&torrent::TrackerController::scrape_request, CMD2_BIND_TC, std::placeholders::_2)); CMD2_DL ("d.directory", CMD2_ON_FL(root_dir)); CMD2_DL_STRING_V("d.directory.set", std::bind(&apply_d_directory, std::placeholders::_1, std::placeholders::_2)); diff --git a/src/core/download.h b/src/core/download.h index 6939e8d8..78df4c04 100644 --- a/src/core/download.h +++ b/src/core/download.h @@ -60,6 +60,7 @@ public: typedef torrent::FileList file_list_type; typedef torrent::PeerList peer_list_type; typedef torrent::TrackerList tracker_list_type; + typedef torrent::TrackerController tracker_controller_type; typedef torrent::ConnectionList connection_list_type; typedef download_type::ConnectionType connection_type; @@ -105,6 +106,8 @@ public: tracker_list_type* tracker_list() { return m_download.tracker_list(); } uint32_t tracker_list_size() const { return m_download.tracker_list()->size(); } + tracker_controller_type* tracker_controller() { return m_download.tracker_controller(); } + connection_list_type* connection_list() { return m_download.connection_list(); } uint32_t connection_list_size() const; diff --git a/src/main.cc b/src/main.cc index ec19794a..6c207df7 100644 --- a/src/main.cc +++ b/src/main.cc @@ -247,7 +247,8 @@ main(int argc, char** argv) { "method.insert = event.download.hash_removed,multi|rlookup|static\n" "method.insert = event.download.hash_queued,multi|rlookup|static\n" - "method.set_key = event.download.inserted, 1_connect_logs, d.initialize_logs=\n" + "method.set_key = event.download.inserted, 1_connect_logs, ((d.initialize_logs))\n" + "method.set_key = event.download.inserted, 1_send_scrape, ((d.tracker.send_scrape,30))\n" "method.set_key = event.download.inserted_new, 1_prepare, \"branch=d.state=,view.set_visible=started,view.set_visible=stopped ;d.save_full_session=\"\n" "method.set_key = event.download.inserted_session, 1_prepare, \"branch=d.state=,view.set_visible=started,view.set_visible=stopped\"\n"