[−][src]Function consistent_hash_ring::migrated_ranges
pub fn migrated_ranges<'a, T: Hash + Eq + Clone, S: BuildHasher>(
src: &'a Ring<T, S>,
dst: &'a Ring<T, S>
) -> impl Iterator<Item = Migrated<'a, T>> + 'a
Returns an iterator over any hash ranges in src
that map to a different node in dst
.
use consistent_hash_ring::*; let src = RingBuilder::default() .nodes_iter(vec!["foo", "bar"]) .vnodes(1) .build(); let dst = RingBuilder::default() .nodes_iter(vec!["foo", "bar", "Baz"]) .vnodes(1) .build(); let m = migrated_ranges(&src, &dst).next().unwrap(); // keys whose hashes fall in this range map to foo in src, and Baz in dst. assert_eq!(*m.keys(), 11131327745321301792..=13944671288569533511); assert_eq!(*m.src(), "foo"); assert_eq!(*m.dst(), "Baz");