diff options
Diffstat (limited to 'server/vendor/guzzlehttp/promises/src/TaskQueue.php')
| -rw-r--r-- | server/vendor/guzzlehttp/promises/src/TaskQueue.php | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/server/vendor/guzzlehttp/promises/src/TaskQueue.php b/server/vendor/guzzlehttp/promises/src/TaskQueue.php deleted file mode 100644 index 39fe5bb..0000000 --- a/server/vendor/guzzlehttp/promises/src/TaskQueue.php +++ /dev/null @@ -1,80 +0,0 @@ -<?php -namespace GuzzleHttp\Promise; - -/** - * A task queue that executes tasks in a FIFO order. - * - * This task queue class is used to settle promises asynchronously and - * maintains a constant stack size. You can use the task queue asynchronously - * by calling the `run()` function of the global task queue in an event loop. - * - * GuzzleHttp\Promise\queue()->run(); - */ -class TaskQueue -{ - private $enableShutdown = true; - private $queue = []; - - public function __construct($withShutdown = true) - { - if ($withShutdown) { - register_shutdown_function(function () { - if ($this->enableShutdown) { - // Only run the tasks if an E_ERROR didn't occur. - $err = error_get_last(); - if (!$err || ($err['type'] ^ E_ERROR)) { - $this->run(); - } - } - }); - } - } - - /** - * Returns true if the queue is empty. - * - * @return bool - */ - public function isEmpty() - { - return !$this->queue; - } - - /** - * Adds a task to the queue that will be executed the next time run is - * called. - * - * @param callable $task - */ - public function add(callable $task) - { - $this->queue[] = $task; - } - - /** - * Execute all of the pending task in the queue. - */ - public function run() - { - /** @var callable $task */ - while ($task = array_shift($this->queue)) { - $task(); - } - } - - /** - * The task queue will be run and exhausted by default when the process - * exits IFF the exit is not the result of a PHP E_ERROR error. - * - * You can disable running the automatic shutdown of the queue by calling - * this function. If you disable the task queue shutdown process, then you - * MUST either run the task queue (as a result of running your event loop - * or manually using the run() method) or wait on each outstanding promise. - * - * Note: This shutdown will occur before any destructors are triggered. - */ - public function disableShutdown() - { - $this->enableShutdown = false; - } -} |
