aboutsummaryrefslogtreecommitdiff
path: root/src/rpc
diff options
context:
space:
mode:
authorJonas Schnelli <jonas.schnelli@include7.ch>2014-11-19 13:33:34 +0100
committerLuke Dashjr <luke-jr+git@utopios.org>2016-10-24 10:23:58 +0000
commitb2b33d9017cd7bc92099338773313fdf4572dc4a (patch)
treea99ace8f2586c6d9e0973b9c7c6a71188d5527ce /src/rpc
parent32efa79e0e63b6d3f055326b2e6b794815d408ad (diff)
Overhaul network activity toggle
- Rename RPC command "togglenetwork" to "setnetworkactive (true|false)" - Add simple test case - GUI toggle added to connections icon in statusbar
Diffstat (limited to 'src/rpc')
-rw-r--r--src/rpc/client.cpp1
-rw-r--r--src/rpc/net.cpp17
2 files changed, 11 insertions, 7 deletions
diff --git a/src/rpc/client.cpp b/src/rpc/client.cpp
index c14d9d6747..66648b6853 100644
--- a/src/rpc/client.cpp
+++ b/src/rpc/client.cpp
@@ -107,6 +107,7 @@ static const CRPCConvertParam vRPCConvertParams[] =
{ "prioritisetransaction", 2 },
{ "setban", 2 },
{ "setban", 3 },
+ { "setnetworkactive", 0 },
{ "getmempoolancestors", 1 },
{ "getmempooldescendants", 1 },
};
diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp
index 7f5b107997..045089e2e5 100644
--- a/src/rpc/net.cpp
+++ b/src/rpc/net.cpp
@@ -401,6 +401,7 @@ UniValue getnetworkinfo(const UniValue& params, bool fHelp)
" \"localrelay\": true|false, (bool) true if transaction relay is requested from peers\n"
" \"timeoffset\": xxxxx, (numeric) the time offset\n"
" \"connections\": xxxxx, (numeric) the number of connections\n"
+ " \"networkactive\": x, (numeric) the number of connections\n"
" \"networks\": [ (array) information per network\n"
" {\n"
" \"name\": \"xxx\", (string) network (ipv4, ipv6 or onion)\n"
@@ -435,8 +436,10 @@ UniValue getnetworkinfo(const UniValue& params, bool fHelp)
obj.push_back(Pair("localservices", strprintf("%016x", g_connman->GetLocalServices())));
obj.push_back(Pair("localrelay", fRelayTxes));
obj.push_back(Pair("timeoffset", GetTimeOffset()));
- if(g_connman)
+ if (g_connman) {
+ obj.push_back(Pair("networkactive", (int)g_connman->GetNetworkActive()));
obj.push_back(Pair("connections", (int)g_connman->GetNodeCount(CConnman::CONNECTIONS_ALL)));
+ }
obj.push_back(Pair("networks", GetNetworksInfo()));
obj.push_back(Pair("relayfee", ValueFromAmount(::minRelayTxFee.GetFeePerK())));
UniValue localAddresses(UniValue::VARR);
@@ -571,12 +574,12 @@ UniValue clearbanned(const UniValue& params, bool fHelp)
return NullUniValue;
}
-UniValue togglenetwork(const JSONRPCRequest& request)
+UniValue setnetworkactive(const JSONRPCRequest& request)
{
- if (request.fHelp || request.params.size() != 0) {
+ if (request.fHelp || request.params.size() != 1) {
throw runtime_error(
- "togglenetwork\n"
- "Toggle all network activity temporarily."
+ "setnetworkactive \"true|false\"\n"
+ "Disable/Re-Enable all network activity temporarily."
);
}
@@ -584,7 +587,7 @@ UniValue togglenetwork(const JSONRPCRequest& request)
throw JSONRPCError(RPC_CLIENT_P2P_DISABLED, "Error: Peer-to-peer functionality missing or disabled");
}
- g_connman->SetNetworkActive(!g_connman->GetNetworkActive());
+ g_connman->SetNetworkActive(request.params[0].get_bool());
return g_connman->GetNetworkActive();
}
@@ -603,7 +606,7 @@ static const CRPCCommand commands[] =
{ "network", "setban", &setban, true },
{ "network", "listbanned", &listbanned, true },
{ "network", "clearbanned", &clearbanned, true },
- { "network", "togglenetwork", &togglenetwork, true, },
+ { "network", "setnetworkactive", &setnetworkactive, true, },
};
void RegisterNetRPCCommands(CRPCTable &t)