5 ms·
iceoryx2 maintainer here. Of course everybody has different requirements when it comes to IPC and if a rich set of supported languages is the highest priority,
by elBoberido 20d ago
iceoryx2 maintainer here. Of course everybody has different requirements when it comes to IPC and if a rich set of supported languages is the highest priority, then protocols like JSONRPC are a good option. But using such protocols for local IPC also has downsides, especially when the amount of data increases and the available resources are limited. This is where iceoryx2 has its strengths by utilizing shared memory for communication. We also split up the data flow from the control flow and one could send data to other processes without a context switch, in a way similar to what io_uring is doing. There is an upcoming blog post where we describe the possibilities shared memory enables compared to using sockets. I'll post it here once it is published.
Like another poster already commented, while iceoryx2 is implemented in Rust, it already support other languages, like C, C++, C# and Python. We'd love to add even more languages to the list, with Go being on top of our wishlist, but like always with OSS, someone needs to do the work or needs to step up and fund the work.
- Philip-J-Fry 20d agoYeah, I know the benefits. There isn't a lot of data transferred though. The GitHub repo for this robot has design decisions on it so you can read their reasoning for themselves. At the end of the day, it's an open source robot so someone can implement these protocols if they see the reason to.
- rokbenko 18d ago[dead]