public function pull($id = null)
{
$messages = [];
if ($id === null) {
foreach ($this->messageBuffer as $id => $buffer) {
foreach ($buffer as $message) {
$messages[] = [$id, $message];
}
$this->messageBuffer[$id] = [];
}
$this->messageBuffer = [];
$this->messageBufferSize = 0;
} else {
if (isset($this->messageBuffer[$id])) {
$cnt = 0;
foreach ($this->messageBuffer[$id] as $message) {
$messages[] = [$id, $message];
$cnt++;
}
unset($this->messageBuffer[$id]);
$this->messageBufferSize -= $cnt;
}
}
return $messages;
}