TimeoutExecutor
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
Properties
$executor
private
mixed
$executor
$loop
private
mixed
$loop
$timeout
private
mixed
$timeout
Methods
__construct()
public
__construct(ExecutorInterface $executor, float $timeout[, LoopInterface|null $loop = null ]) : mixed
Parameters
- $executor : ExecutorInterface
- $timeout : float
- $loop : LoopInterface|null = null
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