/** * @param resource $resource * @param LoopInterface $loop * @param bool $autoClose * @throws InvalidArgumentException */ public function __construct($resource, LoopInterface $loop, $autoClose = true) { parent::__construct($resource, $autoClose); if (function_exists('stream_set_read_buffer')) { stream_set_read_buffer($this->resource, 0); } $this->loop = $loop; $this->listening = false; $this->paused = true; $this->resume(); }