Draft: draft-ietf-quic-transport

Commentary: Packets are acknowledged , though packet numbers are communicated to acknowledge them . 
 One high - level comment . I believe the intent was to move most of the text about sending ACKs from recovery to transport . Also , if we defined ack - eliciting in transport , I think this PR and some other text would read more clearly . I can do that in a follow up PR . 
 Thanks for cleaning this up . One more TODO down .
Paragraph (version A):
To avoid creating an indefinite feedback loop, an endpoint MUST NOT
send an ACK frame in response to a packet containing only ACK or
PADDING frames, even if there are packet gaps which precede the
received packet.  The endpoint MUST however acknowledge packets
containing only ACK or PADDING frames when sending ACK frames in
response to other packets.
Paragraph (version B):
An endpoint MUST NOT send more than one packet containing only an ACK
frame per received packet that contains frames other than ACK and
PADDING frames.  An endpoint MUST NOT send a packet containing only
an ACK frame in response to a packet containing only ACK or PADDING
frames, even if there are packet gaps which precede the received
packet.  This prevents an indefinite feedback loop of ACKs.  The
endpoint MUST however acknowledge packets containing only ACK or
PADDING frames when sending ACK frames in response to other packets.
Paragraph (version A):
An endpoint MUST NOT send more than one packet containing only an ACK
frame per received packet that contains frames other than ACK and
PADDING frames.
Paragraph (version A):
To limit the ranges of acknowledged packet numbers to those that have
not yet been received by the sender, the receiver SHOULD track which
ACK frames have been acknowledged by its peer.  The receiver SHOULD
exclude already acknowledged packets from future ACK frames whenever
these packets would unnecessarily contribute to the ACK frame size.
Paragraph (version B):
To limit ACK Ranges (see ack-ranges) to those that have not yet been
received by the sender, the receiver SHOULD track which ACK frames
have been acknowledged by its peer.  The receiver SHOULD exclude
already acknowledged packets from future ACK frames whenever these
packets would unnecessarily contribute to the ACK frame size.
Paragraph (version A):
A variable-length integer indicating the number of contiguous
packets preceding the Largest Acknowledged that are being
acknowledged.  The First ACK Range is encoded as an ACK Range (see
ack-ranges) starting from the Largest Acknowledged.  That is, the
smallest packet number included in the range is determined by
subtracting the First ACK Range value from the Largest
Acknowledged.
Paragraph (version A):
Contains additional ranges of packet numbers which are alternately
not acknowledged (Gap) and acknowledged (ACK Range), see ack-
ranges.
Paragraph (version B):
A variable-length integer indicating the number of contiguous
packets preceding the Largest Acknowledged that are being
acknowledged.  The First ACK Range is encoded as an ACK Range (see
ack-ranges) starting from the Largest Acknowledged.  That is, the
smallest packet acknowledged in the range is determined by
subtracting the First ACK Range value from the Largest
Acknowledged.
Paragraph (version B):
Contains additional ranges of packets which are alternately not
acknowledged (Gap) and acknowledged (ACK Range), see ack-ranges.
Paragraph (version A):
An ACK Range acknowledges all packet numbers between the smallest
packet number and the largest, inclusive.
Paragraph (version B):
An ACK Range acknowledges all packets between the smallest packet
number and the largest, inclusive.