3 ms·
There are many ways to do IPC on a unix system. Dbus is a reinvention of IPC in the worst possible way. It requires a daemon to run and it requires every client
by sprash 7y ago
There are many ways to do IPC on a unix system. Dbus is a reinvention of IPC in the worst possible way. It requires a daemon to run and it requires every client to be able to parse and generate JSON. The worst thing is that those JSON packets are not even human readable most of the time. Protocols that are running on top of that are also not standardized. If you are lucky KDE and GNOME agree on something. Many times they don't.
- andrewshadura 7y agoD-Bus does not use JSON.
- sprash 7y agoIndeed it uses XML which is even worse!
- compressedgas 7y agoOnly as a description language. The message format is a subset of GVariants.
- sprash 7y agoAt closer inspection GVariants looks very similar to JSON though.
- compressedgas 7y agoExcept that it was designed to be read into memory and directly accessed without parsing. A GVariant Array has the form of its elements and their lengths. You can index into an Array in linear time.
- andrewshadura 7y agoI suggest you read up on how D-Bus actually works. E.g. https://dbus.freedesktop.org/doc/dbus-tutorial.html https://dbus.freedesktop.org/doc/dbus-tutorial.html