// Generated by mpgen from /build/bitcoin/src/bitcoin-30.2/src/ipc/capnp/echo.capnp

// IWYU pragma: no_include <kj/memory.h>
// IWYU pragma: no_include <memory>
// IWYU pragma: begin_keep
#include <src/ipc/capnp/echo.capnp.proxy.h>
#include <src/ipc/capnp/echo.capnp.proxy-types.h>
#include <capnp/generated-header-support.h>
#include <cstring>
#include <kj/async.h>
#include <kj/common.h>
#include <kj/exception.h>
#include <mp/proxy.h>
#include <mp/util.h>
#include <mp/proxy-types.h>
// IWYU pragma: end_keep

namespace mp {
kj::Promise<void> ProxyServer<ipc::capnp::messages::Echo>::destroy(DestroyContext call_context) {
    return serverInvoke(*this, call_context, MakeServerField<0, Accessor<echo_fields::Context, FIELD_IN | FIELD_BOXED>>(ServerDestroy()));
}
kj::Promise<void> ProxyServer<ipc::capnp::messages::Echo>::echo(EchoContext call_context) {
    return serverInvoke(*this, call_context, MakeServerField<0, Accessor<echo_fields::Context, FIELD_IN | FIELD_BOXED>>(MakeServerField<1, Accessor<echo_fields::Echo, FIELD_IN | FIELD_BOXED>>(Make<ServerRet, Accessor<echo_fields::Result, FIELD_OUT | FIELD_BOXED>>(ServerCall()))));
}
} // namespace mp
