fix: logic issues with BBR impl

This commit is contained in:
tobyxdd 2025-12-29 19:24:30 -08:00
parent 001eaa28e9
commit 4bf55a99ed
2 changed files with 3 additions and 3 deletions

View file

@ -199,7 +199,7 @@ func (m *maxAckHeightTracker) Update(
// Compute how many extra bytes were delivered vs max bandwidth.
extraBytesAcked := m.aggregationEpochBytes - expectedBytesAcked
newEvent := extraAckedEvent{
extraAcked: expectedBytesAcked,
extraAcked: extraBytesAcked,
bytesAcked: m.aggregationEpochBytes,
timeDelta: aggregationDelta,
}

View file

@ -23,7 +23,7 @@ import (
//
const (
minBps = 65536 // 64 kbps
minBps = 65536 // 64 KB/s
invalidPacketNumber = -1
initialCongestionWindowPackets = 32
@ -553,7 +553,7 @@ func (b *bbrSender) bandwidthEstimate() Bandwidth {
}
func (b *bbrSender) bandwidthForPacer() congestion.ByteCount {
bps := congestion.ByteCount(float64(b.bandwidthEstimate()) * b.congestionWindowGain / float64(BytesPerSecond))
bps := congestion.ByteCount(float64(b.PacingRate()) / float64(BytesPerSecond))
if bps < minBps {
// We need to make sure that the bandwidth value for pacer is never zero,
// otherwise it will go into an edge case where HasPacingBudget = false