This repository was archived by the owner on Jan 24, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +3
-2
lines changed
pkg/protocol/engine/congestioncontrol/scheduler/drr Expand file tree Collapse file tree 2 files changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -371,7 +371,7 @@ func (b *BasicBuffer) ringInsert(v interface{}) *ring.Ring {
371
371
func (b * BasicBuffer ) waitTime (rate float64 , block * blocks.Block ) time.Duration {
372
372
tokensRequired := float64 (block .WorkScore ()) - (b .tokenBucket + rate * time .Since (b .lastScheduleTime ).Seconds ())
373
373
374
- return lo .Max (0 , time .Duration (tokensRequired / rate ))
374
+ return lo .Max (0 , time .Duration (tokensRequired / rate )* time . Second )
375
375
}
376
376
377
377
func (b * BasicBuffer ) updateTokenBucket (rate float64 , tokenBucketSize float64 ) {
Original file line number Diff line number Diff line change @@ -370,10 +370,11 @@ loop:
370
370
case blockToSchedule = <- s .basicBuffer .blockChan :
371
371
currentAPI := s .apiProvider .CommittedAPI ()
372
372
rate := currentAPI .ProtocolParameters ().CongestionControlParameters ().SchedulerRate
373
- if waitTime := s .basicBuffer .waitTime (float64 (rate ), blockToSchedule ); waitTime > 0 {
373
+ for waitTime := s .basicBuffer .waitTime (float64 (rate ), blockToSchedule ); waitTime > 0 ; {
374
374
timer := time .NewTimer (waitTime )
375
375
<- timer .C
376
376
}
377
+
377
378
s .basicBuffer .updateTokenBucket (float64 (rate ), float64 (currentAPI .MaxBlockWork ()))
378
379
379
380
s .scheduleBasicBlock (blockToSchedule )
You can’t perform that action at this time.
0 commit comments