From cae33a22e65cd023645107af45177577683210d3 Mon Sep 17 00:00:00 2001 From: 9seconds Date: Mon, 15 Mar 2021 10:53:29 +0300 Subject: [PATCH] Make stable bloom filter threadsafe --- antireplay/stable_bloom_filter.go | 6 ++++++ 1 file changed, 6 insertions(+) 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) }