![]() |
Bitcoin Core 32.99.0
P2P Digital Currency
|
#include <mp/proxy-io.h>#include <exception>#include <optional>#include <set>#include <typeindex>#include <vector>Go to the source code of this file.
Namespaces | |
| namespace | mp |
| Functions to serialize / deserialize common bitcoin types. | |
Functions | |
| template<typename LocalType > | |
| auto | mp::ReadDestTemp () |
| Helper function to create a ReadDestEmplace object that constructs a temporary, ReadField can return. | |
| template<typename... LocalTypes, typename Input > | |
| bool | mp::CustomHasField (TypeList< LocalTypes... >, InvokeContext &, const Input &input) |
| Return whether to read a C++ value from a Cap'n Proto field. | |
| template<typename... LocalTypes, typename Input , typename... Args> | |
| decltype(auto) | mp::ReadField (TypeList< LocalTypes... >, InvokeContext &invoke_context, Input &&input, Args &&... args) |
| template<typename LocalType , typename Input > | |
| void | mp::ThrowField (TypeList< LocalType >, InvokeContext &invoke_context, Input &&input) |
| template<typename Input > | |
| void | mp::ThrowField (TypeList< std::exception >, InvokeContext &, Input &&input) |
| Special case for generic std::exception. | |
| template<typename... Values> | |
| bool | mp::CustomHasValue (InvokeContext &, const Values &...) |
| Return whether to write a C++ value into a Cap'n Proto field. | |
| template<typename... LocalTypes, typename Context , typename... Values, typename Output > | |
| void | mp::BuildField (TypeList< LocalTypes... >, Context &context, Output &&output, Values &&... values) |
| template<typename LocalType , typename Value , typename Output > | |
| void | mp::BuildList (TypeList< LocalType >, InvokeContext &invoke_context, Output &&output, Value &&value) |
| template<typename LocalType , typename Input , typename ReadDest , typename InitFn , typename EmplaceFn > | |
| decltype(auto) | mp::ReadList (TypeList< LocalType >, InvokeContext &invoke_context, Input &&input, ReadDest &&read_dest, InitFn &&init, EmplaceFn &&emplace) |
| template<typename LocalType , typename Value , typename Output > | |
| void | mp::CustomBuildField (TypeList< LocalType >, Priority< 0 >, InvokeContext &invoke_context, Value &&value, Output &&output) |
| template<typename Accessor , typename LocalType , typename ServerContext , typename Fn , typename... Args> | |
| auto | mp::PassField (Priority< 1 >, TypeList< LocalType & >, ServerContext &server_context, Fn &&fn, Args &&... args) -> Require< typename decltype(Accessor::get(server_context.call_context.getParams()))::Calls > |
| PassField override for callable interface reference arguments. | |
| template<typename... Args> | |
| void | mp::MaybeBuildField (std::true_type, Args &&... args) |
| template<typename... Args> | |
| void | mp::MaybeBuildField (std::false_type, Args &&...) |
| template<typename... Args> | |
| void | mp::MaybeReadField (std::true_type, Args &&... args) |
| template<typename... Args> | |
| void | mp::MaybeReadField (std::false_type, Args &&...) |
| template<typename LocalType , typename Value , typename Output > | |
| void | mp::MaybeSetWant (TypeList< LocalType * >, Priority< 1 >, const Value &value, Output &&output) |
| template<typename LocalTypes , typename... Args> | |
| void | mp::MaybeSetWant (LocalTypes, Priority< 0 >, const Args &...) |
| template<typename Accessor , typename LocalType , typename ServerContext , typename Fn , typename... Args> | |
| void | mp::PassField (Priority< 0 >, TypeList< LocalType >, ServerContext &server_context, Fn &&fn, Args &&... args) |
| Default PassField implementation calling MaybeReadField/MaybeBuildField. | |
| template<typename Accessor , typename ServerContext , typename Fn , typename... Args> | |
| void | mp::PassField (Priority< 0 >, TypeList<>, ServerContext &server_context, const Fn &fn, Args &&... args) |
| Default PassField implementation for count(0) arguments, calling ReadField/BuildField. | |
| template<typename Accessor , typename... Types> | |
| ClientParam< Accessor, Types... > | mp::MakeClientParam (Types &&... values) |
| template<typename Accessor , typename Message > requires requires { Accessor::get(message); } | |
| decltype(auto) | mp::MaybeGet (Message &&message) |
| Helper for CustomPassField below. | |
| template<typename Accessor > | |
| ::capnp::Void | mp::MaybeGet (...) |
| template<class Accessor > | |
| void | mp::CustomPassField () |
| template<typename Accessor , typename... Args> | |
| auto | mp::PassField (Priority< 2 >, Args &&... args) -> decltype(CustomPassField< Accessor >(std::forward< Args >(args)...)) |
| PassField override calling CustomPassField function, if it exists. | |
| template<int argc, typename Accessor , typename Parent > | |
| ServerField< argc, Accessor, Parent > | mp::MakeServerField (Parent parent) |
| template<typename Client > | |
| void | mp::clientDestroy (Client &client) |
| Entry point called by all generated ProxyClient destructors. | |
| template<typename Server > | |
| void | mp::serverDestroy (Server &server) |
| template<typename ProxyClient , typename GetRequest , typename... FieldObjs> | |
| void | mp::clientInvoke (ProxyClient &proxy_client, const GetRequest &get_request, FieldObjs &&... fields) |
| Entry point called by generated client code that looks like: | |
| template<typename Fn , typename Ret > | |
| auto | mp::ReplaceVoid (Fn &&fn, Ret &&ret) |
Invoke callable fn() that may return void. | |
| template<typename Server , typename CallContext , typename Fn > | |
| kj::Promise< void > | mp::serverInvoke (Server &server, CallContext &call_context, Fn fn) |
| Entry point called by generated server code that looks like: | |
Variables | |
| std::atomic< int > | mp::server_reqs {0} |