元件管理員會找出支援
相符的網址配置,並使用
fuchsia.component.resolution.Resolver
通訊協定。
如果解析成功,元件解析器會傳回
ComponentDecl
,FIDL 表示法為
元件資訊清單。如果要解析的元件有
相關聯的套件,元件解析器也會傳回
套件目錄的 fuchsia.io.Directory
控制代碼。
提供解析器功能
如要提供解析器能力,元件必須宣告 resolver
能力,其 path
會指定實作 FIDL 通訊協定
fuchsia.component.resolution.Resolver
透過元件的
傳出目錄
,直接在 Google Cloud 控制台實際操作。
{
capabilities: [
{
resolver: "my_resolver",
path: "/svc/fuchsia.component.resolution.Resolver",
},
],
}
元件管理員會提交要求,將元件網址解析為這個通訊協定。
轉送解析器功能
如要進一步瞭解架構如何轉送元件功能, 請參閱功能轉送。
公開
公開解析器能力可讓元件的父項存取該元件 功能:
{
expose: [
{
resolver: "my_resolver",
from: "self",
},
],
}
提供
如果提供解析器能力,可讓子項元件存取該功能 功能:
{
offer: [
{
resolver: "my_resolver",
from: "self",
to: [ "#child-a" ],
},
],
}
註冊元件解析器
元件解析器可透過
環境。若要在環境中註冊新的解析器,
在 environments
宣告的 resolvers
部分新增項目:
environments: [
{
name: "my-environ",
extends: "realm",
resolvers: [
{
resolver: "my_resolver",
scheme: "my-scheme",
from: "parent",
}
],
},
]
已註冊的解析器將用於解析元件網址配置的元件網址
符合提供的 scheme
。
如要進一步瞭解如何將環境套用至元件,請參閱 環境說明文件。
架構解析器
元件架構提供下列內建元件解析器, 支援標準 Fuchsia 網址配置:
解析器 | 網址配置 |
---|---|
boot_resolver |
fuchsia-boot |
base_resolver |
fuchsia-pkg |
full-resolver |
fuchsia-pkg |