diff --git a/include/downloader.h b/include/downloader.h index b60e4813..35d44f62 100644 --- a/include/downloader.h +++ b/include/downloader.h @@ -97,6 +97,7 @@ class Downloader size_t getNbDownload() { return m_knownDownloads.size(); } std::vector getDownloadIds(); + const std::string &getAria2LaunchCmd(); private: std::map> m_knownDownloads; diff --git a/src/aria2.cpp b/src/aria2.cpp index 420797aa..07dfbdb0 100644 --- a/src/aria2.cpp +++ b/src/aria2.cpp @@ -78,6 +78,9 @@ Aria2::Aria2(): callCmd.push_back("--max-concurrent-downloads=42"); callCmd.push_back("--rpc-max-request-size=6M"); callCmd.push_back("--file-allocation=none"); + for (auto &cmd : callCmd) { + m_launchCmd.append(cmd).append(" "); + } mp_aria = Subprocess::run(callCmd); mp_curl = curl_easy_init(); char errbuf[CURL_ERROR_SIZE]; diff --git a/src/aria2.h b/src/aria2.h index 898904a5..6d726247 100644 --- a/src/aria2.h +++ b/src/aria2.h @@ -26,6 +26,7 @@ class Aria2 std::string m_downloadDir; CURL* mp_curl; pthread_mutex_t m_lock; + std::string m_launchCmd; std::string doRequest(const MethodCall& methodCall); @@ -43,6 +44,7 @@ class Aria2 void pause(const std::string& gid); void unpause(const std::string& gid); void remove(const std::string& gid); + const std::string &getLaunchCmd() { return m_launchCmd; }; }; }; //end namespace kiwix diff --git a/src/downloader.cpp b/src/downloader.cpp index 393810d2..58044534 100644 --- a/src/downloader.cpp +++ b/src/downloader.cpp @@ -163,6 +163,11 @@ std::vector Downloader::getDownloadIds() { return ret; } +const std::string &Downloader::getAria2LaunchCmd() +{ + return mp_aria->getLaunchCmd(); +} + Download* Downloader::startDownload(const std::string& uri) { for (auto& p: m_knownDownloads) {