3.2.5.13 Processing an ODATA Packet
If the ODATASeqNo of ODATA packet is less than FirstODATASeqNo (section 3.2.1.3) and FirstODATASeqNo (section 3.2.1.3) is a non-zero value, then the client MUST ignore the packet.
The client MUST set MasterClientId (section 3.2.1.3) to ClientId field (section 2.2.16) of ODATA packet.
The client MUST set TrailODATASeqNo (section 3.2.1.3) to TrailODATASeqNo field (section 2.2.16) of ODATA packet.
The client MUST set LeadODATASeqNo (section 3.2.1.3) as follows:
LeadODATASeqNo = MAX( ODATASeqNo from ODATA packet, LeadODATASeqNo )
The client MUST set the HiODATASeqNo (section 3.2.1.3) as follows:
HiODATASeqNo = MAX( HiODATASeqNo, ODATASeqNo from ODATA packet )
The client MUST update the LossRate (section 3.2.1.3) as specified in section 3.2.5.10.
The client MUST update Missing ODATA List (section 3.2.1.3.1) using Update Start of List (section 3.2.1.3.1.1) and providing TrailODATASeqNo from ODATA packet as the new start of list.
The client MUST update Missing ODATA List (section 3.2.1.3.1) using Update End of List (section 3.2.1.3.1.2) and providing ODATASeqNo from the ODATA packet as new end for list.
The client MUST update Missing ODATA List (section 3.2.1.3.1) using Received ODATA Packet (section 3.2.1.3.1.3) and providing the ODATASeqNo of the ODATA packet.
The client MUST identify missing ODATA packets and setup NACK packets as specified in section 3.2.5.12.
The client MUST send an ACK as specified in section 3.2.5.11 if the WDSMCTP_OPT_ODATA_FW_LEAD_SEQ_NO Extended Option is not present. If the WDSMCTP_OPT_ODATA_FW_LEAD_SEQ_NO Extended Option is present, then the client MUST send an ACK only if the value of the option is greater than or equal to ODataSeqNo of the ODATA packet. If the WDSMCTP_OPT_ODATA_FW_LEAD_SEQ_NO Extended Option is present and the value of the option is less than ODataSeqNo, then the client SHOULD NOT<10> send an ACK packet.
If the value of (MaxAppCacheSize – CurrentAppCacheSize) (as per section 3.2.1.3) is less than the AppDataLen field of ODATA packet, then the client MUST send a NACK packet as specified in section 3.2.5.12.2. Otherwise the client MUST send a DATA Trigger to [MS-WDSMA] WDS Multicast Application Protocol providing the payload specified by AppData and AppDataLen (section 2.2.16) fields of ODATA packet, and then MUST add the value of AppDataLen field to CurrentAppCacheSize (section 3.2.1.3).