3 ms·
neat! since its written in rust, why not use https://github.com/eclipse-iceoryx/iceoryx2 https://github.com/eclipse-iceoryx/iceoryx2 for ipc?
by Depurator 1mo ago
neat! since its written in rust, why not use https://github.com/eclipse-iceoryx/iceoryx2 https://github.com/eclipse-iceoryx/iceoryx2 for ipc?
- Philip-J-Fry 1mo agoBecause now you're locked into the Rust ecosystem. JSONRPC over Unix sockets is a better interface for language agnostic IPC.
- imtringued 1mo agoHow does a cross language IPC library being written in Rust lock you into the Rust ecosystem if you can use it in C++ and other programming languages listed here https://github.com/eclipse-iceoryx/iceoryx2#language-bindings https://github.com/eclipse-iceoryx/iceoryx2#language-binding.... You have to engage in a significant amount of motivated reasoning to believe that.
- Philip-J-Fry 1mo agoYeah but not any language. JSONRPC can be trivially implemented in any language which can read/write a Unix socket. Which is any language worth using. It's the trade off for performance and accessibility.
- rokbenko 1mo ago[dead]
- elBoberido 1mo agoiceoryx2 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 1mo 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 1mo ago[dead]
- rokbenko 1mo ago[dead]
- rokbenko 1mo ago[dead]