12. Retransmission Scheduling
Transport protocols such as TCP and QUIC provide reliability by detecting packet loss and retransmitting lost information. Beyond considerations in Section 10, scheduling of retransmitted data can compete with new data. The remainder of this section discusses considerations when using QUIC.
Section 13.3 of [QUIC] states: "An endpoint SHOULD give priority for retransmitting data over sending new data, unless priorities specified by the application indicate otherwise." When an HTTP/3 application uses the priority scheme defined in this document and the QUIC transport implementation supports application-indicated stream priority, a transport that considers the relative priority of streams when scheduling both new data and retransmitted data might better match the application's expectations. However, there is no requirement for how the transport chooses a scheduling based on this information, as the decision depends on several factors and tradeoffs. It could prioritize new data of high-urgency streams over retransmitted data of low-priority streams, or it could prioritize retransmitted data over new data irrespective of urgency.
Section 6.2.4 of [QUIC-RECOVERY] also highlights considerations about application priority when sending probe packets after a Probe Timeout timer expires. QUIC implementations that support application-indicated priority might use the relative priority of streams when choosing probe data.