bpo-32643: Drop support for a few private Task and Future APIs. (#5293)

Specifically, it's not possible to subclass Task/Future classes
and override the following methods:

* Future._schedule_callbacks
* Task._step
* Task._wakeup
This commit is contained in:
Yury Selivanov 2018-01-24 11:31:01 -05:00 committed by GitHub
parent 8ded5b8037
commit 22feeb88b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 33 additions and 229 deletions

View file

@ -131,10 +131,10 @@ class Future:
if self._state != _PENDING:
return False
self._state = _CANCELLED
self._schedule_callbacks()
self.__schedule_callbacks()
return True
def _schedule_callbacks(self):
def __schedule_callbacks(self):
"""Internal: Ask the event loop to call all callbacks.
The callbacks are scheduled to be called as soon as possible. Also
@ -234,7 +234,7 @@ class Future:
raise InvalidStateError('{}: {!r}'.format(self._state, self))
self._result = result
self._state = _FINISHED
self._schedule_callbacks()
self.__schedule_callbacks()
def set_exception(self, exception):
"""Mark the future done and set an exception.
@ -251,7 +251,7 @@ class Future:
"and cannot be raised into a Future")
self._exception = exception
self._state = _FINISHED
self._schedule_callbacks()
self.__schedule_callbacks()
self.__log_traceback = True
def __await__(self):