X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Frpcnet.cpp;h=4bb82a7d893d284a3ccded7a7f61a691a91736bc;hb=5098ea454db9132aa0f576921ca9d1a69429d146;hp=ab3f281163bd7b77dcaeea9b1b9797e72120eb53;hpb=03faadc0d045a9683d1ce0b8aca6af7f7b287767;p=novacoin.git diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index ab3f281..4bb82a7 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -30,7 +30,7 @@ static void CopyNodeStats(std::vector& vstats) LOCK(cs_vNodes); vstats.reserve(vNodes.size()); - BOOST_FOREACH(CNode* pnode, vNodes) { + for (CNode* pnode : vNodes) { CNodeStats stats; pnode->copyStats(stats); vstats.push_back(stats); @@ -62,7 +62,7 @@ Value getaddrmaninfo(const Array& params, bool fHelp) strFilterNetType = params[0].get_str(); Array ret; - BOOST_FOREACH(const CAddrInfo &addr, vAddr) { + for (const CAddrInfo &addr : vAddr) { if (!addr.IsRoutable() || addr.IsLocal()) continue; @@ -112,7 +112,7 @@ Value getpeerinfo(const Array& params, bool fHelp) Array ret; - BOOST_FOREACH(const CNodeStats& stats, vstats) { + for (const CNodeStats& stats : vstats) { Object obj; obj.push_back(Pair("addr", stats.addrName)); @@ -194,14 +194,14 @@ Value getaddednodeinfo(const Array& params, bool fHelp) if (params.size() == 1) { LOCK(cs_vAddedNodes); - BOOST_FOREACH(string& strAddNode, vAddedNodes) + for (string& strAddNode : vAddedNodes) laddedNodes.push_back(strAddNode); } else { string strNode = params[1].get_str(); LOCK(cs_vAddedNodes); - BOOST_FOREACH(string& strAddNode, vAddedNodes) + for (string& strAddNode : vAddedNodes) if (strAddNode == strNode) { laddedNodes.push_back(strAddNode); @@ -214,7 +214,7 @@ Value getaddednodeinfo(const Array& params, bool fHelp) if (!fDns) { Object ret; - BOOST_FOREACH(string& strAddNode, laddedNodes) + for (string& strAddNode : laddedNodes) ret.push_back(Pair("addednode", strAddNode)); return ret; } @@ -222,7 +222,7 @@ Value getaddednodeinfo(const Array& params, bool fHelp) Array ret; list > > laddedAddreses(0); - BOOST_FOREACH(string& strAddNode, laddedNodes) + for (string& strAddNode : laddedNodes) { vector vservNode(0); if(Lookup(strAddNode.c_str(), vservNode, GetDefaultPort(), fNameLookup, 0)) @@ -245,12 +245,12 @@ Value getaddednodeinfo(const Array& params, bool fHelp) Array addresses; bool fConnected = false; - BOOST_FOREACH(CService& addrNode, it->second) + for (CService& addrNode : it->second) { bool fFound = false; Object node; node.push_back(Pair("address", addrNode.ToString())); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) if (pnode->addr == addrNode) { fFound = true; @@ -316,7 +316,7 @@ Value sendalert(const Array& params, bool fHelp) // Relay alert { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) alert.RelayTo(pnode); } @@ -347,6 +347,28 @@ Value getnettotals(const Array& params, bool fHelp) return obj; } +/* +05:53:45 ntptime +05:53:48 +{ +"epoch" : 1442494427, +"time" : "2015-09-17 12:53:47 UTC" +} + +05:53:56 ntptime time.windows.com +05:53:57 +{ +"epoch" : 1442494436, +"time" : "2015-09-17 12:53:56 UTC" +} + +05:54:33 ntptime time-a.nist.gov +05:54:34 +{ +"epoch" : 1442494473, +"time" : "2015-09-17 12:54:33 UTC" +}*/ + Value ntptime(const Array& params, bool fHelp) { if (fHelp || params.size() > 1) @@ -355,17 +377,17 @@ Value ntptime(const Array& params, bool fHelp) "Returns current time from specific or random NTP server."); int64_t nTime; - if (params.size() > 0) - { + if (params.size() > 0) { string strHostName = params[0].get_str(); nTime = NtpGetTime(strHostName); } - else - nTime = NtpGetTime(); + else { + CNetAddr ip; + nTime = NtpGetTime(ip); + } Object obj; - switch (nTime) - { + switch (nTime) { case -1: throw runtime_error("Socket initialization error"); case -2: @@ -375,8 +397,11 @@ Value ntptime(const Array& params, bool fHelp) case -4: throw runtime_error("Receive timed out"); default: - obj.push_back(Pair("epoch", nTime)); - obj.push_back(Pair("time", DateTimeStrFormat(nTime))); + if (nTime > 0 && nTime != 2085978496) { + obj.push_back(Pair("epoch", nTime)); + obj.push_back(Pair("time", DateTimeStrFormat(nTime))); + } + else throw runtime_error("Unexpected response"); } return obj;