nginx-proxy-manager-zh/backend/internal/state/state.go

32 lines
608 B
Go
Raw Normal View History

package state
import (
"sync"
)
// AppState holds pointers to channels and waitGroups
// shared by all goroutines of the application
type AppState struct {
waitGroup sync.WaitGroup
termSig chan bool
}
// NewState creates a new app state
func NewState() *AppState {
state := &AppState{
// buffered channel
termSig: make(chan bool, 1),
}
return state
}
// GetWaitGroup returns the state's wg
func (state *AppState) GetWaitGroup() *sync.WaitGroup {
return &state.waitGroup
}
// GetTermSig returns the state's term signal
func (state *AppState) GetTermSig() chan bool {
return state.termSig
}