PHP 8.2.31
Preview: FutureTickQueue.php Size: 1.18 KB
/opt/cpanel/ea-wappspector/vendor/rector/rector/vendor/react/event-loop/src/Tick/FutureTickQueue.php

<?php

namespace RectorPrefix202411\React\EventLoop\Tick;

use SplQueue;
/**
 * A tick queue implementation that can hold multiple callback functions
 *
 * This class should only be used internally, see LoopInterface instead.
 *
 * @see LoopInterface
 * @internal
 */
final class FutureTickQueue
{
    private $queue;
    public function __construct()
    {
        $this->queue = new SplQueue();
    }
    /**
     * Add a callback to be invoked on a future tick of the event loop.
     *
     * Callbacks are guaranteed to be executed in the order they are enqueued.
     *
     * @param callable $listener The callback to invoke.
     */
    public function add($listener)
    {
        $this->queue->enqueue($listener);
    }
    /**
     * Flush the callback queue.
     */
    public function tick()
    {
        // Only invoke as many callbacks as were on the queue when tick() was called.
        $count = $this->queue->count();
        while ($count--) {
            \call_user_func($this->queue->dequeue());
        }
    }
    /**
     * Check if the next tick queue is empty.
     *
     * @return boolean
     */
    public function isEmpty()
    {
        return $this->queue->isEmpty();
    }
}

Directory Contents

Dirs: 0 × Files: 1

Name Size Perms Modified Actions
1.18 KB lrw-r--r-- 2024-11-08 13:59:10
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).