Adaptive AUTOSAR CM模块介绍(五)

news2024/11/23 11:54:36

Proxy Class API’s
在这里插入图片描述
proxy class类提供类(静态)方法来FindService() 实例,服务是动态的,因此,AUTOSAR提供了两个方法来提供发现服务。

  • StartFindService():是一个类方法,它在后台启动一个周期性的“FindService”活动,在没有找到服务之前,一直周期的运行。这个周期是可以用户自定义的,一般来讲,系统服务会先发送三此find 服务,直到寻找到服务,然后返回已找到服务的反馈。
  • FindService()是一次性的响应,用户调用一次就会返回一次结果,是实时性的。

注意这两种方式的实例标识符不一样:

  • ara::com::InstanceIdentifier
  • ara::core::InstanceSpecifier

FindService 返回匹配服务实例的句柄容器,如果没有发现实例,该容器为空。
与此相反,StartFindService返回一个FindServiceHandle,他提供方法来停止监视服务实例的后台活动。每当绑定的实例检测到时,证明服务实例的可用性,这个服务句柄的列表就会更新。
在被调用后,StartFindService的行为与FindService相似,它将使用当前可用的服务触发用户提供的处理程序函数。
无论使用一次性的 FindService 还是 StartFindService,在这两种情况下,都会获得一个用于标识(可能是远程)服务实例的句柄,这个句柄就能创建proxy的实例对象。
考虑这样的情况:如果服务实例出现故障,然后再次出现,会发生什么情况,例如由于某些生命周期状态的变化?服务中的现有代理实例是否可以当服务实例再次可用时,proxy端能不能被重用?这是大部分工程师都会困扰的地方,也是bug很多的地方,需要知道原理,在解bug的时候才能游刃有余,有理论依据。
AUTOSAR为了解决这个问题,当FindService在其生命周期,发现有问题以后,会在客户端进行(重新)订阅的动作。SOMEI/IP SD服务发现的功能会重新发现服务,知道服务能正常提供。

  • GetSubscriptionState()会返回当前的订阅状态
  • 重新调用FindService()得到实例句柄
  • 或者
  • 注册 FindServiceHandler,在服务实例获得时调用向下或向上使用新手柄。然后从新句柄重新创建代理实例(注意这需要重新订阅event服务)。

如果已经注册了 FindServiceHandler,它还提供了“自动更新”的功能。
应用程序开发人员可以调用FindServiceHandler查找服务处理程序中的现有proxy实例,当proxy实例的句柄在调用中可以返回结果,表明服务实例是又起来了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1091357.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

联想电脑的Microsoft Edge启动总是百度页面的修改方法

前言 拿到联想电脑,打开浏览器的搜索引擎默认是百度,在浏览器中的设置总是更改不了。这是因为联想管家启动浏览器保护,我们是无法更改的,除非在联想管家中更改启动页的打开网址。操作流程往下看。 操作 🎈打开联想管…

苹果放出快捷指令专题介绍页面,大大提高了 Mac 使用效率

近日,苹果发布 macOS Sonoma 更新的同时,还上线了“《快捷指令》助你效率倍增”专题页面,其目标是在 Mac 上让好用的 App 更强大。 快捷指令功能可以让设备自动完成常用或繁琐的操作,大大提升 Mac 的效率。 快捷指令能帮你在《邮…

4.Python-用Python,Ajax实现MySQL数据库的新增数据

题记 用python,ajax实现mysql数据库的新增数据。以下是一个简单的实例和操作过程。 安装flask模块 pip install flask 安装mysql.connector模块 pip install mysql-connector-python 编写app.py文件 app.py文件如下: 块引用可能显示不完整&#x…

为什么Excel插入图片不显示,点击能够显示

今天在做Excel表格时,发现上传图片后不能显示,但是点击还是能够出现图片的 点击如下 点击能看到,但是不显示?那么只需鼠标右键点击浮动即可显示

fastjson 1.2.24 反序列化导致任意命令执行漏洞

fastjson 1.2.24 反序列化导致任意命令执行漏洞 文章目录 fastjson 1.2.24 反序列化导致任意命令执行漏洞1 在线漏洞解读:2 环境搭建2.1 启动:2.2 已启动:访问端口8090 3 影响版本:4 漏洞复现4.1 访问页面4.2 bp抓包,修改参数4.2.…

每日一题 136. 只出现一次的数字(简单,位运算)

异或运算性质,两个相等的数作异或运算得零,任何数与零作异或运算保持不变 所以整个数组的异或和就是答案 class Solution:def singleNumber(self, nums: List[int]) -> int:ans 0for i in nums:ans ^ ireturn ans一行代码,reduce作累积操…

「AI反诈与智能风控」闭门研讨会报名丨青源Workshop第26期

青源Workshop丨No.26 AI反诈与智能风控:信息安全的矛与盾 AI红利接踵而至,安全风险如影随形。过去几年,人工智能技术的迅速发展催生了包括金融、电子商务、社交网络、医疗保健等众多应用场景。AI应用落地带来新安全风险,安全防护难…

Netty源码编译

Netty源码编译 想了解Netty源码,最好先从 netty-example 开始,多跑几个 example,了解Netty的实际应用。 编译 netty-example 会出现很多乱七八糟的问题,根本原因是因为缺少 io.netty.util.collection 包。 解决方法 1.先 instal…

渗透测试漏洞挖掘技巧

文章目录 一、使用.json进行敏感数据泄漏二、如何查找身份验证绕过漏洞三、在Drupal上找到隐藏的页面四、遗忘的数据库备份五、电子邮件地址payloads六、HTTP主机头:localhost七、通过篡改URI访问管理面板八、通过URL编码空格访问管理面板九、篡改URI绕过403十、Byp…

C# OpenVINO Cls 图像分类

效果 耗时 class idbrown_bear, score0.86 preprocess time: 0.00ms infer time: 2.72ms postprocess time: 0.02ms Total time: 2.74ms项目 代码 using OpenCvSharp; using Sdcb.OpenVINO; using Sdcb.OpenVINO.Natives; using System; using System.Diagnostics; using Sys…

忘记开机密码啦!我教你用ventoy找回密码

文章目录 一、前言二、实战过程三、动态演示四、原理解析五、总结 一、前言 当你有一天突然忘记了开机密码怎么办?又要上电脑店花个几十块让人弄?在上一章《你该自己学学安装操作系统了,小白一学就会(ventoy装系统超详细&#xff…

舍弃Java模式,从头开始,用Rust书写编程的未来

沉迷于Rust之美:类型安全、内存安全、注重正确性,这叫人如何不爱呢? 在开发Apollo(一款Python应用)时,遇到了许多错误。如果我使用Rust,大多数错误都能被编译器捕获(虽然无法做到百…

ubuntu联网图标消失

sudo service NetworkManager stopsudo rm /var/lib/NetworkManager/NetworkManager.statesudo service NetworkManager start执行 sudo rm /var/lib/NetworkManager/NetworkManager.state 命令将删除位于 /var/lib/NetworkManager 目录下的 NetworkManager.state 文件。

(C语言进阶)笔试题详解

一.要点回顾 1.一维整形数组 (1)sizeof()对一维整形数组的应用 #include<stdio.h> int main() {int a[] {1,2,3,4};printf("%d\n", sizeof(a));//16 //sizeof(数组名),数组名表示整个数组&#xff0c;计算的是整个数组的大小&#xff0c;单位是字节printf…

微信小程序备案流程操作详解

1、2023年9月1号小程序开始必须备案了,各位小程序商城只需要按流程自主去微信小程序后台操作即可; 2、对未上架的微信小程序,从2023年9月1号开始需先备案才能上架; 3、对存量已上架的小程序,需在2024年3月31号前完成备案即可。逾期未完成备案,平台将按照备案相关规定于…

英语学习工具推荐

无论您是初学者还是想要巩固英语能力的学习者&#xff0c;我们都为您提供了一个高效而便捷的英语学习工具。 英语复读机&#xff0c;您可以随时输入您想要复读的英语单词、句子或者文章。我们的复读机会循环播放您输入的内容&#xff0c;帮助您加深记忆、提高听力和口语表达能力…

相似性搜索:第 2 部分:产品量化

系列文章前篇&#xff1a;相似性搜索&#xff1a;第 1 部分- kNN 和倒置文件索引_无水先生的博客-CSDN博客 SImilarity 搜索是一个问题&#xff0c;给定一个查询的目标是在所有数据库文档中找到与其最相似的文档。 一、介绍 在数据科学中&#xff0c;相似性搜索经常出现在NLP领…

模式匹配(数据结构)

朴素模式匹配算法 #include <stdlib.h> #include <iostream> #include <stdio.h> #define MaxSize 255typedef struct{char ch[MaxSize];int length; }SString;//初始化 SString InitStr(SString &S){S.length0;return S; } //给串赋值 SString SetStr…

【计算机毕设选题推荐】产品管理系统SpringBoot+SSM+Vue

前言&#xff1a;我是IT源码社&#xff0c;从事计算机开发行业数年&#xff0c;专注Java领域&#xff0c;专业提供程序设计开发、源码分享、技术指导讲解、定制和毕业设计服务 项目名 基于SpringBoot和SSM的产品管理系统 技术栈 SpringBootSSMVueMySQLMaven 文章目录 一、产品…

pip 安装dgl的问题

在该官网链接找到需要的对应包&#xff1a; 官网链接 安装之后可能的问题&#xff1a; 这个时候应该是网络问题导致的&#xff0c;这个时候可以自行前往网站下载 下载之后安装&#xff1a; 发现缺少依赖 p s u t i l psutil psutil&#xff0c;于是前往官网下载&#xff1a;…