Module: Continuum
- Defined in:
- lib/memcache.rb,
lib/continuum_native.rb
Defined Under Namespace
Classes: Entry
Constant Summary collapse
- POINTS_PER_SERVER =
this is the default in libmemcached
160
Class Method Summary collapse
-
.binary_search(ary, value, &block) ⇒ Object
Find the closest index in Continuum with value <= the given value.
Class Method Details
.binary_search(ary, value, &block) ⇒ Object
Find the closest index in Continuum with value <= the given value
1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 |
# File 'lib/memcache.rb', line 1097 def self.binary_search(ary, value, &block) upper = ary.size - 1 lower = 0 idx = 0 while(lower <= upper) do idx = (lower + upper) / 2 comp = ary[idx].value <=> value if comp == 0 return idx elsif comp > 0 upper = idx - 1 else lower = idx + 1 end end return upper end |