D-Bus allows programs to communicate. How is this IPC implemented? Unix domain sockets, shared memory + semaphores, named pipes, something else? Maybe a combination?
In computing, D-Bus (short for "Desktop Bus") is a message-oriented middleware mechanism that allows communication between multiple processes running concurrently on the same machine.
A D-Bus API is a specification of one or more interfaces, which will be implemented by objects exposed by a service on the bus. Typically an API is designed as a set of interface files, and the implementation of the service follows those files.
http://dbus.freedesktop.org/doc/dbus-daemon.1.html shows that the unix reference edition uses both unix domain sockets and tcp/ip.
You can run dbus on any modern Unix, Windows, or macOS platform; but it's only the standard system management IPC on Linux. The Dbus protocol defines both how to exchange data, and also the metadata about what data is available.
I think it typically uses UNIX sockets. Under Linux, it may use "abstract namespace" Unix sockets, which are the same except they don't physically exist as visible files in the filesystem.
This is remarkably similar to the question DBus query. And the answer from Googling was sockets - either for TCP/IP or Unix Domain.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With