code: def poll(self, timeout=None):
          
          _vv and IOLOG.debug('%r.poll(%r)', self, timeout)
          self._generation += 1
          return self._poll(timeout)
docs: Block the calling thread until one or more FDs are ready for IO.
  
          :param float timeout:
              If not :data:`None`, seconds to wait without an event before
              returning an empty iterable.
          :returns:
              Iterable of `data` elements associated with ready FDs.