import asyncio import types from concurrent import futures from tornado_py3.log import app_log as app_log from typing import Any, Callable, Optional, Tuple, Union class ReturnValueIgnoredError(Exception): ... Future = asyncio.Future FUTURES: Any def is_future(x: Any) -> bool: ... class DummyExecutor(futures.Executor): def submit(self, fn: Callable[..., _T], *args: Any, **kwargs: Any) -> futures.Future[_T]: ... def shutdown(self, wait: bool=...) -> None: ... dummy_executor: Any def run_on_executor(*args: Any, **kwargs: Any) -> Callable: ... def chain_future(a: Future[_T], b: Future[_T]) -> None: ... def future_set_result_unless_cancelled(future: Union[futures.Future[_T], Future[_T]], value: _T) -> None: ... def future_set_exception_unless_cancelled(future: Union[futures.Future[_T], Future[_T]], exc: BaseException) -> None: ... def future_set_exc_info(future: Union[futures.Future[_T], Future[_T]], exc_info: Tuple[Optional[type], Optional[BaseException], Optional[types.TracebackType]]) -> None: ... def future_add_done_callback(future: futures.Future[_T], callback: Callable[[futures.Future[_T]], None]) -> None: ...