b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / vendor / react / promise / src /
Filename/home/dev2.destoffenstraat.com/vendor/react/promise/src/CancellationQueue.php
Size1.11 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified16-Nov-2023 17:16
Last accessed22-Aug-2025 03:56
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php

namespace React\Promise;

class CancellationQueue
{
private $started = false;
private $queue = [];

public function __invoke()
{
if ($this->started) {
return;
}

$this->started = true;
$this->drain();
}

public function enqueue($cancellable)
{
if (!\is_object($cancellable) || !\method_exists($cancellable, 'then') || !\method_exists($cancellable, 'cancel')) {
return;
}

$length = \array_push($this->queue, $cancellable);

if ($this->started && 1 === $length) {
$this->drain();
}
}

private function drain()
{
for ($i = key($this->queue); isset($this->queue[$i]); $i++) {
$cancellable = $this->queue[$i];

$exception = null;

try {
$cancellable->cancel();
} catch (\Throwable $exception) {
} catch (\Exception $exception) {
}

unset($this->queue[$i]);

if ($exception) {
throw $exception;
}
}

$this->queue = [];
}
}