output = $output; Loop\addWriteStream($this->output, function () { error_clear_last(); $bytesWritten = @fwrite($this->output, $this->buffer); if ($bytesWritten === false) { $error = error_get_last(); if ($error !== null) { throw new RuntimeException('Could not write message: ' . error_get_last()['message']); } else { throw new RuntimeException('Could not write message'); } } else if ($bytesWritten > 0) { $this->buffer = substr($this->buffer, $bytesWritten); } }); } /** * Sends a Message to the client * * @param Message $msg * @return void */ public function write(Message $msg) { $this->buffer .= $msg; } }