Open Monograph Press  3.3.0
CallbackBackoffStrategy.php
1 <?php
2 
3 namespace Guzzle\Plugin\Backoff;
4 
9 
14 {
16  protected $callback;
17 
19  protected $decision;
20 
29  {
30  if (!is_callable($callback)) {
31  throw new InvalidArgumentException('The callback must be callable');
32  }
33  $this->callback = $callback;
34  $this->decision = (bool) $decision;
35  $this->next = $next;
36  }
37 
38  public function makesDecision()
39  {
40  return $this->decision;
41  }
42 
43  protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null)
44  {
45  return call_user_func($this->callback, $retries, $request, $response, $e);
46  }
47 }
Guzzle\Http\Message\RequestInterface
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestInterface.php:16
Guzzle\Plugin\Backoff\AbstractBackoffStrategy
Definition: AbstractBackoffStrategy.php:12
Guzzle\Plugin\Backoff\CallbackBackoffStrategy\$decision
$decision
Definition: CallbackBackoffStrategy.php:25
Guzzle\Http\Exception\HttpException
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/HttpException.php:10
Guzzle\Plugin\Backoff\CallbackBackoffStrategy\makesDecision
makesDecision()
Definition: CallbackBackoffStrategy.php:44
Guzzle\Http\Message\Response
Definition: paymethod/paypal/lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Response.php:17
Guzzle\Plugin\Backoff\CallbackBackoffStrategy\$callback
$callback
Definition: CallbackBackoffStrategy.php:19
Guzzle\Plugin\Backoff
Definition: AbstractBackoffStrategy.php:3
Guzzle\Plugin\Backoff\AbstractBackoffStrategy\$next
$next
Definition: AbstractBackoffStrategy.php:18
Guzzle\Plugin\Backoff\CallbackBackoffStrategy
Definition: CallbackBackoffStrategy.php:13
Guzzle\Plugin\Backoff\CallbackBackoffStrategy\__construct
__construct($callback, $decision, BackoffStrategyInterface $next=null)
Definition: CallbackBackoffStrategy.php:34
Guzzle\Common\Exception\InvalidArgumentException
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/InvalidArgumentException.php:5
Guzzle\Plugin\Backoff\CallbackBackoffStrategy\getDelay
getDelay($retries, RequestInterface $request, Response $response=null, HttpException $e=null)
Definition: CallbackBackoffStrategy.php:49
Guzzle\Plugin\Backoff\BackoffStrategyInterface
Definition: BackoffStrategyInterface.php:12