diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index 43b90ba919..491d3734bc 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -951,11 +951,20 @@ slow start is re-entered. ## Pacing -It is RECOMMENDED that a sender pace sending of all data, distributing the -congestion window over the SRTT. This document does not specify a pacer. As an -example pacer, implementers are referred to the Fair Queue packet scheduler (fq -qdisc) in Linux (3.11 onwards) as a well-known and publicly available -implementation of a flow pacer. +This document does not specify a pacer, but it is RECOMMENDED that a sender pace +sending of all data based on input from the congestion controller. For example, +a pacer might distribute the congestion window over the SRTT when used with a +window-based controller, and a pacer might use the rate estimate of a rate-based +controller. + +An implementation should take care to architect its congestion controller to +work well with a pacer. For instance, a pacer might wrap the congestion +controller and control the availability of the congestion window, or a pacer +might pace out packets handed to it by the congestion controller. + +As an example of a well-known and publicly available implementation of a flow +pacer, implementers are referred to the Fair Queue packet scheduler (fq qdisc) +in Linux (3.11 onwards). ## Pseudocode