# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" "PO-Revision-Date: 2022-05-23 00:51+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: library/asyncio-extending.rst:6 msgid "Extending" msgstr "" #: library/asyncio-extending.rst:8 msgid "" "The main direction for :mod:`asyncio` extending is writing custom *event " "loop* classes. Asyncio has helpers that could be used to simplify this task." msgstr "" #: library/asyncio-extending.rst:13 msgid "" "Third-parties should reuse existing asyncio code with caution, a new Python " "version is free to break backward compatibility in *internal* part of API." msgstr "" #: library/asyncio-extending.rst:19 msgid "Writing a Custom Event Loop" msgstr "" #: library/asyncio-extending.rst:21 msgid "" ":class:`asyncio.AbstractEventLoop` declares very many methods. Implementing " "all them from scratch is a tedious job." msgstr "" #: library/asyncio-extending.rst:24 msgid "" "A loop can get many common methods implementation for free by inheriting " "from :class:`asyncio.BaseEventLoop`." msgstr "" #: library/asyncio-extending.rst:27 msgid "" "In turn, the successor should implement a bunch of *private* methods " "declared but not implemented in :class:`asyncio.BaseEventLoop`." msgstr "" #: library/asyncio-extending.rst:30 msgid "" "For example, ``loop.create_connection()`` checks arguments, resolves DNS " "addresses, and calls ``loop._make_socket_transport()`` that should be " "implemented by inherited class. The ``_make_socket_transport()`` method is " "not documented and is considered as an *internal* API." msgstr "" #: library/asyncio-extending.rst:38 msgid "Future and Task private constructors" msgstr "" #: library/asyncio-extending.rst:40 msgid "" ":class:`asyncio.Future` and :class:`asyncio.Task` should be never created " "directly, please use corresponding :meth:`loop.create_future` and :meth:" "`loop.create_task`, or :func:`asyncio.create_task` factories instead." msgstr "" #: library/asyncio-extending.rst:44 msgid "" "However, third-party *event loops* may *reuse* built-in future and task " "implementations for the sake of getting a complex and highly optimized code " "for free." msgstr "" #: library/asyncio-extending.rst:47 msgid "For this purpose the following, *private* constructors are listed:" msgstr "" #: library/asyncio-extending.rst:51 msgid "Create a built-in future instance." msgstr "" #: library/asyncio-extending.rst:53 msgid "*loop* is an optional event loop instance." msgstr "" #: library/asyncio-extending.rst:57 msgid "Create a built-in task instance." msgstr "" #: library/asyncio-extending.rst:59 msgid "" "*loop* is an optional event loop instance. The rest of arguments are " "described in :meth:`loop.create_task` description." msgstr "" #: library/asyncio-extending.rst:64 msgid "*context* argument is added." msgstr "" #: library/asyncio-extending.rst:69 msgid "Task lifetime support" msgstr "" #: library/asyncio-extending.rst:71 msgid "" "A third party task implementation should call the following functions to " "keep a task visible by :func:`asyncio.get_tasks` and :func:`asyncio." "current_task`:" msgstr "" #: library/asyncio-extending.rst:76 msgid "Register a new *task* as managed by *asyncio*." msgstr "" #: library/asyncio-extending.rst:78 msgid "Call the function from a task constructor." msgstr "" #: library/asyncio-extending.rst:82 msgid "Unregister a *task* from *asyncio* internal structures." msgstr "" #: library/asyncio-extending.rst:84 msgid "The function should be called when a task is about to finish." msgstr "" #: library/asyncio-extending.rst:88 msgid "Switch the current task to the *task* argument." msgstr "" #: library/asyncio-extending.rst:90 msgid "" "Call the function just before executing a portion of embedded *coroutine* (:" "meth:`coroutine.send` or :meth:`coroutine.throw`)." msgstr "" #: library/asyncio-extending.rst:95 msgid "Switch the current task back from *task* to ``None``." msgstr "" #: library/asyncio-extending.rst:97 msgid "" "Call the function just after :meth:`coroutine.send` or :meth:`coroutine." "throw` execution." msgstr ""