From f2bc91986cb7ec595c045fae22b5515bdb5b26f7 Mon Sep 17 00:00:00 2001 From: cwolf9 <2717232422@qq.com> Date: Fri, 12 Aug 2022 16:59:53 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=BF=BB=E8=AF=91=20get-started/=5Fcommon/?= =?UTF-8?q?fidl/=5Fconnecting=5Fintro.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- get-started/_common/fidl/_connecting_intro.md | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/get-started/_common/fidl/_connecting_intro.md b/get-started/_common/fidl/_connecting_intro.md index 644a0b63..0ac40657 100644 --- a/get-started/_common/fidl/_connecting_intro.md +++ b/get-started/_common/fidl/_connecting_intro.md @@ -1,3 +1,4 @@ + +协议句柄是一个很常见的对象,它提供了一个 FIDL 协议的实现,FIDL 协议可以通过组件命名空间找到。组件框架使用能力促进了[组件](/glossary/README.md#component)之间的协议发现。能力路由描述了哪个组件应该作为任何给定客户端的提供者。一旦确定了适当的组件,[组件管理器](/glossary/README.md#component-manager)就会使用每个组件命名空间中的句柄来启动组件之间的连接。 + +请看以下 `fuchsia.example.Foo` 协议的示例: + +![图中显示了如何连接组件,组件是能力路由和协议服务的结合。组件必须为它们提供给其他组件的协议的实现来提供服务。](/get-started/images/fidl/protocol-serving.png){: width="629"} + +该图强调了执行连接所涉及的主要元素: + +1. 提供者组件在清单的 `capabilities` 部分中静态地**声明**协议。这使组件框架能够执行能力路由。 + +2. 客户端组件在清单(manifest)的 `use` 部分静态地**请求**协议。如果能力路由成功,这将在客户端的命名空间中创建 `/svc/fuchsia.example.Foo` 协议项。 + +3. 提供者代码在运行时**发布**实现。这将在提供者传出目录中的 `/svc/fuchsia.example.Foo` 处创建一个协议项。 + +4. 客户端代码在运行时**连接**到协议句柄。这将与运行在提供者组件中的实现打开一个 FIDL 连接。 From 4b2a013788239c52ade76344e8e60e135ffd8891 Mon Sep 17 00:00:00 2001 From: Cwolf9 <35797478+Cwolf9@users.noreply.github.com> Date: Sat, 13 Aug 2022 10:23:43 +0800 Subject: [PATCH 2/2] Update _connecting_intro.md --- get-started/_common/fidl/_connecting_intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/get-started/_common/fidl/_connecting_intro.md b/get-started/_common/fidl/_connecting_intro.md index 0ac40657..d1eecf71 100644 --- a/get-started/_common/fidl/_connecting_intro.md +++ b/get-started/_common/fidl/_connecting_intro.md @@ -14,7 +14,7 @@ component's namespace. -请看以下 `fuchsia.example.Foo` 协议的示例: +请参考以下 `fuchsia.example.Foo` 协议的示例: