https://github.com/codepr/rublo
Very simple rust bloom filter
https://github.com/codepr/rublo
Last synced: 5 months ago
JSON representation
Very simple rust bloom filter
- Host: GitHub
- URL: https://github.com/codepr/rublo
- Owner: codepr
- Created: 2021-03-14T12:41:41.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-01-09T23:40:37.000Z (over 1 year ago)
- Last Synced: 2025-01-10T00:31:56.505Z (over 1 year ago)
- Language: Rust
- Size: 133 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Rublo
=====
Very simple `tokio`-based asynchronous bloom filter server. [Bloom filter](https://en.wikipedia.org/wiki/Bloom_filter) is a
probabilistic data structure which is used to test the membership of elements
in a large set, trading precision for space-efficiency and performance.
This is a simple implementation using a non-cryptographic hashing function
Murmur3 to generate the digests to set and check the presence of elements in
the each filter. A tokio based TCP server exposes the following text protocol:
- `create filter-name [capacity false-positive-probability]`
- `set filter-name key`
- `check filter-name key`
- `info filter-name`
- `clear filter-name`
Each command can be executed from any TCP client such as `netcat` or `telnet`.
Each filter is periodically dumped to disk for disaster recovery.