Method: Redis::HashRing#iter_nodes

Defined in:
lib/redis/hash_ring.rb

#iter_nodes(key) ⇒ Object



52
53
54
55
56
57
58
59
60
# File 'lib/redis/hash_ring.rb', line 52

def iter_nodes(key)
  return [nil, nil] if @ring.empty?

  crc = hash_for(key)
  pos = binary_search(@sorted_keys, crc)
  @ring.size.times do |n|
    yield @ring[@sorted_keys[(pos + n) % @ring.size]]
  end
end