
Show HN: FlatRPC – C++ RPC using Flatbuffers and ZeroMQ - gothack
https://github.com/GothAck/FlatRPC
======
gothack
I made this after trying a bunch of solutions (gRPC, cap'n proto, rpclib) and
getting frustrated over not being able to use other socket types (e.g. vsock).

~~~
kentonv
Hmm, not to detract from what you've done, but I'm curious -- what stopped you
from using Cap'n Proto with vsock?

~~~
gothack
Partly down to the branding of the project, and the perceived added complexity
which was not required, I just wanted a a simple extensible RPC mechanism, not
a "Infinitely faster" "cerealization protocol" with "time travel" and
"distributed objects". Cap'n proto is a lot to take in and wrap your head
around.

Edit: I didn't "stop" with cap'n proto, I never started because the project
rubbed me the wrong way :/ maybe I should have given it a go, but heh, I made
a thing instead.

~~~
kentonv
Heh, fair enough. The branding is just meant to be silly (and to make fun of
misleading benchmarks) but I totally get how it might be off-putting to some.

FWIW the Cap'n Proto C++ implementation ought to be able to layer on top of
vsock pretty easily. You can pass an arbitrary kj::AsyncIoStream to
capnp::TwoParty{Client,Server}, and you can construct an AsyncIoStream
wrapping any socket file descriptor.

But yeah, capnp RPC is definitely one of the more complicated RPC
implementations out there and if you don't need that power it may be too much.

