Lines Matching refs:self

72     def __init__(self, *, loop=None):
80 self._loop = events._get_event_loop()
82 self._loop = loop
83 self._callbacks = []
84 if self._loop.get_debug():
85 self._source_traceback = format_helpers.extract_stack(
88 def __repr__(self):
89 return base_futures._future_repr(self)
91 def __del__(self):
92 if not self.__log_traceback:
96 exc = self._exception
99 f'{self.__class__.__name__} exception was never retrieved',
101 'future': self,
103 if self._source_traceback:
104 context['source_traceback'] = self._source_traceback
105 self._loop.call_exception_handler(context)
110 def _log_traceback(self):
111 return self.__log_traceback
114 def _log_traceback(self, val):
117 self.__log_traceback = False
119 def get_loop(self):
121 loop = self._loop
126 def _make_cancelled_error(self):
132 if self._cancelled_exc is not None:
133 exc = self._cancelled_exc
134 self._cancelled_exc = None
137 if self._cancel_message is None:
140 exc = exceptions.CancelledError(self._cancel_message)
141 exc.__context__ = self._cancelled_exc
143 self._cancelled_exc = None
146 def cancel(self, msg=None):
153 self.__log_traceback = False
154 if self._state != _PENDING:
156 self._state = _CANCELLED
157 self._cancel_message = msg
158 self.__schedule_callbacks()
161 def __schedule_callbacks(self):
167 callbacks = self._callbacks[:]
171 self._callbacks[:] = []
173 self._loop.call_soon(callback, self, context=ctx)
175 def cancelled(self):
177 return self._state == _CANCELLED
181 def done(self):
187 return self._state != _PENDING
189 def result(self):
196 if self._state == _CANCELLED:
197 exc = self._make_cancelled_error()
199 if self._state != _FINISHED:
201 self.__log_traceback = False
202 if self._exception is not None:
203 raise self._exception.with_traceback(self._exception_tb)
204 return self._result
206 def exception(self):
214 if self._state == _CANCELLED:
215 exc = self._make_cancelled_error()
217 if self._state != _FINISHED:
219 self.__log_traceback = False
220 return self._exception
222 def add_done_callback(self, fn, *, context=None):
229 if self._state != _PENDING:
230 self._loop.call_soon(fn, self, context=context)
234 self._callbacks.append((fn, context))
238 def remove_done_callback(self, fn):
244 for (f, ctx) in self._callbacks
246 removed_count = len(self._callbacks) - len(filtered_callbacks)
248 self._callbacks[:] = filtered_callbacks
253 def set_result(self, result):
259 if self._state != _PENDING:
260 raise exceptions.InvalidStateError(f'{self._state}: {self!r}')
261 self._result = result
262 self._state = _FINISHED
263 self.__schedule_callbacks()
265 def set_exception(self, exception):
271 if self._state != _PENDING:
272 raise exceptions.InvalidStateError(f'{self._state}: {self!r}')
278 self._exception = exception
279 self._exception_tb = exception.__traceback__
280 self._state = _FINISHED
281 self.__schedule_callbacks()
282 self.__log_traceback = True
284 def __await__(self):
285 if not self.done():
286 self._asyncio_future_blocking = True
287 yield self # This tells Task to wait for completion.
288 if not self.done():
290 return self.result() # May raise too.