/** * Compare quality factors of preferences. * * @param PreferenceInterface $lValue * @param PreferenceInterface $rValue * * @return int -1, 0, 1 (see usort() callback for meaning) */ private function compareQualityFactor(PreferenceInterface $lValue, PreferenceInterface $rValue) { if ($rValue->getQualityFactor() < $lValue->getQualityFactor()) { return -1; } elseif ($rValue->getQualityFactor() > $lValue->getQualityFactor()) { return 1; } else { return 0; } }
/** * Returns the product of the server & client quality factors. * * @return float */ public function getQualityFactor() { return $this->clientPref->getQualityFactor() * $this->serverPref->getQualityFactor(); }