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.

Reply via email to