![]() |
Bitcoin ABC 0.32.4
P2P Digital Currency
|
#include <rpc/server.h>#include <common/args.h>#include <config.h>#include <logging.h>#include <rpc/util.h>#include <shutdown.h>#include <sync.h>#include <util/strencodings.h>#include <util/string.h>#include <util/time.h>#include <boost/signals2/signal.hpp>#include <cassert>#include <chrono>#include <memory>#include <mutex>#include <set>#include <unordered_map>Go to the source code of this file.
Classes | |
| struct | RPCCommandExecutionInfo |
| struct | RPCServerInfo |
| struct | RPCCommandExecution |
| struct | CRPCSignals |
Typedefs | |
| using | SteadyClock = std::chrono::steady_clock |
Functions | |
| 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 Config &config, 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 () |
| Mark warmup as done. More... | |
| bool | RPCIsInWarmup (std::string *outStatus) |
| Returns the current warmup state. More... | |
| bool | IsDeprecatedRPCEnabled (const ArgsManager &args, const std::string &method) |
| static UniValue | JSONRPCExecOne (const Config &config, RPCServer &rpcServer, JSONRPCRequest jreq, const UniValue &req) |
| std::string | JSONRPCExecBatch (const Config &config, RPCServer &rpcServer, const JSONRPCRequest &jreq, const UniValue &vReq) |
| 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 Config &config, 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... | |
Variables | |
| static GlobalMutex | g_rpc_warmup_mutex |
| static std::atomic< bool > | g_rpc_running {false} |
| static RPCTimerInterface * | timerInterface = nullptr |
| static GlobalMutex | g_deadline_timers_mutex |
| static RPCServerInfo | g_rpc_server_info |
| static struct CRPCSignals | g_rpcSignals |
| static const CRPCCommand | vRPCCommands [] |
| CRPCTable | tableRPC |
| using SteadyClock = std::chrono::steady_clock |
Definition at line 28 of file server.cpp.
|
static |
Definition at line 604 of file server.cpp.
|
static |
Definition at line 571 of file server.cpp.
|
static |
|
static |
|
static |
|
static |
Definition at line 183 of file server.cpp.
| void InterruptRPC | ( | ) |
| bool IsDeprecatedRPCEnabled | ( | const ArgsManager & | args, |
| const std::string & | method | ||
| ) |
Definition at line 408 of file server.cpp.
| bool IsRPCRunning | ( | ) |
Query whether RPC is running.
Definition at line 379 of file server.cpp.
| std::string JSONRPCExecBatch | ( | const Config & | config, |
| RPCServer & | rpcServer, | ||
| const JSONRPCRequest & | jreq, | ||
| const UniValue & | vReq | ||
| ) |
Definition at line 436 of file server.cpp.
|
static |
Definition at line 417 of file server.cpp.
| void RpcInterruptionPoint | ( | ) |
Throw JSONRPCError if RPC is not running.
Definition at line 383 of file server.cpp.
| bool RPCIsInWarmup | ( | std::string * | outStatus | ) |
Returns the current warmup state.
Definition at line 400 of file server.cpp.
| 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 666 of file server.cpp.
| void RPCSetTimerInterface | ( | RPCTimerInterface * | iface | ) |
Set the factory function for timers.
Definition at line 656 of file server.cpp.
| void RPCSetTimerInterfaceIfUnset | ( | RPCTimerInterface * | iface | ) |
Set the factory function for timer, but only, if unset.
Definition at line 650 of file server.cpp.
| void RPCUnsetTimerInterface | ( | RPCTimerInterface * | iface | ) |
Unset factory function for timers.
Definition at line 660 of file server.cpp.
| void SetRPCWarmupFinished | ( | ) |
Mark warmup as done.
RPC calls will be processed from now on.
Definition at line 394 of file server.cpp.
| 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 389 of file server.cpp.
| void StartRPC | ( | ) |
|
static |
Definition at line 212 of file server.cpp.
| void StopRPC | ( | ) |
Definition at line 366 of file server.cpp.
|
inlinestatic |
Process named arguments into a vector of positional arguments, based on the passed-in specification for the RPC call's arguments.
Definition at line 450 of file server.cpp.
|
static |
|
static |
Definition at line 38 of file server.cpp.
|
static |
Definition at line 31 of file server.cpp.
|
static |
Definition at line 55 of file server.cpp.
|
static |
Definition at line 30 of file server.cpp.
|
static |
| CRPCTable tableRPC |
Definition at line 681 of file server.cpp.
|
static |
Definition at line 36 of file server.cpp.
|
static |
Definition at line 311 of file server.cpp.