1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-07-30 14:43:05 +03:00

Start sending ACK_ECN frames only after we've seen marked packets

Summary: As title.

Reviewed By: mjoras

Differential Revision: D68642269

fbshipit-source-id: 40ad3a683a8efbbdf69e145be55aca7861081e0d
This commit is contained in:
Joseph Beshay
2025-01-28 10:10:09 -08:00
committed by Facebook GitHub Bot
parent 4667db4172
commit ce3e9b02f5

View File

@ -606,10 +606,14 @@ Optional<PacketNum> AckScheduler::writeNextAcks(
.maxReceiveTimestampsPerAck
: 0;
if (conn_.transportSettings.readEcnOnIngress) {
// If ECN is enabled and we can use it, this will currently take
// priority over sending receive timestamps. There is currently no provision
// for a frame time that includes both ECN counts and receive timestamps.
if (conn_.transportSettings.readEcnOnIngress &&
(meta.ackState.ecnECT0CountReceived ||
meta.ackState.ecnECT1CountReceived ||
meta.ackState.ecnCECountReceived)) {
// If echoing ECN is enabled and we have seen marked packets, this will
// currently take priority over sending receive timestamps. There is
// currently no provision for a frame time that includes both ECN counts and
// receive timestamps.
// TODO: explore design changes for an ACK frame that supports both ECN and
// receive timestamps
ackWriteResult = writeAckFrame(meta, builder, FrameType::ACK_ECN);