Ejemplo n.º 1
0
 /**
  * @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');
 }
Ejemplo n.º 2
0
 /**
  * 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();
     }
 }