top | item 25588524

(no title)

mintyc | 5 years ago

Cap'n'proto has a number of drawbacks both from the 'one man band' pov. (Witness the two year lull when Kenton went sandstorming), an awkward API and limited language support.

Personally I don't think there is a perfect protocol because different people want different things whether self describing, easy/optimised memory management, zero copy, partial decode. The list goes on....

At a pinch, flatbuffers with flexbuffer evolution would be close to my goals but I'd much prefer having a meta description of messages and perhaps access ,authentication, transport security and use that (e.g. an OpenAPI v3.1 spec) to generate an implementation whether in protobuf, msgpack, JSON, ASN1 etc. whichever is suitable for a use case and using an appropriate transport whether quic, TCP, UDP.

Some of the high performance work I've seen uses ASN.1 on a very large virtual server at 100Gb line rates because the messages lend themselves to parallel decode.

I think Mike Acton had it right by suggesting things are tailored to the data needs and not overgeneralised.

discuss

order

kentonv|5 years ago

> Witness the two year lull when Kenton went sandstorming

There wasn't really a lull; development on Cap'n Proto continued that whole time by the Sandstorm team in service of Sandstorm. There was an absence of official releases since Sandstorm always used the latest Cap'n Proto code from git. The same story continues today with Sandstorm replaced by Cloudflare Workers. TBH I should probably give up on "official releases" and just advise everyone to use git...

mintyc|5 years ago

Wasn't a criticism, just an observation from a 'user' when a key bit of infrastructure is directed by a single or small team.

You are opening up a technology that you are crafting for your own purposes in the best spirit of sharing.

Personally I'm wary of relying on any project driven in this way.

Inspiring, but not something I'm personally keen on using directly.

I do feel grateful that you've given this as an option and I do feel slightly parasitic in not providing a tangible positive contribution instead.