class Redis::HashRing
def add_node(node)
def add_node(node) @nodes << node @replicas.times do |i| key = Zlib.crc32("#{node.id}:#{i}") raise "Node ID collision" if @ring.has_key?(key) @ring[key] = node @sorted_keys << key end @sorted_keys.sort! end
def add_node(node) @nodes << node @replicas.times do |i| key = Zlib.crc32("#{node.id}:#{i}") raise "Node ID collision" if @ring.has_key?(key) @ring[key] = node @sorted_keys << key end @sorted_keys.sort! end