Re: [capnproto] Capnproto RPC messaging with lockfree ring buffer between threads

2020-07-01 Thread 'Kenton Varda' via Cap'n Proto
In fact, it is technically possible to use interfaces independently of the RPC system. Study capnp/capability.h to see the interfaces you'd need to define. However, I guess you'd end up repeating a lot of the work of the RPC implementation. So I don't recommend that. I guess it probably makes the

Re: [capnproto] Capnproto RPC messaging with lockfree ring buffer between threads

2020-07-01 Thread Ambrase
Is it possible to use interfaces in messages detached from all other RPC code like TwoPartyVatNetwork ? For example, write down an Interface {...} in a scheme matching to the interface of the actual class that will be called, generate code with capnp and use the resulted client and server in 2

Re: [capnproto] Capnproto RPC messaging with lockfree ring buffer between threads

2020-07-01 Thread 'Kenton Varda' via Cap'n Proto
Hi Dmitry, You should be able to accomplish this by writing a custom implementation of VatNetwork. You can look at TwoPartyVatNetwork for an example. That said, if you're thinking about optimizations like lock-free ring buffers, you may find that the RPC system itself adds too much overhead for

[capnproto] Capnproto RPC messaging with lockfree ring buffer between threads

2020-07-01 Thread Ambrase
Is it possible to use Capnproto RPC messaging to deliver function calls through lockfree ring buffer between threads? There are 2 ring buffers (client -> server, server->client, 1 to many scenarios are also possible). I'm thinking about how to use capnproto RPC messaging to pack a call to an