Skip to content

Add AtomicCountingBloomFilter - #15

Merged
MovAh13h merged 1 commit into
masterfrom
feat/atomic-counting-filter
May 13, 2026
Merged

MovAh13h merged 1 commit into
masterfrom
feat/atomic-counting-filter

Conversation

@MovAh13h

Copy link
Copy Markdown
Owner

A lock-free counting bloom filter that supports concurrent insertion and deletion — combining the semantics of CountingBloomFilter with the thread-safety of AtomicBloomFilter.

  • Lock-free insert(&self) via ConcurrentFilter using a CAS loop for saturating u8 counter increments (no fetch_add to avoid wrapping)
  • Lock-free remove(&self) -> bool with a two-pass check+CAS-decrement approach that prevents underflow under concurrent removes
  • clear(&mut self) for exclusive reset
  • Manual Debug and Clone (Acquire loading per element)
  • Serde support via shadow Data struct (same pattern as AtomicBloomFilter)
  • Full test suite: construction errors, no false negatives (proptest), deletion, concurrency (8 threads × 1 000 items), statistical FPR bounds

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@MovAh13h
MovAh13h merged commit 2ffdc19 into master May 13, 2026
@MovAh13h
MovAh13h deleted the feat/atomic-counting-filter branch May 13, 2026 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant