RetryExecutor
in package
implements
ExecutorInterface
FinalYes
Table of Contents
Interfaces
Properties
Methods
- __construct() : mixed
- query() : PromiseInterface<string|int, Message>
- Executes a query and will return a response message
- tryQuery() : mixed
Properties
$executor
private
mixed
$executor
$retries
private
mixed
$retries
Methods
__construct()
public
__construct(ExecutorInterface $executor[, mixed $retries = 2 ]) : mixed
Parameters
- $executor : ExecutorInterface
- $retries : mixed = 2
query()
Executes a query and will return a response message
public
query(Query $query) : PromiseInterface<string|int, Message>
It returns a Promise which either fulfills with a response
React\Dns\Model\Message
on success or rejects with an Exception
if
the query is not successful. A response message may indicate an error
condition in its rcode
, but this is considered a valid response message.
$executor->query($query)->then(
function (React\Dns\Model\Message $response) {
// response message successfully received
var_dump($response->rcode, $response->answers);
},
function (Exception $error) {
// failed to query due to $error
}
);
The returned Promise MUST be implemented in such a way that it can be cancelled when it is still pending. Cancelling a pending promise MUST reject its value with an Exception. It SHOULD clean up any underlying resources and references as applicable.
$promise = $executor->query($query);
$promise->cancel();
Parameters
- $query : Query
Return values
PromiseInterface<string|int, Message> —resolves with response message on success or rejects with an Exception on error
tryQuery()
public
tryQuery(Query $query, mixed $retries) : mixed
Parameters
- $query : Query
- $retries : mixed