Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
vendor
/
react
/
event-loop
/
src
/
Tick
:
FutureTickQueue.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace 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(); } }