4#include "rpc/common/Checkers.hpp"
5#include "rpc/common/Types.hpp"
7#include <boost/json/value.hpp>
8#include <boost/json/value_from.hpp>
9#include <boost/json/value_to.hpp>
24 { a.verify(lval, std::string{}) } -> std::same_as<MaybeError>;
32 { a.modify(lval, std::string{}) } -> std::same_as<MaybeError>;
39concept SomeCheck =
requires(T a, boost::json::value lval) {
40 { a.check(lval, std::string{}) } -> std::same_as<std::optional<check::Warning>>;
54 requires(T a,
typename T::Input
const& in,
typename T::Output out,
Context const& ctx) {
71 { a.spec(version) } -> std::same_as<RpcSpec const&>;
85 boost::json::has_value_from<typename T::Output>::value;
Specifies what a check used with rpc::FieldSpec must provide.
Definition Concepts.hpp:39
A process function that expects both some Input and a Context.
Definition Concepts.hpp:53
A process function that expects no Input but does take a Context.
Definition Concepts.hpp:62
Specifies what a Handler type must provide.
Definition Concepts.hpp:84
Specifies what a modifier used with rpc::FieldSpec must provide.
Definition Concepts.hpp:31
The requirements of a processor to be used with rpc::FieldSpec.
Definition Concepts.hpp:47
Specifies what a requirement used with rpc::FieldSpec must provide.
Definition Concepts.hpp:23
This namespace contains all the RPC logic and handlers.
Definition AMMHelpers.cpp:18
std::expected< OutputType, Status > HandlerReturnType
Return type for each individual handler.
Definition Types.hpp:62
Context of an RPC call.
Definition Types.hpp:99
Represents a Specification of an entire RPC command.
Definition Specs.hpp:82