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.
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...
ServerInvokeContext< ProxyServer< Interface >, ::capnp::CallContext< Params, Results > > ServerContext
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)
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...
bool CustomHasField(TypeList< CTransaction >, InvokeContext &invoke_context, const Input &input)
Interpret empty Data fields as null CTransactionRef values.
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.