3 ms·
So, SIMPL? Synchronous Interprocess Messaging Project for LINUX (SIMPL) is a free and open-source project that allows QNX-style synchronous message passing by
by AceJohnny2 9y ago
So, SIMPL?
Synchronous Interprocess Messaging Project for LINUX (SIMPL) is a free and open-source project that allows QNX-style synchronous message passing by adding a Linux library using user space techniques like shared memory and Unix pipes[3] to implement SendMssg/ReceiveMssg/ReplyMssg inter-process messaging mechanisms.
https://en.wikipedia.org/wiki/SIMPL https://en.wikipedia.org/wiki/SIMPL
http://icanprogram.com/simpl/ http://icanprogram.com/simpl/
- Animats 9y agoIf you do it via pipes, the performance will be terrible. If you do it via shared memory, there's a good chance that one side crashing will take down the other side. QNX itself implements pipes via messaging.
- transpute 9y agoSince QNX is proprietary, QNX messaging is likely patent encumbered. What's a good open alternative, or starting point for new innovation, given current investments in microservice architecture? - ZeroMQ (and nanomsg) - gRPC (Google) - Apache Thrift (Facebook) - Finagle (Twitter) - L4/seL4 IPC
- AceJohnny2 9y ago> Since QNX is proprietary, QNX messaging is likely patent encumbered. Not necessarily. QNX messaging is old enough that patents related to the interface may have expired.
- transpute 9y agoHere is one from 2005: https://www.google.com/patents/US20060182137 https://www.google.com/patents/US20060182137 "An asynchronous message passing mechanism that allows for multiple messages to be batched for delivery between processes, while allowing for full memory protection during data transfers and a lockless mechanism for speeding up queue operation and queuing and delivering messages simultaneously." Maybe there are older patents that have expired?
- sbierwagen 9y agoRemember, patents don't last forever. The first release of QNX was 35 years ago. Patents only last 20 years.
- sametmax 9y agoThe wamp protocol is interesting imo. It's independant a serialisation and transport despite the fact it uses websocket + json by default. It does routed rpc and pub/sub out of the box. But no low level router yet.
- marqis 9y agoCheck out crossbar.io, it's a broker from the authors of wamp.
- AceJohnny2 9y agoThis project implements QNX messaging as a kernel module: https://github.com/martinhaefner/qnxcomm https://github.com/martinhaefner/qnxcomm Can't immediately find any more information about it though, so don't know the maturity.
- CyberDildonics 9y ago> If you do it via shared memory, there's a good chance that one side crashing will take down the other side. Having done a fair amount of IPC through shared memory, you'll have to explain this one. One process crashing doesn't destroy a memory mapped file on Linux, OS X, or Windows.