Hi Pappu, "Parallelism" can mean many things and is a huge topic. You'll probably need to ask a more specific question to get the answers you seek.
Cap'n Proto serialization is agnostic to concurrency. It's up to you to make sure a thread has exclusive access to a message before trying to modify it. Cap'n Proto RPC has deep support for parallelism. Features like Promise Pipelining exist to manage parallelism across a network. See: https://capnproto.org/rpc.html Cap'n Proto RPC implementations also support concurrency within a process. Most implementations do this based on event loop concurrency. In C++, we use a Promise-based API. You can use threads with Cap'n Proto, but each thread must run its own event loop. Currently this gets a little awkward as you tend to need to use pipes or eventfd to wake up another thread. I'd like to have stronger support for using RPC itself to communicate between threads (without copying through a socket), as this would allow the same API concurrency features meant for network communications to be used to coordinate between threads as well (efficiently). What you'd end up with is an "actor model" concurrency framework. -Kenton On Fri, Dec 7, 2018 at 1:38 PM Pappu <[email protected]> wrote: > Hi, > I am new to capnp. Is there any kind of parallelism supported in capnp? If > so, could you please kindly give me some pointers on this? > > Thanks a lot > > -- > 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]. > Visit this group at https://groups.google.com/group/capnproto. > -- 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]. Visit this group at https://groups.google.com/group/capnproto.
