[#92] Embed policer's objectsInWork mutex

Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
pull/471/head
Alejandro Lopez 2023-06-30 10:08:36 +03:00 committed by Evgenii Stratonikov
parent f9730f090d
commit 3223402c90
1 changed files with 7 additions and 7 deletions

View File

@ -11,28 +11,28 @@ import (
) )
type objectsInWork struct { type objectsInWork struct {
m sync.RWMutex sync.RWMutex
objs map[oid.Address]struct{} objs map[oid.Address]struct{}
} }
func (oiw *objectsInWork) inWork(addr oid.Address) bool { func (oiw *objectsInWork) inWork(addr oid.Address) bool {
oiw.m.RLock() oiw.RLock()
_, ok := oiw.objs[addr] _, ok := oiw.objs[addr]
oiw.m.RUnlock() oiw.RUnlock()
return ok return ok
} }
func (oiw *objectsInWork) remove(addr oid.Address) { func (oiw *objectsInWork) remove(addr oid.Address) {
oiw.m.Lock() oiw.Lock()
delete(oiw.objs, addr) delete(oiw.objs, addr)
oiw.m.Unlock() oiw.Unlock()
} }
func (oiw *objectsInWork) add(addr oid.Address) { func (oiw *objectsInWork) add(addr oid.Address) {
oiw.m.Lock() oiw.Lock()
oiw.objs[addr] = struct{}{} oiw.objs[addr] = struct{}{}
oiw.m.Unlock() oiw.Unlock()
} }
// Policer represents the utility that verifies // Policer represents the utility that verifies