Section: 5.15.1.2.2 Sidelink process
Content: The Sidelink process is associated with a HARQ buffer. The Sidelink process shall maintain a state variable CURRENT_TX_NB, which indicates the number of transmissions that have taken place for the MAC PDU currently in the buffer. When the Sidelink process is established, CURRENT_TX_NB shall be initialized to 0. The sequence of redundancy versions is 0, 2, 3, 1. The variable CURRENT_IRV is an index into the sequence of redundancy versions. This variable is up-dated modulo 4. The Sidelink process is configured with a maximum number of HARQ retransmissions by RRC: numRetx. If the Sidelink HARQ Entity requests a new transmission, the Sidelink process shall: - set CURRENT_TX_NB to 0; - set CURRENT_IRV to 0; - store the MAC PDU in the associated HARQ buffer; - store the grant received from the Sidelink HARQ Entity; - generate a transmission as described below. If the Sidelink HARQ Entity requests a retransmission, the Sidelink process shall: - increment CURRENT_TX_NB by 1; - generate a transmission as described below. To generate a transmission, the Sidelink process shall: - if there is no uplink transmission, no transmission or reception on PSCCH, and no transmission or reception on PSSCH at the time of the transmission; or - if there is a Sidelink Discovery Gap for Transmission at the time of transmission and if there is a MAC PDU to be transmitted in this TTI in uplink, which is not obtained from the Msg3 buffer: - instruct the physical layer to generate a transmission according to the grant with the redundancy version corresponding to the CURRENT_IRV value. - increment CURRENT_IRV by 1. After performing above actions, the Sidelink process then shall: - if CURRENT_TX_NB = numRetx: - flush the HARQ buffer.