# 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 <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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 ""
