This mod defines the building blocks for receiving inbound communication from external
interfaces, such as FIDL. It also includes common implementations for working with
Jobs for incoming requests.
This macro takes an enum, which has variants associated with various numbers of data, and
generates the same enum and implements a for_inspect method.
The for_inspect method returns variants’ names.
This macro takes an enum, which has variants associated with exactly one data, and
generates the same enum and implements a for_inspect method.
The for_inspect method returns variants’ names and formated data contents.
The payload_convert macro helps convert between the domain-specific payloads
(variants of Payload) and the Payload container(to/from) & MessageHub
MessageEvent (from). The first matcher is the Payload variant name where
the payload type can be found. Note that this is the direct variant name
and not fully qualified. The second matcher is the domain-specific payload
type.
This macro simplifies collecting async trace events. It returns a guard that can be used to
control the scope of the tracing event. It uses “setui” as the category name.
The Address enumeration defines a namespace for entities that can be
reached by a predefined name. Care should be taken when adding new child
namespaces here. Each address can only belong to a single entity.
Most communication can be instead facilitated with a messenger’s signature,
which is available at messenger creation time.
The types of data that can be sent through the service MessageHub. This
enumeration is meant to provide a top level definition. Further definitions
for particular domains should be located in the appropriate mod.