getnettotals
authorfsb4000 <fsb4000@yandex.ru>
Wed, 12 Nov 2014 22:27:58 +0000 (04:27 +0600)
committerfsb4000 <fsb4000@yandex.ru>
Wed, 12 Nov 2014 22:27:58 +0000 (04:27 +0600)
В биткоине, когда добавляли виджет монитор сетевого трафика, вместе с
ним добавили RPC команду getnettotals
Стоит добавить тоже. Возможно, она кому-нибудь пригодится.

https://github.com/bitcoin/bitcoin/commit/ce14345a89dfa05992f8d2c7c9fe36315d4a67e6#diff-9a82240fe7dfe86564178691cc57f2f1R732

src/bitcoinrpc.cpp
src/bitcoinrpc.h
src/rpcnet.cpp

index 80e6865..6cc82ef 100644 (file)
@@ -248,6 +248,7 @@ static const CRPCCommand vRPCCommands[] =
     { "getsubsidy",             &getsubsidy,             true,   false },
     { "getmininginfo",          &getmininginfo,          true,   false },
     { "getnewaddress",          &getnewaddress,          true,   false },
+    { "getnettotals",           &getnettotals,           true,   true  },
     { "getaccountaddress",      &getaccountaddress,      true,   false },
     { "setaccount",             &setaccount,             true,   false },
     { "getaccount",             &getaccount,             false,  false },
index 0a0a788..44ab31d 100644 (file)
@@ -151,6 +151,7 @@ extern json_spirit::Value importwallet(const json_spirit::Array& params, bool fH
 extern json_spirit::Value dumpprivkey(const json_spirit::Array& params, bool fHelp); // in rpcdump.cpp
 extern json_spirit::Value importprivkey(const json_spirit::Array& params, bool fHelp);
 extern json_spirit::Value importaddress(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getnettotals(const json_spirit::Array& params, bool fHelp);
 
 extern json_spirit::Value sendalert(const json_spirit::Array& params, bool fHelp);
 
index ecc4331..f2fb213 100644 (file)
@@ -137,3 +137,18 @@ Value sendalert(const Array& params, bool fHelp)
         result.push_back(Pair("nCancel", alert.nCancel));
     return result;
 }
+
+Value getnettotals(const Array& params, bool fHelp)
+{
+    if (fHelp || params.size() > 0)
+        throw runtime_error(
+            "getnettotals\n"
+            "Returns information about network traffic, including bytes in, bytes out,\n"
+            "and current time.");
+
+    Object obj;
+    obj.push_back(Pair("totalbytesrecv", static_cast< boost::uint64_t>(CNode::GetTotalBytesRecv())));
+    obj.push_back(Pair("totalbytessent", static_cast<boost::uint64_t>(CNode::GetTotalBytesSent())));
+    obj.push_back(Pair("timemillis", static_cast<boost::int64_t>(GetTimeMillis())));
+    return obj;
+}
\ No newline at end of file