demo/
demo.rs

1use ringhash::Consistent;
2
3fn main() {
4    let c = Consistent::new();
5    c.add("cacheA");
6    c.add("cacheB");
7    c.add("cacheC");
8    let users = vec![
9        "user_mcnulty",
10        "user_bunk",
11        "user_omar",
12        "user_bunny",
13        "user_stringer",
14    ];
15    println!("initial state [A, B, C]");
16    for u in users.iter() {
17        let server = c.get(u).unwrap();
18        println!("{} => {}", u, server);
19    }
20    c.add("cacheD");
21    c.add("cacheE");
22    println!("with cacheD, cacheE added [A, B, C, D, E]");
23    for u in users.iter() {
24        let server = c.get(u).unwrap();
25        println!("{} => {}", u, server);
26    }
27    c.remove("cacheC");
28    println!("with cacheC removed [A, B, D, E]");
29    for u in users.iter() {
30        let server = c.get(u).unwrap();
31        println!("{} => {}", u, server);
32    }
33}