summaryrefslogtreecommitdiff
path: root/src/aria2api.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/aria2api.cc')
-rw-r--r--src/aria2api.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/aria2api.cc b/src/aria2api.cc
index 27ed6680..545d2bf6 100644
--- a/src/aria2api.cc
+++ b/src/aria2api.cc
@@ -521,6 +521,21 @@ int changeGlobalOption(Session* session, const KeyVals& options)
return 0;
}
+GlobalStat getGlobalStat(Session* session)
+{
+ const SharedHandle<DownloadEngine>& e =
+ session->context->reqinfo->getDownloadEngine();
+ const SharedHandle<RequestGroupMan>& rgman = e->getRequestGroupMan();
+ TransferStat ts = rgman->calculateStat();
+ GlobalStat res;
+ res.downloadSpeed = ts.downloadSpeed;
+ res.uploadSpeed = ts.uploadSpeed;
+ res.numActive = rgman->getRequestGroups().size();
+ res.numWaiting = rgman->getReservedGroups().size();
+ res.numStopped = rgman->getDownloadResults().size();
+ return res;
+}
+
std::vector<A2Gid> getActiveDownload(Session* session)
{
const SharedHandle<DownloadEngine>& e =