Adaptive AUTOSAR CM模块介绍(四)

这一节看一下实例标识符
实例标识符,顾名思义,是从类到对象的创建过程,即一个服务对象的创建成实例的过程,服务端和客户端都会分别创建自己的实例。
命名空间为ara:: com

 class InstanceIdentifier{ 
  public:
     explicit InstanceIdentifier(const ara::core:string_view value);
     const ara::core:string_view toString()const;
     bool operator==(const InstanceIdentifier&other)const;
     bool operator<(const InstanceIdentifier&other)const;
     InstanceIdentifier&operator=(const InstanceIdentifier&other); 
 };

实例标识符接口ara::com::InstanceIdentifier提供了一个接受字符串的 value
这个字符串就是实例的用户命名。

namespace ara{ 
namespace com{
namespace runtime{
  ara::com::InstanceIdentifierContainer ara::com::runtime::ResolveInstanceIDs
(ara::core::InstanceSpecifier modelName); 
}
}
}

为什么此API返回InstanceIdentifierContainer? 说明ara::com::InstanceIdentifier是一个集合。
此功能称为多重绑定技术,即一个实例可以绑定多个InstanceID。

在骨架/服务器端使用多绑定是一种常见的用例,但是它只允许不同的客户端在联系服务器时使用其首选绑定。
这样做的目的是容错性,它可以用于支持一些故障转移方法(如果绑定A不起作用,则返回绑定B)
ResolveInstanceIDs 可能取的值为:

  • 空列表:这种情况集成程序无法为抽象标识符提供映射;
  • 带有一个元素的列表:这是最常见情况,他会映射到一个具体技术绑定的一个具体实例id;
  • 包含多个元素的列表:映射到可能具有多个技术绑定的多个技术实例;

ResolveInstanceIDs()的中间件实现流程是从绑定在流程中的服务实例清单中查找ara::core::InstanceSpecifier的实例标识符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值