summaryrefslogtreecommitdiff
path: root/src/aria2api.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-05-18 15:41:40 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-05-18 15:41:40 +0900
commita4b29ac2f7edfc77911cc92e08e345c1235cf6b9 (patch)
treee999ff32f663bea28c00e7125084b69712f40136 /src/aria2api.cc
parentc688f51f2e8c436fec55fc1f06e2bbb52b6592f4 (diff)
Add getGlobalStat API
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 =