$INPUT_BUFFERED_STICKY_DURATION

master
Bel LaPointe 2023-03-23 17:00:49 -06:00
parent 4f48ee805f
commit 1fc6d71db6
1 changed files with 7 additions and 2 deletions

View File

@ -2,6 +2,7 @@ package input
import (
"context"
"os"
"sync"
"time"
)
@ -18,14 +19,18 @@ type Buffered struct {
func NewBuffered(ctx context.Context, input Input) *Buffered {
ctx, can := context.WithCancel(ctx)
expirationInterval := time.Millisecond * 125
if d, err := time.ParseDuration(os.Getenv("INPUT_BUFFERED_STICKY_DURATION")); err == nil {
expirationInterval = d
}
result := &Buffered{
input: input,
ctx: ctx,
can: can,
lock: sync.Mutex{},
keys: map[byte]int64{},
listenInterval: time.Millisecond * 20,
expirationInterval: time.Millisecond * 100,
listenInterval: time.Millisecond * 10,
expirationInterval: expirationInterval,
}
go result.listen()
return result