docs: def read(self):
          """Emulate a file descriptors read method"""
          try:
              return self.reader.recv(1)
          except socket.error:
              ex = exception().exception
              if ex.args[0] == errno.EWOULDBLOCK:
                  raise IOError
              raise