1: <?php
2:
3: namespace Guzzle\Plugin\Backoff;
4:
5: use Guzzle\Http\Message\RequestInterface;
6: use Guzzle\Http\Message\Response;
7: use Guzzle\Http\Exception\HttpException;
8:
9: /**
10: * Strategy to determine if a request should be retried and how long to delay between retries
11: */
12: interface BackoffStrategyInterface
13: {
14: /**
15: * Get the amount of time to delay in seconds before retrying a request
16: *
17: * @param int $retries Number of retries of the request
18: * @param RequestInterface $request Request that was sent
19: * @param Response $response Response that was received. Note that there may not be a response
20: * @param HttpException $e Exception that was encountered if any
21: *
22: * @return bool|int Returns false to not retry or the number of seconds to delay between retries
23: */
24: public function getBackoffPeriod(
25: $retries,
26: RequestInterface $request,
27: Response $response = null,
28: HttpException $e = null
29: );
30: }
31: