for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace nstdio\notymo;
use ArrayAccess;
use Countable;
use Iterator;
use SplDoublyLinkedList;
use SplQueue;
/**
* Class MessageQueue
*
* @package nstdio\notymo
* @author Edgar Asatryan <[email protected]>
*/
class MessageQueue implements Iterator, Countable
{
* @var SplQueue
private $queue;
public function __construct()
$this->queue = new SplQueue();
$this->queue->setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO);
}
public function enqueue(MessageInterface $message)
$this->queue->enqueue($message);
public function dequeue()
$this->queue->dequeue();
public function isEmpty()
return $this->queue->isEmpty();
* @inheritdoc
public function current()
return $this->queue->current();
public function next()
$this->queue->next();
public function key()
return $this->queue->key();
public function valid()
return $this->queue->valid();
public function rewind()
$this->queue->rewind();
public function count()
return count($this->queue);