safing-portmaster/network/environment/interface.go

27 lines
464 B
Go

package environment
import (
"sync"
"sync/atomic"
)
type EnvironmentInterface struct {
lastNetworkChange int64
lock sync.Mutex
}
func NewInterface() *EnvironmentInterface {
return &EnvironmentInterface{
lastNetworkChange: 0,
}
}
func (env *EnvironmentInterface) NetworkChanged() bool {
env.lock.Lock()
defer env.lock.Unlock()
lnc := atomic.LoadInt64(lastNetworkChange)
if lnc > env.lastNetworkChange {
return true
}
return false
}