5#ifndef MP_PROXY_TYPE_INTERFACE_H
6#define MP_PROXY_TYPE_INTERFACE_H
11template <
typename Interface,
typename Impl>
14 return kj::heap<ProxyServer<Interface>>(std::move(impl), context.
connection);
17template <
typename Interface,
typename Impl>
23template <
typename Impl,
typename Value,
typename Output>
32 using Interface =
typename decltype(output.get())
::Calls;
37template <
typename Impl,
typename Value,
typename Output>
46 using Interface =
typename decltype(output.get())
::Calls;
51template <
typename Impl,
typename Output>
62 using Interface =
typename decltype(output.get())
::Calls;
66template <
typename Interface,
typename Impl>
69 return std::make_unique<ProxyClient<Interface>>(
70 std::move(client), &context.
connection,
false);
73template <
typename Interface,
typename Impl>
79template <
typename LocalType,
typename Input,
typename ReadDest>
87 using Interface =
typename Decay<
decltype(input.get())>
::Calls;
95template <
typename LocalType,
typename Input,
typename ReadDest>
103 using Interface =
typename Decay<
decltype(input.get())>
::Calls;
Functions to serialize / deserialize common bitcoin types.
std::unique_ptr< Impl > CustomMakeProxyClient(InvokeContext &context, typename Interface::Client &&client)
kj::Own< typename Interface::Server > MakeProxyServer(InvokeContext &context, std::shared_ptr< Impl > impl)
bool CustomHasField(TypeList< LocalTypes... >, InvokeContext &invoke_context, const Input &input)
Return whether to read a C++ value from a Cap'n Proto field.
std::decay_t< T > Decay
Type helper abbreviating std::decay.
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...
kj::Own< typename Interface::Server > CustomMakeProxyServer(InvokeContext &context, std::shared_ptr< Impl > &&impl)
std::unique_ptr< Impl > MakeProxyClient(InvokeContext &context, typename Interface::Client &&client)
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.