元件執行器會透過 環境 提供了執行階段 元件執行個體
元件管理員會傳送內含
使用 ComponentStartInfo
傳送至適當的執行元件
fuchsia.component.runner.ComponentRunner
通訊協定。
ComponentStartInfo
包含元件的執行檔詳細資料
其
命名空間
,直接在 Google Cloud 控制台實際操作。執行器會管理元件的
執行作業。
啟動元件後,元件管理員會使用
已提供 fuchsia.component.runner.ComponentController
通訊協定
加入 Start
要求,將執行動作傳送至執行元件。
例如停止元件跑者會選擇要如何解讀
適用於元件執行階段
提供執行元件功能
如要提供執行元件能力,元件必須宣告 runner
能力,其 path
會指定實作 FIDL 通訊協定
fuchsia.component.runner.ComponentRunner
元件的
傳出目錄
,直接在 Google Cloud 控制台實際操作。
{
capabilities: [
{
runner: "web",
path: "/svc/fuchsia.component.runner.ComponentRunner",
},
],
}
元件管理員會將 ComponentRunner/Start
要求傳送至這個通訊協定。
每項要求均包含 ComponentController
管道,
執行元件應該用來處理元件的生命週期事件
轉送執行元件功能
如要進一步瞭解架構如何轉送元件功能, 請參閱功能轉送。
公開
公開執行元件能力可讓元件的父項存取該功能 功能:
{
expose: [
{
runner: "web",
from: "self",
},
],
}
您可以視需要指定以下項目:
提供
提供執行元件能力可讓子項元件存取 功能:
{
offer: [
{
runner: "web",
from: "self",
to: [ "#child-a" ],
},
],
}
您可以視需要指定以下項目:
註冊元件執行元件
元件執行器可透過
環境。如要在環境中註冊新的執行元件,
在 environments
宣告的 runners
部分新增項目:
environments: [
{
name: "my-environ",
extends: "realm",
runners: [
{
runner: "web",
from: "parent",
},
],
},
]
您可以視需要指定以下項目:
如要進一步瞭解如何將環境套用至元件,請參閱 環境說明文件。
選取執行元件
元件會使用 program
指定適當的執行執行元件
部分。program
部分也會指定 runner
和任何執行元件專用選項都一樣跑者必須註冊
元件的環境
舉例來說,做為網頁執行的元件可能有 program
包括:
program: {
runner: "web",
mode: "incognito",
},
當元件管理員嘗試啟動這個元件時,
向 web
執行元件的提供者發出要求,以啟動該程式庫。
正在重新命名執行器
您可以 expose
、offer
或註冊 執行器能力,位於
使用 as
參數建立不同名稱:
{
expose: [
{
runner: "web",
from: "#chromium",
as: "web-chromium",
},
],
}
架構執行器
元件架構提供下列內建元件執行器:
- ELF 執行器:執行編譯為 ELF 檔案格式的二進位檔。
{
program: {
runner: "elf",
binary: "bin/example",
},
}