Contributing
See the full CONTRIBUTING.md in the repository root.
Quick Start
git clone https://github.com/ddsha441981/pulse_map.git
cd pulse_map
cargo build
cargo test
Before Submitting
cargo fmt # Format
cargo clippy -- -D warnings # Lint (zero warnings)
cargo test # All tests pass
cargo doc --no-deps # No doc warnings
Architecture
Layer 5: sharded.rs → ShardedPulseMap (16 shards)
Layer 4: sync.rs → ConcurrentPulseMap
Layer 3: lib.rs → User API (TypedPulseMap, PulseMap)
Layer 2: raw.rs → Hash table logic + per-entry TTL
Layer 1: engine/ → MetaWord, Slot, Bucket, hash, slab
Key Rules
- Every bucket = exactly 64 bytes
- Eviction is zero-cost (metadata in cache line)
- No heap allocation in hot path
- Thread safety via
&self(no&mut selffor CRUD)
License
By contributing, you agree your contributions are licensed under MIT OR Apache-2.0.