hrw

Crates.iohrw
lib.rshrw
version0.1.2
created_at2025-08-14 15:34:39.874913+00
updated_at2025-08-15 19:12:08.593908+00
descriptionA simple, generic implementation of Highest Random Weight (HRW or Rendezvous) hashing
homepage
repositoryhttps://github.com/sweet-security/hrw
max_upload_size
id1794995
size13,900
Tomer Filiba (tomerfiliba)

documentation

README

hrw

A simple, generic implementation of Highest Random Weight (HRW or Rendezvous) hashing in Rust.

Features

  • Deterministic node selection for any key
  • Pluggable hashers (e.g., ahash, std)
  • Add/remove nodes at runtime
  • No external dependencies for core logic

Example

use hrw::Rendezvous;

let mut r = Rendezvous::from_nodes(["A", "B"]);
assert_eq!(r.len(), 2);
r.add_node("C");
assert_eq!(r.len(), 3);
r.remove_node(&"B");
assert_eq!(r.len(), 2);
let chosen = r.pick_top(&"my-key");
assert!(chosen.is_some());

License

MIT

Commit count: 0

cargo fmt