一 SOME/IP-SD服务发现阶划分
服务发现应该包含3个阶段
1.1 Initial Wait Phase初始等待阶段
- 初始等待阶段的作用
初始等待阶段是服务发现过程中的一个阶段。在这个阶段,服务发现模块等待服务实例的相关条件满足,以便继续后续的发现和注册过程。
对于客户端服务实例,当务实例所需的网络接口链接已经建立,即网络接口处于 "up" 状态且应用需要这个服务时即进入初始等待阶段。
在实际的实现中,应用需要某个服务一般是生成到配置文件中,当配置文件中有这个实例id,就认为应用需要这个服务。
对于服务器端服务实例,当务实例所需的网络接口链接已经建立,即网络接口处于 "up" 状态且服务可用。即服务器服务已经启动并准备好接受请求。服务准备好一般和具体功能有关系,比如camera service等camera初始化完成。
- 初始等待阶段的等待时间INITIAL_DELAY
初始等待阶段等待的时间取决于INITIAL_DELAY值得设置。NITIAL_DELAY应该设置一个最大值和一个最小值,实际等待时间是介于最大值和最小值之间的一个随机值。
下面重复阶段和主阶段都是以Provider instance为例的,request insatnce类似,后面会对不一样的地方单独说明。
1.2 Repetition Phase重复阶段
初始等待阶段等待时间到了之后,会发送第一条offer service消息,这时候就进入了重复阶段。
进入重复阶段后
第一次等待REPETITIONS_BASE_DELAY时间后发送第二条of