test(gateway): qualify production path artifacts
This commit is contained in:
@@ -113,11 +113,6 @@ func (m *Metrics) observeProviderState(state string) {
|
||||
}
|
||||
}
|
||||
|
||||
type Pacer struct {
|
||||
bytesPerSecond int64
|
||||
last time.Time
|
||||
}
|
||||
|
||||
// fairPacer is the gateway's one shared, equal-tier media scheduler. Each
|
||||
// session can hold only its existing bounded provider media channel while it
|
||||
// waits for the next reservation, so a slow client cannot grow a global queue.
|
||||
@@ -207,32 +202,3 @@ func (p *fairPacer) wait(ctx context.Context, flow string, bytes int) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func NewPacer(kbps int64) *Pacer {
|
||||
if kbps < 1 {
|
||||
return &Pacer{}
|
||||
}
|
||||
return &Pacer{bytesPerSecond: kbps * 1000 / 8}
|
||||
}
|
||||
|
||||
func (p *Pacer) Wait(ctx context.Context, bytes int) error {
|
||||
if p.bytesPerSecond < 1 || bytes < 1 {
|
||||
return nil
|
||||
}
|
||||
now := time.Now()
|
||||
if p.last.IsZero() || now.After(p.last) {
|
||||
p.last = now
|
||||
}
|
||||
delay := time.Duration(float64(bytes) / float64(p.bytesPerSecond) * float64(time.Second))
|
||||
p.last = p.last.Add(delay)
|
||||
if wait := time.Until(p.last); wait > 0 {
|
||||
timer := time.NewTimer(wait)
|
||||
defer timer.Stop()
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
return ctx.Err()
|
||||
case <-timer.C:
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user