/** * @covers ::getRate */ public function test_getRate() { $this->assertSame(0.0, $this->Helper->getRate('foo.com'), 'Helper::getRate() should return 0'); $this->Helper->Stats['NewConnections'] = array(new DateTime('-1 day'), new DateTime('-1 day'), new DateTime('-1 day'), new DateTime('-1 day'), new DateTime('-1 day'), new DateTime('-1 min'), new DateTime('-1 min'), new DateTime('-1 min')); $this->assertSame(3.0, $this->Helper->getRate('foo.com'), 'Helper::getRate() should return 3'); $this->assertCount(3, $this->Helper->Stats['NewConnections'], 'Helper::getRate() failed to delete old data'); }
/** * Retrieves a curl connection to use. * * @ignore * @param string $Host * @return resource Locked resource. <code>FALSE</code> */ private function _lock($Host) { // Is current request rate too high if ($this->_Helper->getRate() >= floatval($this->_MaxRate)) { return false; // Are connections to host maxed out? } elseif ($this->_Helper->getConnections($Host) >= $this->_MaxConnections) { return false; } else { // Return free handle if any exists return $this->_Helper->getFreeHandle(); } }