目录
-
-
-
- [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字段中的值是其数组中所有元素的字节数之和。