跳转至

organizing types

Capability types

Fuchsia components support many different types of capabilities. So far in this module, the examples have showcased two distinct capability types: runner and protocol. You may have noticed that the protocol capability requires a routing path but the runner capability does not.

Some capabilities are explicitly routed to components by their parent, while others are provided to all components within the same realm using environments. Environments enable the framework to provision capabilities that don't make sense to route explicitly on a per-component basis. By default, a component inherits the environment of its parent. Components may also declare a new environment for their children.

The following table lists the capability types available to components, and whether they must be explicitly routed from the parent component or provided by the environment:

Type Description Provided by
directory Shared filesystem directories provided by other components. Routing
event Events generated by Component Manager, such as components starting or a capability request. Routing
protocol FIDL protocols provided by other components or the framework. Routing
resolver A component capable of resolving a URL to a component manifest. Environment
runner A runtime used to execute specific components. Environment
service Named groups of related FIDL protocols performing a common task. Routing
storage Isolated filesystem directories unique to each component. Routing

Note: For more details on individual capabilities, see component capabilities and environments.


最后更新: 2022 年 12 月 31 日(Saturday) 21:07 CST