Hello! I'm considering using Cap'n Proto for a consistent Key Value database in Rust. It's mainly the Promise Pipelining that caught my eye over other RPC frameworks, because that would allow me to provide support for more complex queries based on simple get and set methods rather than having to parse larger queries myself.
The database I'm aiming to create should be linearisable, so it wouldn't be acceptable that in a conceptually pipelined call like get(get(mycatname)+"_color) (composed operation to get the color of my cat) that mycatid is edited halfway trough the request and that the request returns the outdated cat color. To avoid this, I assume the methods should be made aware of them being pipelined so they can pass a set of locks on some keys around between method calls so that everything stays consistent, even with pipelined calls. Are there Cap'nProto features that would help me with this? -- You received this message because you are subscribed to the Google Groups "Cap'n Proto" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/capnproto/0ed47297-6f54-4455-9bad-f2e82c9cb539n%40googlegroups.com.
