Fix for changes in upstream C++ Cap'n Proto
This commit is contained in:
@@ -20,7 +20,7 @@ public:
|
|||||||
// ~PyRestorer() {
|
// ~PyRestorer() {
|
||||||
// Py_DECREF(py_restorer);
|
// Py_DECREF(py_restorer);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
capnp::Capability::Client restore(capnp::AnyPointer::Reader objectId) override {
|
capnp::Capability::Client restore(capnp::AnyPointer::Reader objectId) override {
|
||||||
GILAcquire gil;
|
GILAcquire gil;
|
||||||
capnp::Capability::Client * ret = call_py_restorer(py_restorer, objectId);
|
capnp::Capability::Client * ret = call_py_restorer(py_restorer, objectId);
|
||||||
@@ -64,11 +64,13 @@ capnp::Capability::Client restoreHelper(capnp::RpcSystem<capnp::rpc::twoparty::S
|
|||||||
}
|
}
|
||||||
|
|
||||||
capnp::Capability::Client restoreHelper(capnp::RpcSystem<capnp::rpc::twoparty::SturdyRefHostId>& client) {
|
capnp::Capability::Client restoreHelper(capnp::RpcSystem<capnp::rpc::twoparty::SturdyRefHostId>& client) {
|
||||||
capnp::MallocMessageBuilder message;
|
capnp::MallocMessageBuilder hostIdMessage(8);
|
||||||
capnp::rpc::SturdyRef::Builder ref = message.getRoot<capnp::rpc::SturdyRef>();
|
auto hostId = hostIdMessage.initRoot<capnp::rpc::twoparty::SturdyRefHostId>();
|
||||||
auto hostId = ref.getHostId().initAs<capnp::rpc::twoparty::SturdyRefHostId>();
|
|
||||||
hostId.setSide(capnp::rpc::twoparty::Side::SERVER);
|
hostId.setSide(capnp::rpc::twoparty::Side::SERVER);
|
||||||
return client.restore(hostId, ref.getObjectId());
|
|
||||||
|
capnp::MallocMessageBuilder blankMessage(8);
|
||||||
|
auto objectId = blankMessage.getRoot<capnp::AnyPointer>();
|
||||||
|
return client.restore(hostId, objectId);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename SturdyRefHostId, typename ProvisionId,
|
template <typename SturdyRefHostId, typename ProvisionId,
|
||||||
@@ -77,8 +79,7 @@ capnp::RpcSystem<SturdyRefHostId> makeRpcClientWithRestorer(
|
|||||||
capnp::VatNetwork<SturdyRefHostId, ProvisionId, RecipientId, ThirdPartyCapId, JoinAnswer>& network,
|
capnp::VatNetwork<SturdyRefHostId, ProvisionId, RecipientId, ThirdPartyCapId, JoinAnswer>& network,
|
||||||
PyRestorer& restorer) {
|
PyRestorer& restorer) {
|
||||||
using namespace capnp;
|
using namespace capnp;
|
||||||
return RpcSystem<SturdyRefHostId>(network,
|
return RpcSystem<SturdyRefHostId>(network, restorer);
|
||||||
kj::Maybe<SturdyRefRestorer<AnyPointer>&>(restorer));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ServerContext {
|
struct ServerContext {
|
||||||
|
|||||||
Reference in New Issue
Block a user