mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 06:58:57 +01:00
Merge #8996: Network activity toggle
19f46f1Qt: New network_disabled icon (Luke Dashjr)54cf997RPC/Net: Use boolean consistently for networkactive, and remove from getinfo (Luke Dashjr)b2b33d9Overhaul network activity toggle (Jonas Schnelli)32efa79Qt: Add GUI feedback and control of network activity state. (Jon Lund Steffensen)e38993bRPC: Add "togglenetwork" method to toggle network activity temporarily (Jon Lund Steffensen)7c9a98aAllow network activity to be temporarily suspended. (Jon Lund Steffensen)
This commit is contained in:
@@ -401,6 +401,7 @@ UniValue getnetworkinfo(const JSONRPCRequest& request)
|
||||
" \"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\": true|false, (bool) whether p2p networking is enabled\n"
|
||||
" \"networks\": [ (array) information per network\n"
|
||||
" {\n"
|
||||
" \"name\": \"xxx\", (string) network (ipv4, ipv6 or onion)\n"
|
||||
@@ -435,8 +436,10 @@ UniValue getnetworkinfo(const JSONRPCRequest& request)
|
||||
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", 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,6 +574,24 @@ UniValue clearbanned(const JSONRPCRequest& request)
|
||||
return NullUniValue;
|
||||
}
|
||||
|
||||
UniValue setnetworkactive(const JSONRPCRequest& request)
|
||||
{
|
||||
if (request.fHelp || request.params.size() != 1) {
|
||||
throw runtime_error(
|
||||
"setnetworkactive true|false\n"
|
||||
"Disable/enable all p2p network activity."
|
||||
);
|
||||
}
|
||||
|
||||
if (!g_connman) {
|
||||
throw JSONRPCError(RPC_CLIENT_P2P_DISABLED, "Error: Peer-to-peer functionality missing or disabled");
|
||||
}
|
||||
|
||||
g_connman->SetNetworkActive(request.params[0].get_bool());
|
||||
|
||||
return g_connman->GetNetworkActive();
|
||||
}
|
||||
|
||||
static const CRPCCommand commands[] =
|
||||
{ // category name actor (function) okSafeMode
|
||||
// --------------------- ------------------------ ----------------------- ----------
|
||||
@@ -585,6 +606,7 @@ static const CRPCCommand commands[] =
|
||||
{ "network", "setban", &setban, true },
|
||||
{ "network", "listbanned", &listbanned, true },
|
||||
{ "network", "clearbanned", &clearbanned, true },
|
||||
{ "network", "setnetworkactive", &setnetworkactive, true, },
|
||||
};
|
||||
|
||||
void RegisterNetRPCCommands(CRPCTable &t)
|
||||
|
||||
Reference in New Issue
Block a user