Bitcoin Core
27.99.0
P2P Digital Currency
|
#include <rpc/server.h>
#include <common/args.h>
#include <common/system.h>
#include <logging.h>
#include <node/context.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 <boost/signals2/signal.hpp>
#include <cassert>
#include <chrono>
#include <memory>
#include <mutex>
#include <unordered_map>
Go to the source code of this file.
Classes | |
struct | RPCCommandExecutionInfo |
struct | RPCServerInfo |
struct | RPCCommandExecution |
struct | CRPCSignals |
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 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) |
static UniValue | JSONRPCExecOne (JSONRPCRequest jreq, const UniValue &req) |
std::string | JSONRPCExecBatch (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 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 |
|
static |
Definition at line 535 of file server.cpp.
|
static |
Definition at line 505 of file server.cpp.
|
static |
|
static |
|
static |
|
static |
Definition at line 143 of file server.cpp.
void InterruptRPC | ( | ) |
bool IsDeprecatedRPCEnabled | ( | const std::string & | method | ) |
Definition at line 358 of file server.cpp.
bool IsRPCRunning | ( | ) |
Query whether RPC is running.
Definition at line 327 of file server.cpp.
std::string JSONRPCExecBatch | ( | const JSONRPCRequest & | jreq, |
const UniValue & | vReq | ||
) |
Definition at line 388 of file server.cpp.
|
static |
Definition at line 365 of file server.cpp.
void RpcInterruptionPoint | ( | ) |
Throw JSONRPCError if RPC is not running.
Definition at line 332 of file server.cpp.
bool RPCIsInWarmup | ( | std::string * | outStatus | ) |
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 594 of file server.cpp.
void RPCSetTimerInterface | ( | RPCTimerInterface * | iface | ) |
Set the factory function for timers.
Definition at line 583 of file server.cpp.
void RPCSetTimerInterfaceIfUnset | ( | RPCTimerInterface * | iface | ) |
Set the factory function for timer, but only, if unset.
Definition at line 577 of file server.cpp.
void RPCUnsetTimerInterface | ( | RPCTimerInterface * | iface | ) |
Unset factory function for timers.
Definition at line 588 of file server.cpp.
void SetRPCWarmupFinished | ( | ) |
Definition at line 343 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 337 of file server.cpp.
void StartRPC | ( | ) |
|
static |
Definition at line 171 of file server.cpp.
void StopRPC | ( | ) |
Definition at line 314 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 401 of file server.cpp.
|
static |
|
static |
Definition at line 39 of file server.cpp.
|
static |
Definition at line 33 of file server.cpp.
|
static |
Definition at line 55 of file server.cpp.
|
static |
Definition at line 32 of file server.cpp.
|
static |
CRPCTable tableRPC |
Definition at line 604 of file server.cpp.
|
static |
Definition at line 37 of file server.cpp.
|
static |
Definition at line 261 of file server.cpp.