code: def readline(self, timeout=500):
          
          poll_result = self.poller.poll(timeout)
          if poll_result:
              line = self.io.readline().strip()
              if self.io == sys.stdin and line == "[":
                  # skip first event line wrt issue #19
                  line = self.io.readline().strip()
              try:
                  # python3 compatibility code
                  line = line.decode()
              except (AttributeError, UnicodeDecodeError):
                  pass
              return line
          else:
              return None
docs: Try to read our I/O for 'timeout' milliseconds, return None otherwise.
          This makes calling and reading I/O non blocking !