5 ms·
Cap'n'proto's RPC layer[0] is interesting and is heavily inspired by E language's network layer (capTP) and the author says that Miller was involved in the desi
by dpwm 8y ago
Cap'n'proto's RPC layer[0] is interesting and is heavily inspired by E language's network layer (capTP) and the author says that Miller was involved in the design [1].
I also seem to remember that one of the authors of Pony language[2] says that Miller had been involved in discussions with the authors of Pony language.[1]
I seem to remember a comment stating that Cap'n Proto is used by Cloudflare, but I'm not sure if they use the RPC layer as well as the serialization layer.
I also think that we are in an age where promises are widely used and promise pipelining[3] could somehow end up a future mainstream language feature.
[0] https://capnproto.org/rpc.html https://capnproto.org/rpc.html
[1] https://news.ycombinator.com/item?id=9483735 https://news.ycombinator.com/item?id=9483735
[2] https://www.ponylang.io/ https://www.ponylang.io/
[3] https://en.wikipedia.org/wiki/Futures_and_promises#Promise_pipelining https://en.wikipedia.org/wiki/Futures_and_promises#Promise_p...
- kentonv 8y agoCloudflare uses both Cap'n Proto serialization and RPC, though at present the serialization is used by a lot more systems than the RPC is. Serialization is most notably used in the logging aggregation pipeline, though shows up in a number of places as well. At present the only place I'm aware of RPC being used is the control protocol for Argo Tunnel (the tool which lets your web server connect to Cloudflare, rather than the usual arrangement where Cloudflare connects to the web server, hence letting it stay behind a firewall with no public IP). We're investigating more use cases, though, particularly around IPC (communicating between processes on the same machine) and Workers (communicating between sandboxes in the same process), both places where zero-copy is likely to shine. I'm also excited by the possibilities for capability-based interaction between Workers. (I'm the tech lead for Cloudflare Workers and also the creator of Cap'n Proto, though Cloudflare was using Cap'n Proto long before I joined. And yes, Mark Miller is a friend and I worked with him on the RPC design.)