diff --git a/antireplay/stable_bloom_filter.go b/antireplay/stable_bloom_filter.go index 6eef3f5..b52631e 100644 --- a/antireplay/stable_bloom_filter.go +++ b/antireplay/stable_bloom_filter.go @@ -1,6 +1,8 @@ package antireplay import ( + "sync" + "github.com/9seconds/mtg/v2/mtglib" "github.com/OneOfOne/xxhash" boom "github.com/tylertreat/BoomFilters" @@ -8,9 +10,13 @@ import ( type stableBloomFilter struct { filter boom.StableBloomFilter + mutex sync.Mutex } func (s *stableBloomFilter) SeenBefore(digest []byte) bool { + s.mutex.Lock() + defer s.mutex.Unlock() + return s.filter.TestAndAdd(digest) }