async def METHOD_NAME(self):
    length = await self.reader.read(4)
    if len(length) == 0:
        self.is_closed = True
        return None
    else:
        length = struct.unpack('I', length)[0]
        response = b''
        while len(response) < length:
            response += await self.reader.read(length - len(response))
            if len(response) < length:
                logger.info(f"Downloading message {len(response)}/{length}")
        return response