Fix superfluous decision re-evaluations

This commit is contained in:
Daniel 2020-05-20 15:14:48 +02:00
parent c8223f1a63
commit e464ee136c
2 changed files with 14 additions and 1 deletions

View file

@ -178,7 +178,8 @@ func NewConnectionFromFirstPacket(pkt packet.Packet) *Connection {
// remote endpoint
Entity: entity,
// meta
Started: time.Now().Unix(),
Started: time.Now().Unix(),
profileRevisionCounter: proc.Profile().RevisionCnt(),
}
}

View file

@ -126,6 +126,18 @@ func (lp *LayeredProfile) getValidityFlag() *abool.AtomicBool {
return lp.validityFlag
}
// RevisionCnt returns the current profile revision counter.
func (lp *LayeredProfile) RevisionCnt() (revisionCounter uint64) {
if lp == nil {
return 0
}
lp.lock.Lock()
defer lp.lock.Unlock()
return lp.revisionCounter
}
// Update checks for updated profiles and replaces any outdated profiles.
func (lp *LayeredProfile) Update() (revisionCounter uint64) {
lp.lock.Lock()