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 .maxReceiveTimestampsPerAck
: 0; : 0;
if (conn_.transportSettings.readEcnOnIngress) { if (conn_.transportSettings.readEcnOnIngress &&
// If ECN is enabled and we can use it, this will currently take (meta.ackState.ecnECT0CountReceived ||
// priority over sending receive timestamps. There is currently no provision meta.ackState.ecnECT1CountReceived ||
// for a frame time that includes both ECN counts and receive timestamps. 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 // TODO: explore design changes for an ACK frame that supports both ECN and
// receive timestamps // receive timestamps
ackWriteResult = writeAckFrame(meta, builder, FrameType::ACK_ECN); ackWriteResult = writeAckFrame(meta, builder, FrameType::ACK_ECN);