3.1.5.2 Data State

The server MUST start from the first block number of the first block range specified by MissingBlockRanges (section 3.1.1) and MUST process for each block number as specified below:

  1. The server MUST compute the offset into the content as follows:

    BlockOffset = BlockNumber x BlockSize (section 3.1.1)

  2. The server MUST read the bytes of data from the content at offset specified by BlockOffset. The number of bytes read MUST be equal to the BlockSize (section 3.1.1), unless the read operation reaches to the last byte of the content in which case there will be fewer bytes read.

  3. The server MUST construct a DATA packet and set the fields of the DATA packet as specified below:

    BlockNumber: MUST be set to the BlockNumber.

    DataLen: MUST be set to the number of bytes of data read from the content.

    Data: MUST be set the bytes of data read from the content.

  4. The server MUST send the Data Trigger to the WDS Multicast Transport Protocol providing the constructed DATA packet.

Server MUST wait for the Data Empty Trigger from the WDS Multicast Transport Protocol.