Switch to flag based cache validation
This commit is contained in:
@@ -9,12 +9,23 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/safing/portbase/log"
|
||||
"github.com/safing/portbase/utils"
|
||||
)
|
||||
|
||||
var (
|
||||
networkChangeCheckTrigger = make(chan struct{}, 1)
|
||||
networkChangeCheckTrigger = make(chan struct{}, 1)
|
||||
networkChangedFlagController = utils.NewFlagController()
|
||||
)
|
||||
|
||||
func GetNetworkChangedFlag() *utils.Flag {
|
||||
return networkChangedFlagController.NewFlag()
|
||||
}
|
||||
|
||||
func notifyOfNetworkChange() {
|
||||
networkChangedFlagController.NotifyAndReset()
|
||||
module.TriggerEvent(NetworkChangedEvent, nil)
|
||||
}
|
||||
|
||||
func triggerNetworkChangeCheck() {
|
||||
select {
|
||||
case networkChangeCheckTrigger <- struct{}{}:
|
||||
@@ -82,7 +93,7 @@ serviceLoop:
|
||||
if trigger {
|
||||
triggerOnlineStatusInvestigation()
|
||||
}
|
||||
module.TriggerEvent(NetworkChangedEvent, nil)
|
||||
notifyOfNetworkChange()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user