Why use both dbus and local socket?


#1

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.
Thanks.


#2

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.


#3

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.