#include <bitcoin-build-config.h>
#include <rpc/server.h>
#include <common/args.h>
#include <common/system.h>
#include <logging.h>
#include <node/context.h>
#include <node/kernel_notifications.h>
#include <rpc/server_util.h>
#include <rpc/util.h>
#include <sync.h>
#include <util/signalinterrupt.h>
#include <util/strencodings.h>
#include <util/string.h>
#include <util/time.h>
#include <validation.h>
#include <cassert>
#include <chrono>
#include <memory>
#include <mutex>
#include <unordered_map>
Go to the source code of this file.
|
static bool fRPCInWarmup | GUARDED_BY (g_rpc_warmup_mutex) = "RPC server started" |
|
static std::map< std::string, std::unique_ptr< RPCTimerBase > > deadlineTimers | GUARDED_BY (g_deadline_timers_mutex) |
|
static bool | ExecuteCommand (const CRPCCommand &command, const JSONRPCRequest &request, UniValue &result, bool last_handler) |
|
static RPCHelpMan | help () |
|
static RPCHelpMan | stop () |
|
static RPCHelpMan | uptime () |
|
static RPCHelpMan | getrpcinfo () |
|
void | StartRPC () |
|
void | InterruptRPC () |
|
void | StopRPC () |
|
bool | IsRPCRunning () |
| Query whether RPC is running. More...
|
|
void | RpcInterruptionPoint () |
| Throw JSONRPCError if RPC is not running. More...
|
|
void | SetRPCWarmupStatus (const std::string &newStatus) |
| Set the RPC warmup status. More...
|
|
void | SetRPCWarmupFinished () |
|
bool | RPCIsInWarmup (std::string *outStatus) |
|
bool | IsDeprecatedRPCEnabled (const std::string &method) |
|
UniValue | JSONRPCExec (const JSONRPCRequest &jreq, bool catch_errors) |
|
static JSONRPCRequest | transformNamedArguments (const JSONRPCRequest &in, const std::vector< std::pair< std::string, bool > > &argNames) |
| Process named arguments into a vector of positional arguments, based on the passed-in specification for the RPC call's arguments. More...
|
|
static bool | ExecuteCommands (const std::vector< const CRPCCommand * > &commands, const JSONRPCRequest &request, UniValue &result) |
|
void | RPCSetTimerInterfaceIfUnset (RPCTimerInterface *iface) |
| Set the factory function for timer, but only, if unset. More...
|
|
void | RPCSetTimerInterface (RPCTimerInterface *iface) |
| Set the factory function for timers. More...
|
|
void | RPCUnsetTimerInterface (RPCTimerInterface *iface) |
| Unset factory function for timers. More...
|
|
void | RPCRunLater (const std::string &name, std::function< void()> func, int64_t nSeconds) |
| Run func nSeconds from now. More...
|
|
◆ ExecuteCommand()
◆ ExecuteCommands()
◆ getrpcinfo()
◆ GUARDED_BY() [1/2]
◆ GUARDED_BY() [2/2]
static std::string rpcWarmupStatus GUARDED_BY |
( |
g_rpc_warmup_mutex |
| ) |
= "RPC server started" |
|
static |
◆ help()
◆ InterruptRPC()
◆ IsDeprecatedRPCEnabled()
bool IsDeprecatedRPCEnabled |
( |
const std::string & |
method | ) |
|
◆ IsRPCRunning()
Query whether RPC is running.
Definition at line 310 of file server.cpp.
◆ JSONRPCExec()
◆ RpcInterruptionPoint()
void RpcInterruptionPoint |
( |
| ) |
|
Throw JSONRPCError if RPC is not running.
Definition at line 315 of file server.cpp.
◆ RPCIsInWarmup()
bool RPCIsInWarmup |
( |
std::string * |
outStatus | ) |
|
◆ RPCRunLater()
void RPCRunLater |
( |
const std::string & |
name, |
|
|
std::function< void()> |
func, |
|
|
int64_t |
nSeconds |
|
) |
| |
Run func nSeconds from now.
Overrides previous timer <name> (if any).
Definition at line 563 of file server.cpp.
◆ RPCSetTimerInterface()
Set the factory function for timers.
Definition at line 552 of file server.cpp.
◆ RPCSetTimerInterfaceIfUnset()
Set the factory function for timer, but only, if unset.
Definition at line 546 of file server.cpp.
◆ RPCUnsetTimerInterface()
Unset factory function for timers.
Definition at line 557 of file server.cpp.
◆ SetRPCWarmupFinished()
void SetRPCWarmupFinished |
( |
| ) |
|
◆ SetRPCWarmupStatus()
void SetRPCWarmupStatus |
( |
const std::string & |
newStatus | ) |
|
Set the RPC warmup status.
When this is done, all RPC calls will error out immediately with RPC_IN_WARMUP.
Definition at line 320 of file server.cpp.
◆ StartRPC()
◆ stop()
◆ StopRPC()
◆ transformNamedArguments()
Process named arguments into a vector of positional arguments, based on the passed-in specification for the RPC call's arguments.
Definition at line 370 of file server.cpp.
◆ uptime()
◆ g_deadline_timers_mutex
◆ g_rpc_running
std::atomic<bool> g_rpc_running {false} |
|
static |
◆ g_rpc_server_info
◆ g_rpc_warmup_mutex
◆ tableRPC
◆ timerInterface
◆ vRPCCommands
Initial value:{
}
static RPCHelpMan uptime()
static RPCHelpMan getrpcinfo()
Definition at line 245 of file server.cpp.