How the Controller and Broker interact
mainThe dbus-broker process is designed to be isolated. It performs no file-system access, no nss calls, and no external process communication. It only interacts with resources passed to it via command-line arguments or the Controller interface.
The Controller's Role
The Controller (e.g., dbus-broker-launch) owns a unix socket passed to the broker via --controller. The broker uses this socket to receive control commands. The Controller is responsible for:
- Creating listener sockets.
- Specifying bus policies.
- Creating activatable names.
- Reacting to bus events.
- Performing all external resource acquisitions on behalf of the broker.
The Broker's Role
The Broker is a pure message mediator. It starts with an empty list of bus-sockets and no way for clients to connect until the Controller uses the interface to set them up.