Documentation

AbstractBackoffStrategy
in package
implements BackoffStrategyInterface

AbstractYes

Abstract backoff strategy that allows for a chain of responsibility

Table of Contents

Interfaces

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

Properties

$next  : AbstractBackoffStrategy

Methods

getBackoffPeriod()  : bool|int
Get the amount of time to delay in seconds before retrying a request
getNext()  : AbstractBackoffStrategy|null
Get the next backoff strategy in the chain
makesDecision()  : bool
Check if the strategy does filtering and makes decisions on whether or not to retry.
setNext()  : mixed
getDelay()  : bool|int|null
Implement the concrete strategy

Properties

Methods

getBackoffPeriod()

Get the amount of time to delay in seconds before retrying a request

public getBackoffPeriod(mixed $retries, RequestInterface $request[, Response $response = null ][, HttpException $e = null ]) : bool|int
Parameters
$retries : mixed

Number of retries of the request

$request : RequestInterface

Request that was sent

$response : Response = null

Response that was received. Note that there may not be a response

$e : HttpException = null

Exception that was encountered if any

Return values
bool|int

Returns false to not retry or the number of seconds to delay between retries

makesDecision()

Check if the strategy does filtering and makes decisions on whether or not to retry.

public abstract makesDecision() : bool

Strategies that return false will never retry if all of the previous strategies in a chain defer on a backoff decision.

Return values
bool

getDelay()

Implement the concrete strategy

protected abstract getDelay(int $retries, RequestInterface $request[, Response $response = null ][, HttpException $e = null ]) : bool|int|null
Parameters
$retries : int

Number of retries of the request

$request : RequestInterface

Request that was sent

$response : Response = null

Response that was received. Note that there may not be a response

$e : HttpException = null

Exception that was encountered if any

Return values
bool|int|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.


        
On this page

Search results