5#ifndef MP_PROXY_TYPE_MESSAGE_H
6#define MP_PROXY_TYPE_MESSAGE_H
15template <
typename LocalType,
typename Value,
typename Output>
26template <
typename LocalType,
typename Input,
typename ReadDest>
30 std::declval<LocalType&>()))*
enable =
nullptr)
37template <
typename Accessor,
typename Message>
38decltype(
auto)
MaybeInit(Message&& message,
decltype(Accessor::get(message))*
enable =
nullptr)
40 return Accessor::init(message);
43template <
typename Accessor>
60 [&](
LocalTypes... param) { fn.invoke(server_context, std::forward<Args>(args)..., param...); });
Functions to serialize / deserialize common bitcoin types.
bool CustomHasField(TypeList< LocalTypes... >, InvokeContext &invoke_context, const Input &input)
Return whether to read a C++ value from a Cap'n Proto field.
void CustomPassMessage(InvokeContext &invoke_context, const test::messages::FooMutable::Reader &reader, test::messages::FooMutable::Builder builder, std::function< void(test::FooMutable &)> &&fn)
decltype(auto) MaybeInit(Message &&message, decltype(Accessor::get(message)) *enable=nullptr)
Helper for CustomPassField below.
decltype(auto) CustomReadField(TypeList< LocalType >, Priority< 1 >, InvokeContext &invoke_context, Input &&input, ReadDest &&read_dest)
Overload multiprocess library's CustomReadField hook to allow any object with an Unserialize method t...
void CustomBuildMessage(InvokeContext &invoke_context, const test::FooMessage &src, test::messages::FooMessage::Builder &&builder)
void CustomReadMessage(InvokeContext &invoke_context, const test::messages::FooMessage::Reader &reader, test::FooMessage &dest)
ServerInvokeContext< ProxyServer< Interface >, ::capnp::CallContext< Params, Results > > ServerContext
void CustomBuildField(TypeList< LocalType >, Priority< 1 >, InvokeContext &invoke_context, Value &&value, Output &&output)
Overload multiprocess library's CustomBuildField hook to allow any serializable object to be stored i...
Function parameter type for prioritizing overloaded function calls that would otherwise be ambiguous.
Generic utility functions used by capnp code.
constexpr auto Ticks(Dur2 d)
Helper to count the seconds of a duration/time_point.