 interval an ARQ block is managed by the transmitter ARQ state machine, once initial transmission of the block has occurred. After expiring ARQ_BLOCK_LIFETIME, the corresponding ARQ block is discarded in the ARQ window; ARQ_RX_PURGE_TIMEOUT: the time interval the receiver waits after successful reception of a block that does not result in advancement of ARQ_RX_WINDOW_START, before advancing ARQ_RX_WINDOW_START; MAX ARQ_BUFFER_SIZE: the maximum size of the buffer in bytes that the MS is able to allocate for the ARQ connection; ARQ_SYNC_LOSS_TIMEOUT: the maximum time interval ARQ_TX_WINDOW_START or ARQ_RX_WINDOW_START is allowed to remain at the same value before declaring a loss of synchronization of the sender and receiver state machines when data transfer is known to be active; ARQ_ERROR_DETECTION_TIMEOUT: the time interval after which the ARQ block is declared as erroneous. It is used to reorder ARQ blocks that have not arrived in order due to HARQre-transmission. 7.1.3 ARQ State Machine A finite-state machine can be used to model the behavior of the ARQ protocol in the transmitter and receiver sides. Each ARQ-enabled connection has an independent ARQ state machine. The ARQ state 7.1 Automatic repeat request transitions are based on the status of ARQ blocks, rather than ARQ sub-blocks. Based on this model, an ARQ block may be in one of the following six states: NOT-SENT; OUTSTANDING; WAITING- FOR-RE-TRANSMISSION; DISCARD; REARRANGEMENT; or DONE. The ARQ state machine in the transmitter shown in Figure 7-4 is similar to that specified in the IEEE Standard 802.16-2009 [1]. The transmitter constructs each ARQ block using the fragmentation and packing rules. Each NOT- SENT ARQ block forms a MAC PDU and is assigned the value of the next ARQ block sequence number (ARQ_TX_NEXT_SN), which is then increased by one. The ARQ state machine variables are defined as follows: ARQ_TX_WINDOW_START is the lower edge of ARQ window in the transmitter; ARQ_TX_NEXT_SN denotes the lowest ARQ sequence number of the next ARQ block to b