docs: async def recv(self):
          """
          Receives a packet of data through this connection mode.
  
          This method returns a coroutine.
          """
          while self._connected:
              result = await self._recv_queue.get()
              if result:  # None = sentinel value = keep trying
                  return result
  
          raise ConnectionError('Not connected')