code: public function select()
      {
          $read = [$this->stream];
          $write = null;
          $except = null;
  
          // if the process gets a system signal before the timeout is ran
          // a warning is thrown therefore we need to suppress the warning
          $this->selected = @stream_select(
              $read,
              $write,
              $except,
              0,
              $this->timeout
          );
  
          return $this;
      }
docs: Starts watching the stream
  
  The timeout interval is required to
  stop blocking the thread when there's no data