diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index 79c9516cda2d60b..d9d421d7a8f5c32 100644 --- a/Doc/library/asyncio-eventloop.rst +++ b/Doc/library/asyncio-eventloop.rst @@ -1917,6 +1917,17 @@ By default asyncio is configured to use :class:`EventLoop`. methods that an alternative implementation of ``AbstractEventLoop`` should have defined. +.. class:: BaseEventLoop + + A base class that partially implements :class:`AbstractEventLoop` + to simplify writing custom event loops. + + It provides default implementations of many :class:`AbstractEventLoop` + methods, so subclasses have fewer methods to implement themselves. + In return, a subclass is expected to implement a number of internal, + protected methods. + See :ref:`writing_custom_event_loop` for more information. + Examples ======== diff --git a/Doc/library/asyncio-extending.rst b/Doc/library/asyncio-extending.rst index e7b293f484f8de6..0be79359b75e32b 100644 --- a/Doc/library/asyncio-extending.rst +++ b/Doc/library/asyncio-extending.rst @@ -12,14 +12,17 @@ classes. Asyncio has helpers that could be used to simplify this task. Third-parties should reuse existing asyncio code with caution, a new Python version is free to break backward compatibility - in *internal* part of API. + in the *internal* part of the API. -Writing a Custom Event Loop +.. _writing_custom_event_loop: + +Writing a custom event loop =========================== -:class:`asyncio.AbstractEventLoop` declares very many methods. Implementing all them -from scratch is a tedious job. +:class:`asyncio.AbstractEventLoop` declares very many methods. +See :ref:`asyncio-event-loop-methods` for the full list. +Implementing them all from scratch is a tedious job. A loop can get many common methods implementation for free by inheriting from :class:`asyncio.BaseEventLoop`. diff --git a/Doc/tools/.nitignore b/Doc/tools/.nitignore index 2255c745c003838..8845bfb143d8085 100644 --- a/Doc/tools/.nitignore +++ b/Doc/tools/.nitignore @@ -6,7 +6,6 @@ Doc/c-api/init_config.rst Doc/c-api/intro.rst Doc/c-api/stable.rst Doc/library/ast.rst -Doc/library/asyncio-extending.rst Doc/library/email.charset.rst Doc/library/email.parser.rst Doc/library/http.cookiejar.rst