26 lines
348 B
Go
26 lines
348 B
Go
package internal
|
|
|
|
import (
|
|
"sync"
|
|
"time"
|
|
)
|
|
|
|
type LicenseChecker struct {
|
|
LicenseAPIURL string
|
|
APIKey string
|
|
PollInterval time.Duration
|
|
|
|
mu sync.RWMutex
|
|
lastGood time.Time
|
|
valid bool
|
|
}
|
|
|
|
func (lc *LicenseChecker) setValid(ok bool) {
|
|
lc.mu.Lock()
|
|
defer lc.mu.Unlock()
|
|
lc.valid = ok
|
|
if ok {
|
|
lc.lastGood = time.Now()
|
|
}
|
|
}
|