REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 2.74 KB
Close
/opt/cpanel/ea-wappspector/vendor/rector/rector/vendor/react/dns/src/Query/TimeoutExecutor.php
Text
Base64
<?php namespace RectorPrefix202411\React\Dns\Query; use RectorPrefix202411\React\EventLoop\Loop; use RectorPrefix202411\React\EventLoop\LoopInterface; use RectorPrefix202411\React\Promise\Promise; final class TimeoutExecutor implements ExecutorInterface { private $executor; private $loop; private $timeout; /** * @param ExecutorInterface $executor * @param float $timeout * @param ?LoopInterface $loop */ public function __construct(ExecutorInterface $executor, $timeout, $loop = null) { if ($loop !== null && !$loop instanceof LoopInterface) { // manual type check to support legacy PHP < 7.1 throw new \InvalidArgumentException('Argument #3 ($loop) expected null|React\\EventLoop\\LoopInterface'); } $this->executor = $executor; $this->loop = $loop ?: Loop::get(); $this->timeout = $timeout; } public function query(Query $query) { $promise = $this->executor->query($query); $loop = $this->loop; $time = $this->timeout; return new Promise(function ($resolve, $reject) use($loop, $time, $promise, $query) { $timer = null; $promise = $promise->then(function ($v) use(&$timer, $loop, $resolve) { if ($timer) { $loop->cancelTimer($timer); } $timer = \false; $resolve($v); }, function ($v) use(&$timer, $loop, $reject) { if ($timer) { $loop->cancelTimer($timer); } $timer = \false; $reject($v); }); // promise already resolved => no need to start timer if ($timer === \false) { return; } // start timeout timer which will cancel the pending promise $timer = $loop->addTimer($time, function () use($time, &$promise, $reject, $query) { $reject(new TimeoutException('DNS query for ' . $query->describe() . ' timed out')); // Cancel pending query to clean up any underlying resources and references. // Avoid garbage references in call stack by passing pending promise by reference. \assert(\method_exists($promise, 'cancel')); $promise->cancel(); $promise = null; }); }, function () use(&$promise) { // Cancelling this promise will cancel the pending query, thus triggering the rejection logic above. // Avoid garbage references in call stack by passing pending promise by reference. \assert(\method_exists($promise, 'cancel')); $promise->cancel(); $promise = null; }); } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 13
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
CachingExecutor.php
2.58 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CancellationException.php
118 B
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CoopExecutor.php
3.38 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ExecutorInterface.php
1.45 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
FallbackExecutor.php
1.71 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
HostsFileExecutor.php
3.00 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Query.php
2.01 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
RetryExecutor.php
2.57 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SelectiveTransportExecutor.php
3.01 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TcpTransportExecutor.php
13.64 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TimeoutException.php
106 B
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TimeoutExecutor.php
2.74 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
UdpTransportExecutor.php
8.33 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).