Class AbstractBackoffStrategy
Abstract backoff strategy that allows for a chain of responsibility
- Guzzle\Plugin\Backoff\AbstractBackoffStrategy implements Guzzle\Plugin\Backoff\BackoffStrategyInterface
Direct known subclasses
Aws\Common\Client\ExpiredCredentialsChecker
,
Aws\Common\Client\ThrottlingErrorChecker
,
Guzzle\Plugin\Backoff\TruncatedBackoffStrategy
,
Aws\DynamoDb\Crc32ErrorChecker
,
Aws\S3\IncompleteMultipartUploadChecker
,
Aws\S3\SocketTimeoutChecker
,
Guzzle\Plugin\Backoff\AbstractErrorCodeBackoffStrategy
,
Guzzle\Plugin\Backoff\CallbackBackoffStrategy
,
Guzzle\Plugin\Backoff\ConstantBackoffStrategy
,
Guzzle\Plugin\Backoff\ExponentialBackoffStrategy
,
Guzzle\Plugin\Backoff\LinearBackoffStrategy
Indirect known subclasses
Guzzle\Plugin\Backoff\CurlBackoffStrategy
,
Guzzle\Plugin\Backoff\HttpBackoffStrategy
,
Guzzle\Plugin\Backoff\ReasonPhraseBackoffStrategy
Namespace: Guzzle\Plugin\Backoff
Located at Guzzle/Plugin/Backoff/AbstractBackoffStrategy.php
Methods summary
-
public
setNext ( Guzzle\Plugin\Backoff\AbstractBackoffStrategy $next )
-
public
getNext ( )
Get the next backoff strategy in the chain
-
public
getBackoffPeriod ( int $retries, Guzzle\Http\Message\RequestInterface $request, Guzzle\Http\Message\Response $response = null, Guzzle\Http\Exception\HttpException $e = null )
Get the amount of time to delay in seconds before retrying a request
-
abstract public
makesDecision ( )
Check if the strategy does filtering and makes decisions on whether or not to retry.
-
abstract protected
getDelay ( int $retries, Guzzle\Http\Message\RequestInterface $request, Guzzle\Http\Message\Response $response = null, Guzzle\Http\Exception\HttpException $e = null )
Implement the concrete strategy
Methods detail
Parameters
- $next
Guzzle\Plugin\Backoff\AbstractBackoffStrategy
$next Next strategy in the chain
Get the next backoff strategy in the chain
Returns
public
boolean|integer
getBackoffPeriod( integer $retries, Guzzle\Http\Message\RequestInterface
$request, Guzzle\Http\Message\Response
$response = null, Guzzle\Http\Exception\HttpException
$e = null )
Get the amount of time to delay in seconds before retrying a request
Parameters
- $retries
integer
$retries Number of retries of the request- $request
Guzzle\Http\Message\RequestInterface
$request Request that was sent- $response
Guzzle\Http\Message\Response
$response Response that was received. Note that there may not be a response- $e
Guzzle\Http\Exception\HttpException
$e Exception that was encountered if any
Returns
boolean|integer
Returns false to not retry or the number of seconds to delay between retries
Implementation of
Check if the strategy does filtering and makes decisions on whether or not to retry.
Strategies that return false will never retry if all of the previous strategies in a chain defer on a backoff decision.
Returns
boolean
abstract protected
boolean|integer|null
getDelay( integer $retries, Guzzle\Http\Message\RequestInterface
$request, Guzzle\Http\Message\Response
$response = null, Guzzle\Http\Exception\HttpException
$e = null )
Implement the concrete strategy
Parameters
- $retries
integer
$retries Number of retries of the request- $request
Guzzle\Http\Message\RequestInterface
$request Request that was sent- $response
Guzzle\Http\Message\Response
$response Response that was received. Note that there may not be a response- $e
Guzzle\Http\Exception\HttpException
$e Exception that was encountered if any
Returns
boolean|integer|null
Returns false to not retry or the number of seconds to delay between retries. Return true or null to defer to the next strategy if available, and if not, return 0.
Magic methods summary
Properties summary
protected
|
$next |
#
Next strategy in the chain |