code: async def start(self):
          
  
          while True:
              try:
                  data = await self.reader.read(8192)
  
                  if self._trace_enabled:
                      self._logger.trace(
                          "Received %d bytes from remote server:\n%s",
                          len(data),
                          msg.dump(data),
                      )
                  await self.process(data)
              except asyncio.CancelledError:
                  return
              except:
                  logging.exception("Unhandled error in Message Reader")
                  raise
docs: Loop forever reading messages and invoking
             the operation that caused them