一般概念
实例标识符。在收发两端都是要用的。是很核心的概念。
proxy端用来搜索服务,skeleton端用来创建服务实例。
站在API的角度来看,这样的识别符是和特定的技术绑定的。所以,标识符的结构和内容都是按照使用的通讯协议来的。
在namespace ara::com 中定义了一个类class InstanceIdentifier来描述描述符,那么独立于绑定的技术,大家都应该有相同的结构。这个类提供了从string构造的构造函数和tostring的转换方法。可以将描述符转换为字符串意味着可以传输、存储等等。
基于ara::com开发应用的人员不需要关心描述符的具体内容,因为你可以看到,上面说的那个类里除了标识符这个字符串没有别的任何技术细节。具体的绑定由集成人员在部署应用的时候实现。
通讯层标识符
ara::com::InstanceIdentifier
ara::com提供了将应用程序开发人员在自己本地的命名空间定义的名称翻译为ara::com::InstanceIdentifier的能力。
本地命名其实一般也是直接从AUTOSAR的模型里面选已选构造的。
本地名称需要在当前可执行文件中具有唯一性。(那是当然了),基本是下面的形式:
<context 0>/<context 1>/.../<context N>/<port name>
在C++中本地名称是ara::core::InstanceSpecifier。然后他的类结构和上面com 的是基本上一样的。
集成人员通过manifest把具体的跟技术有关的ID和这些本地标识符绑定。换句话说,也可以让具有相同的ara::core::InstanceSpecifier的执行文件同时启动N多次,只要给他们不同的manifest。
下面的API将ar

本文介绍了ARA通信框架中的InstanceIdentifier概念,它是服务实例的标识符,用于搜索和创建服务。标识符结构根据通讯协议定义,并通过ara::com::InstanceIdentifier类进行抽象,提供字符串转换操作。开发人员可以通过ara::com::runtime::ResolveInstanceIDs()将ara::core::InstanceSpecifier转换为ara::com::InstanceIdentifier,该过程涉及服务实例manifest的绑定。多技术绑定允许服务器支持多种通讯方式,以实现客户端冗余连接和选择性技术使用。集成人员在部署时负责具体绑定实现。
最低0.47元/天 解锁文章
1464

被折叠的 条评论
为什么被折叠?



