Hi, Yes, Cap'n Proto features an advanced event loop framework allowing for non-blocking operation. It is also easy to make blocking calls provided you are not inside a callback (callbacks must be non-blocking to avoid stalling the event loop).
That said, usually when someone requires a library to be non-blocking, there is a requirement that the library is compatible with some pre-existing event framework. Cap'n Proto provides its own framework, which may be problematic if you need to work with an existing one. That said, it is possible to integrate Cap'n Proto with other event loops, it just takes a bit of engineering. Let me know if you need help with this. -Kenton -Kenton On May 2, 2017 4:47 PM, "Hedge Hog" <[email protected]> wrote: Hi, I'm evaluating Cap'n Proto against the middle requirements for the Machinekit project. We likely don't have many people familiar with promise-pipelining, or least I am not, so there is some personal seed investment required if CP was to be used as middleware. I would like to be able to point to a definitive statement that addresses this requirement, such that I can add a Y, N or some clearly qualified note: ### Blocking and Non-Blocking Message Handling: The transport library shall be able to send and receive messages in a blocking as well as a non-blocking fashion without resorting to cyclically polling for new messages to be available. Thanks in advance. Best wishes Hedge -- πόλλ' οἶδ ἀλώπηξ, ἀλλ' ἐχῖνος ἓν μέγα [The fox knows many things, but the hedgehog knows one big thing.] Archilochus, Greek poet (c. 680 BC – c. 645 BC) http://hedgehogshiatus.com -- 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.
