Class: Tarantool::Request::DefaultShardProc
- Inherits:
-
SumburMurmur32
- Object
- SumburMurmur32
- Tarantool::Request::DefaultShardProc
- Defined in:
- lib/tarantool/shards_support.rb
Instance Method Summary collapse
Instance Method Details
#call(shard_values, shards_count, this) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/tarantool/shards_support.rb', line 32 def call(shard_values, shards_count, this) if shard_values.all? hash = i = 0 size = shard_values.size while i < size hash = case value = shard_values[i] when Integer murmur3_32_int64_hash(value, hash) when String murmur3_32_str_hash(value, hash) else raise ValueError, "Default sharding proc could deal only with strings and integers" end i += 1 end sumbur(hash, shards_count) end end |