NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Interface BackoffStrategyInterface

Strategy to determine if a request should be retried and how long to delay between retries

### Direct known implementers

`Guzzle\Plugin\Backoff\AbstractBackoffStrategy`

### Indirect known implementers

`Aws\Common\Client\ExpiredCredentialsChecker`, `Aws\Common\Client\ThrottlingErrorChecker`, `Guzzle\Plugin\Backoff\HttpBackoffStrategy`, `Guzzle\Plugin\Backoff\LinearBackoffStrategy`, `Guzzle\Plugin\Backoff\ReasonPhraseBackoffStrategy`, `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\CurlBackoffStrategy`, `Guzzle\Plugin\Backoff\ExponentialBackoffStrategy`

Namespace: Guzzle\Plugin\Backoff
Located at Guzzle/Plugin/Backoff/BackoffStrategyInterface.php

## Methods summary

- `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

## Methods detail

# `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

### Magic methods summary