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
1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 |
# File 'lib/memcache.rb', line 1086 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 |