Why use both dbus and local socket?


Hi, I am reading source code of anbox. I have noticed that the almost all of the communications between two modules are implemented using AF_UNIX socket, except for the communication between Launch and SessionManager, in which dbus is used for RPC. I wonder why not use local socket as well, to simplify code and reduce the dependance to dbus.


Using dbus is something we implemented very early in the development of Anbox and never changed since then. We may change this in the near future.


Pipes? Dbus? Goldfish? Why not use binder for everything? Both in-system and guest-to-host?

Seriously, binder is a very good IPC system and is required anyway for Anbox. By definition.

In Android O the binder is used even more extensively - as the base for the vendor API. Even if Android O support is still a distant goal, you can start with backporting the latest binder. It improves performance and adds new features like multiple instances.