David Renshaw
David Renshaw
Yes, capnp-rpc is currently hard-coded to use `capnp_futures::serialize::try_read_message()`, which copies the bytes of the message into an internal buffer, i.e. makes a copy. This is essentially a single `memcpy` per...
Merging for inclusion in 0.15.0, which I intend to release after Rust 1.65 comes out next week.
With this change, the `_private::struct_size` constant goes away. I checked that your example still works using an associated constant, as you will now need to do: ```rust trait HasSize {...
Another thing that might work is to define an interface that extends both of your existing interfaces: ```capnp interface Meta extends (Margin, StockWatchList) {} ```
The RPC system depends heavily on single-threaded-ness. I doubt that you would be able to get away with just switching some `Rc` to `Arc`. Much more intrusive changes would likely...
> Let's address an important question first: Is it necessary to implement Sync for the RpcSystem? I don't understand exactly what you are asking here. `RpcSystem` is not `Sync` because...
> "Spawn" in this context refers to the ability to run the RpcSystem on a separate thread. Can you explain more about why you want this? Some possible reasons I...
That example works for me if I change the `spawn` to `spawn_local`: ```rust $ git diff diff --git a/capnp-rpc/examples/hello-world/server.rs b/capnp-rpc/examples/hello-world/server.rs index 6db10a95..b4700043 100644 --- a/capnp-rpc/examples/hello-world/server.rs +++ b/capnp-rpc/examples/hello-world/server.rs @@ -59,7 +59,7...
Hi! These credentials are generated using "offer templates", a Sandstorm feature for allowing apps to serve HTTP APIs. See https://docs.sandstorm.io/en/latest/developing/http-apis/#creating-an-offer-template. In general, we want one set of credentials for each...
If I understand correctly, the purpose of this is to make it so that iterator-based access to capnproto lists avoids bounds checks. Have you experimentally observed a significant improvement from...