From d3115e6259be7922b43aa848b71e46bb8ec9183d Mon Sep 17 00:00:00 2001 From: Daniele Alessandri Date: Fri, 18 Dec 2009 21:04:44 +0100 Subject: [PATCH] Trivial changes in HashRing::getNodeKey. --- lib/Predis.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/Predis.php b/lib/Predis.php index 92fecb43..8a20caeb 100644 --- a/lib/Predis.php +++ b/lib/Predis.php @@ -856,24 +856,26 @@ class HashRing { } private function getNodeKey($key) { - $upper = count($this->_ringKeys) - 1; + $ringKeys = $this->_ringKeys; + + $upper = count($ringKeys) - 1; $lower = 0; $index = 0; while ($lower <= $upper) { $index = ($lower + $upper) / 2; - $item = $this->_ringKeys[$index]; - if ($item === $key) { - return $index; - } - else if ($item > $key) { + $item = $ringKeys[$index]; + if ($item > $key) { $upper = $index - 1; } - else { + else if ($item < $key) { $lower = $index + 1; } + else { + return $index; + } } - return $this->_ringKeys[$upper]; + return $ringKeys[$upper]; } }