目录
-
-
-
- [5.1.2.2 SOME/IP-SD消息头](#5.1.2.2 SOME/IP-SD消息头)
-
-
5.1.2.2 SOME/IP-SD消息头
** PRS_SOMEIPSD_00252**
SOME/IP-SD应通过SOME/IP传输

** PRS_SOMEIPSD_00253**
SOME/IP-SD头以8bit的Flags字段为开始。

** PRS_SOMEIPSD_00254**
Flags的最高位被称为Reboot Flag
** PRS_SOMEIPSD_00255**
所有的SOME/IP-SD消息的Reboot Flag都应被设置成1. 直到Session-ID达到最大值后被重新设置成1后,Reboot Flag应被设置成0.
PRS_SOMEIPSD_00256
多播和单播之间,Reboot Flag和Session ID的处理应被分开。
PRS_SOMEIPSD_00631
单播的每对发送方和接受方之间,Reboot Flag和Session ID的处理应被分开。
发送方:
-
每个组播有一个独立的Session ID计数器。
-
每个单播的每个对端有一个独立的Session ID计数器。
接收方:
-
每个组播有一个独立的Session ID计数器。
-
每个单播有一个独立的Session ID计数器。
** PRS_SOMEIPSD_00258**
判断通信对端重启的逻辑如下
- 上一次接受的reboot flag为0,新接受的reboot flag为1则对端发生重启
或 - 上一次接受的reboot flag为1,新接受的reboot flag为1,但上一次接受的Session ID大于等于新接受的Session ID则对端发生重启
** PRS_SOMEIPSD_00259**
Flags的第二个bit为称为Unicast Flag.
** PRS_SOMEIPSD_00540**
Unicast Flag应被设置成1,代表使用单播进行消息接收是被允许的。
Unicast Flag是一个遗留字段,设置它只是出于兼容性考虑。
PRS_SOMEIPSD_00702
Flags中的其它bit在发送时都设置成0,接收时应被忽视。
PRS_SOMEIPSD_00261
在Flags后是24bit的保留位。
PRS_SOMEIPSD_00262
在SOME/IP-SD头之后是Entries Array
PRS_SOMEIPSD_00263
Entries Array中,Entry的处理应该按照其在数组中的位置顺序进行
PRS_SOMEIPSD_00264
在Entries Array之后是Option Array的头
PRS_SOMEIPSD_00265
Entries Array和Option Array都以Length字段为开头,Length字段中的值是其数组中所有元素的字节数之和。