def future(self) -> Future: fut = Future() def set_future(data: Any) -> None: """Schedules a callback to set the exception or result in the Future.""" if isinstance(data, Exception): fut.set_exception(data) else: fut.set_result(data) self._on_completed(set_future) # Prevent this object ref from being released. fut.object_ref = self return fut