refresh users global ch

This commit is contained in:
bel
2023-03-25 10:25:11 -06:00
parent 2113252e2d
commit 97cc3ae151
4 changed files with 34 additions and 13 deletions

View File

@@ -4,7 +4,12 @@ import (
"context"
"mayhem-party/src/device/input/button"
"os"
"syscall"
)
var (
FlagBuffered = os.Getenv("WRAP_BUFFERED") == "true"
FlagRemapFile = os.Getenv("WRAP_REMAP_FILE")
FlagRefreshOnSigUsr1 = os.Getenv("WRAP_REFRESH_ON_SIGUSR1") == "true"
)
type Wrap interface {
@@ -16,23 +21,22 @@ func New(ctx context.Context, srcFunc func() button.Parser) Wrap {
maker := func() Wrap {
return srcFunc()
}
if os.Getenv("WRAP_BUFFERED") == "true" {
if FlagBuffered {
oldMaker := maker
maker = func() Wrap {
return NewBuffered(ctx, oldMaker())
}
}
if p := os.Getenv("WRAP_REMAP_FILE"); p != "" {
if FlagRemapFile != "" {
oldMaker := maker
maker = func() Wrap {
return NewRemapFromFile(oldMaker(), p)
return NewRemapFromFile(oldMaker(), FlagRemapFile)
}
}
if os.Getenv("WRAP_REFRESH_ON_SIGUSR1") != "" {
if FlagRefreshOnSigUsr1 {
oldMaker := maker
c := NewRefreshCh(syscall.SIGUSR1)
maker = func() Wrap {
return NewRefresh(oldMaker, c)
return NewRefresh(oldMaker)
}
}
return maker()