r. If an acknowledgement for the ARQ block corresponding to the discarded message arrives, the ARQ block state transitions to the DONE state. When an ARQ block is in the DONE state, the transmitter flushes the ARQ block, and resets the timers and state variables associated with the flushed ARQ block. When a MAC PDU is received, the receiver examines the extended header and obtains the ARQ block information. Once the receiver identifies the ARQ block sequence number and the corre- sponding ARQ block in the MAC PDU, the receiver state machine adds this ARQ block to the list of blocks to be acknowledged. The state machine checks whether the block sequence number falls within the ARQ window range. If sequence number is not valid, the receiver discards the corresponding ARQ block; otherwise, if the corresponding ARQ block is already received, the state machine resets ARQ_RX_PURGE_TIMEMOUT timer and discards the ARQ block. If the received ARQ block is valid and not duplicated, the receiver state machine updates the ARQ state, as shown in Figure 7-5. The MAC SDUs are reconstructed from the received ARQ blocks and are sequentially delivered to the upper layers. The transmitter or receiver can reset the ARQ state machine, if necessary. When an ARQ reset error occurs during the ARQ reset procedure, the BS or MS may reinitialize the MAC procedures. When an ARQ block arrives out of order, each ARQ block with an intermediate sequence number is declared as missing, and the ARQ_ERROR_DETECTION_TIMEOUT for every missing ARQ block is set. If the missing ARQ block does not arrive within the ARQ_ERROR_DETECTION_ TIMEOUT, the receiver declares the corresponding ARQ block as an error. The receiver sends feedback corresponding to each ARQ block using the ARQ feedback IE. The ARQ feedback is sent under one of the following conditions: an ARQ feedback poll is received from the transmitter; the receiver detects an ARQ block error; or when a discarded message is received from the transmitter. If all ARQ blocks in the ARQ window are receiv