Compare commits

...

3 Commits

Author SHA1 Message Date
落心
489b145d09
Merge 63f7182f2b into 063836fe5d 2024-06-06 21:16:47 +08:00
wwqgtxx
063836fe5d chore: sync hysteria2 bbr changes
e0e75c4630
2024-06-05 11:56:27 +08:00
落心
63f7182f2b
resolveMetadata 方法中的配置对齐
Signed-off-by: 落心 <33619903+Luoxin@users.noreply.github.com>
2024-03-13 11:58:43 +08:00
2 changed files with 9 additions and 10 deletions

View File

@ -62,7 +62,7 @@ const (
// Flag.
defaultStartupFullLossCount = 8
quicBbr2DefaultLossThreshold = 0.02
maxBbrBurstPackets = 3
maxBbrBurstPackets = 10
)
type bbrMode int
@ -334,6 +334,8 @@ func (b *bbrSender) OnPacketSent(
}
b.sampler.OnPacketSent(sentTime, packetNumber, bytes, bytesInFlight, isRetransmittable)
b.maybeAppLimited(bytesInFlight)
}
// CanSend implements the SendAlgorithm interface.
@ -413,8 +415,6 @@ func (b *bbrSender) OnCongestionEventEx(priorInFlight congestion.ByteCount, even
// packet in lost_packets.
var lastPacketSendState sendTimeState
b.maybeApplimited(priorInFlight)
// Update bytesInFlight
b.bytesInFlight = priorInFlight
for _, p := range ackedPackets {
@ -541,7 +541,7 @@ func (b *bbrSender) setDrainGain(drainGain float64) {
b.drainGain = drainGain
}
// What's the current estimated bandwidth in bytes per second.
// Get the current bandwidth estimate. Note that Bandwidth is in bits per second.
func (b *bbrSender) bandwidthEstimate() Bandwidth {
return b.maxBandwidth.GetBest()
}
@ -700,14 +700,13 @@ func (b *bbrSender) checkIfFullBandwidthReached(lastPacketSendState *sendTimeSta
}
}
func (b *bbrSender) maybeApplimited(bytesInFlight congestion.ByteCount) {
func (b *bbrSender) maybeAppLimited(bytesInFlight congestion.ByteCount) {
congestionWindow := b.GetCongestionWindow()
if bytesInFlight >= congestionWindow {
return
}
availableBytes := congestionWindow - bytesInFlight
drainLimited := b.mode == bbrModeDrain && bytesInFlight > congestionWindow/2
if !drainLimited || availableBytes > maxBbrBurstPackets*b.maxDatagramSize {
if availableBytes > maxBbrBurstPackets*b.maxDatagramSize {
b.sampler.OnAppLimited()
}
}

View File

@ -58,11 +58,11 @@ func (m TunnelMode) MarshalYAML() (any, error) {
func (m TunnelMode) String() string {
switch m {
case Global:
return "global"
return "GLOBAL"
case Rule:
return "rule"
return "RULE"
case Direct:
return "direct"
return "DIRECT"
default:
return "Unknown"
}