aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/net.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rpc/net.cpp')
-rw-r--r--src/rpc/net.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp
index b011029f51..7f5b107997 100644
--- a/src/rpc/net.cpp
+++ b/src/rpc/net.cpp
@@ -571,6 +571,24 @@ UniValue clearbanned(const UniValue& params, bool fHelp)
return NullUniValue;
}
+UniValue togglenetwork(const JSONRPCRequest& request)
+{
+ if (request.fHelp || request.params.size() != 0) {
+ throw runtime_error(
+ "togglenetwork\n"
+ "Toggle all network activity temporarily."
+ );
+ }
+
+ if (!g_connman) {
+ throw JSONRPCError(RPC_CLIENT_P2P_DISABLED, "Error: Peer-to-peer functionality missing or disabled");
+ }
+
+ g_connman->SetNetworkActive(!g_connman->GetNetworkActive());
+
+ return g_connman->GetNetworkActive();
+}
+
static const CRPCCommand commands[] =
{ // category name actor (function) okSafeMode
// --------------------- ------------------------ ----------------------- ----------
@@ -585,6 +603,7 @@ static const CRPCCommand commands[] =
{ "network", "setban", &setban, true },
{ "network", "listbanned", &listbanned, true },
{ "network", "clearbanned", &clearbanned, true },
+ { "network", "togglenetwork", &togglenetwork, true, },
};
void RegisterNetRPCCommands(CRPCTable &t)