async def wait(self, timeout=None):
        """Wait for this operation to finish.

        You can specify an optional timeout that defaults to no timeout if
        None is passed.  The result of the operation is returned from this
        method. If the operation raised an exception, it is reraised from this
        method.

        Args:
            timeout (float): The maximum number of seconds to wait before timing
                out.
        """

        await asyncio.wait_for(self._future, timeout)

        if self._exception is not None:
            self._raise_exception()

        return self._result
Wait for this operation to finish.

        You can specify an optional timeout that defaults to no timeout if
        None is passed.  The result of the operation is returned from this
        method. If the operation raised an exception, it is reraised from this
        method.

        Args:
            timeout (float): The maximum number of seconds to wait before timing
                out.