1
0
Fork 0
python-docs-fr/library/asyncio-protocol.po

1034 lines
32 KiB
Plaintext
Raw Permalink Normal View History

2018-07-04 09:06:45 +00:00
# Copyright (C) 2001-2018, Python Software Foundation
2018-07-04 09:08:42 +00:00
# For licence information, see README file.
2016-10-30 09:46:26 +00:00
#
msgid ""
msgstr ""
2019-12-05 22:15:54 +00:00
"Project-Id-Version: Python 3\n"
2016-10-30 09:46:26 +00:00
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2019-06-18 22:29+0200\n"
2017-05-27 17:46:38 +00:00
"Last-Translator: Julien Palard <julien@palard.fr>\n"
2018-07-04 09:14:25 +00:00
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
2017-05-23 22:40:56 +00:00
"Language: fr\n"
2016-10-30 09:46:26 +00:00
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
2017-08-10 12:07:18 +00:00
"X-Generator: Poedit 2.0.2\n"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:9
2018-10-13 15:54:03 +00:00
msgid "Transports and Protocols"
msgstr "Transports et Protocoles"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:12
2018-10-13 15:54:03 +00:00
msgid "Preface"
2017-08-01 11:29:09 +00:00
msgstr ""
#: library/asyncio-protocol.rst:13
2018-10-13 15:54:03 +00:00
msgid ""
"Transports and Protocols are used by the **low-level** event loop APIs such "
"as :meth:`loop.create_connection`. They use callback-based programming "
"style and enable high-performance implementations of network or IPC "
"protocols (e.g. HTTP)."
msgstr ""
#: library/asyncio-protocol.rst:18
2018-10-13 15:54:03 +00:00
msgid ""
"Essentially, transports and protocols should only be used in libraries and "
"frameworks and never in high-level asyncio applications."
msgstr ""
#: library/asyncio-protocol.rst:22
2018-10-13 15:54:03 +00:00
msgid "This documentation page covers both `Transports`_ and `Protocols`_."
msgstr ""
#: library/asyncio-protocol.rst:25
2018-10-13 15:54:03 +00:00
msgid "Introduction"
msgstr "Introduction"
2018-10-13 15:54:03 +00:00
#: library/asyncio-protocol.rst:26
2018-10-13 15:54:03 +00:00
msgid ""
"At the highest level, the transport is concerned with *how* bytes are "
"transmitted, while the protocol determines *which* bytes to transmit (and to "
"some extent when)."
msgstr ""
#: library/asyncio-protocol.rst:30
2018-10-13 15:54:03 +00:00
msgid ""
"A different way of saying the same thing: a transport is an abstraction for "
"a socket (or similar I/O endpoint) while a protocol is an abstraction for an "
"application, from the transport's point of view."
msgstr ""
#: library/asyncio-protocol.rst:35
2018-10-13 15:54:03 +00:00
msgid ""
"Yet another view is the transport and protocol interfaces together define an "
"abstract interface for using network I/O and interprocess I/O."
msgstr ""
#: library/asyncio-protocol.rst:39
2018-10-13 15:54:03 +00:00
msgid ""
"There is always a 1:1 relationship between transport and protocol objects: "
"the protocol calls transport methods to send data, while the transport calls "
"protocol methods to pass it data that has been received."
msgstr ""
#: library/asyncio-protocol.rst:44
2018-10-13 15:54:03 +00:00
msgid ""
"Most of connection oriented event loop methods (such as :meth:`loop."
"create_connection`) usually accept a *protocol_factory* argument used to "
"create a *Protocol* object for an accepted connection, represented by a "
"*Transport* object. Such methods usually return a tuple of ``(transport, "
"protocol)``."
msgstr ""
#: library/asyncio-protocol.rst:51
2018-10-13 15:54:03 +00:00
msgid "Contents"
msgstr "Sommaire"
2018-10-13 15:54:03 +00:00
#: library/asyncio-protocol.rst:52
2018-10-13 15:54:03 +00:00
msgid "This documentation page contains the following sections:"
msgstr ""
#: library/asyncio-protocol.rst:54
2018-10-13 15:54:03 +00:00
msgid ""
"The `Transports`_ section documents asyncio :class:`BaseTransport`, :class:"
"`ReadTransport`, :class:`WriteTransport`, :class:`Transport`, :class:"
"`DatagramTransport`, and :class:`SubprocessTransport` classes."
2017-08-01 11:29:09 +00:00
msgstr ""
#: library/asyncio-protocol.rst:59
2018-10-13 15:54:03 +00:00
msgid ""
"The `Protocols`_ section documents asyncio :class:`BaseProtocol`, :class:"
"`Protocol`, :class:`BufferedProtocol`, :class:`DatagramProtocol`, and :class:"
"`SubprocessProtocol` classes."
msgstr ""
#: library/asyncio-protocol.rst:63
2018-10-13 15:54:03 +00:00
msgid ""
"The `Examples`_ section showcases how to work with transports, protocols, "
"and low-level event loop APIs."
msgstr ""
#: library/asyncio-protocol.rst:70
2016-10-30 09:46:26 +00:00
msgid "Transports"
msgstr "Transports"
#: library/asyncio-protocol.rst:72
msgid "**Source code:** :source:`Lib/asyncio/transports.py`"
msgstr ""
#: library/asyncio-protocol.rst:76
2016-10-30 09:46:26 +00:00
msgid ""
"Transports are classes provided by :mod:`asyncio` in order to abstract "
2018-10-13 15:54:03 +00:00
"various kinds of communication channels."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:79
2016-10-30 09:46:26 +00:00
msgid ""
2019-06-03 20:16:11 +00:00
"Transport objects are always instantiated by an :ref:`asyncio event loop "
2018-10-13 15:54:03 +00:00
"<asyncio-event-loop>`."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:82
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"asyncio implements transports for TCP, UDP, SSL, and subprocess pipes. The "
"methods available on a transport depend on the transport's kind."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:85
2016-10-30 09:46:26 +00:00
msgid ""
"The transport classes are :ref:`not thread safe <asyncio-multithreading>`."
msgstr ""
#: library/asyncio-protocol.rst:89
2018-10-13 15:54:03 +00:00
msgid "Transports Hierarchy"
2018-10-13 16:19:05 +00:00
msgstr "Hiérarchie des transports"
2018-10-13 15:54:03 +00:00
#: library/asyncio-protocol.rst:93
2018-10-13 15:54:03 +00:00
msgid ""
"Base class for all transports. Contains methods that all asyncio transports "
"share."
msgstr ""
#: library/asyncio-protocol.rst:98
2018-10-13 15:54:03 +00:00
msgid "A base transport for write-only connections."
msgstr ""
#: library/asyncio-protocol.rst:100
2018-10-13 15:54:03 +00:00
msgid ""
"Instances of the *WriteTransport* class are returned from the :meth:`loop."
"connect_write_pipe` event loop method and are also used by subprocess-"
"related methods like :meth:`loop.subprocess_exec`."
msgstr ""
#: library/asyncio-protocol.rst:107
2018-10-13 15:54:03 +00:00
msgid "A base transport for read-only connections."
2017-04-02 20:14:06 +00:00
msgstr ""
#: library/asyncio-protocol.rst:109
2018-10-13 15:54:03 +00:00
msgid ""
"Instances of the *ReadTransport* class are returned from the :meth:`loop."
"connect_read_pipe` event loop method and are also used by subprocess-related "
"methods like :meth:`loop.subprocess_exec`."
msgstr ""
#: library/asyncio-protocol.rst:116
2018-10-13 15:54:03 +00:00
msgid ""
"Interface representing a bidirectional transport, such as a TCP connection."
msgstr ""
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:119
2018-10-13 15:54:03 +00:00
msgid ""
"The user does not instantiate a transport directly; they call a utility "
"function, passing it a protocol factory and other information necessary to "
"create the transport and protocol."
msgstr ""
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:123
2018-10-13 15:54:03 +00:00
msgid ""
"Instances of the *Transport* class are returned from or used by event loop "
"methods like :meth:`loop.create_connection`, :meth:`loop."
"create_unix_connection`, :meth:`loop.create_server`, :meth:`loop.sendfile`, "
"etc."
msgstr ""
#: library/asyncio-protocol.rst:131
2018-10-13 15:54:03 +00:00
msgid "A transport for datagram (UDP) connections."
msgstr ""
#: library/asyncio-protocol.rst:133
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Instances of the *DatagramTransport* class are returned from the :meth:`loop."
"create_datagram_endpoint` event loop method."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:139
2018-10-13 15:54:03 +00:00
msgid ""
"An abstraction to represent a connection between a parent and its child OS "
"process."
msgstr ""
#: library/asyncio-protocol.rst:142
2018-10-13 15:54:03 +00:00
msgid ""
"Instances of the *SubprocessTransport* class are returned from event loop "
"methods :meth:`loop.subprocess_shell` and :meth:`loop.subprocess_exec`."
msgstr ""
#: library/asyncio-protocol.rst:148
2018-10-13 15:54:03 +00:00
msgid "Base Transport"
msgstr "Classe de base des Transports"
#: library/asyncio-protocol.rst:152
2018-10-13 15:54:03 +00:00
msgid "Close the transport."
msgstr "Ferme le transport."
#: library/asyncio-protocol.rst:154
2018-10-13 15:54:03 +00:00
msgid ""
"If the transport has a buffer for outgoing data, buffered data will be "
"flushed asynchronously. No more data will be received. After all buffered "
"data is flushed, the protocol's :meth:`protocol.connection_lost() "
"<BaseProtocol.connection_lost>` method will be called with :const:`None` as "
"its argument. The transport should not be used once it is closed."
2018-10-13 15:54:03 +00:00
msgstr ""
#: library/asyncio-protocol.rst:164
2016-10-30 09:46:26 +00:00
msgid "Return ``True`` if the transport is closing or is closed."
msgstr ""
#: library/asyncio-protocol.rst:168
2018-10-13 15:54:03 +00:00
msgid "Return information about the transport or underlying resources it uses."
msgstr ""
#: library/asyncio-protocol.rst:171
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"*name* is a string representing the piece of transport-specific information "
"to get."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:174
2018-10-13 15:54:03 +00:00
msgid ""
"*default* is the value to return if the information is not available, or if "
"the transport does not support querying it with the given third-party event "
"loop implementation or on the current platform."
msgstr ""
#: library/asyncio-protocol.rst:179
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"For example, the following code attempts to get the underlying socket object "
"of the transport::"
msgstr ""
#: library/asyncio-protocol.rst:186
2018-10-13 15:54:03 +00:00
msgid "Categories of information that can be queried on some transports:"
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:188
2016-10-30 09:46:26 +00:00
msgid "socket:"
msgstr ""
#: library/asyncio-protocol.rst:190
2016-10-30 09:46:26 +00:00
msgid ""
"``'peername'``: the remote address to which the socket is connected, result "
"of :meth:`socket.socket.getpeername` (``None`` on error)"
msgstr ""
#: library/asyncio-protocol.rst:194
2016-10-30 09:46:26 +00:00
msgid "``'socket'``: :class:`socket.socket` instance"
msgstr "``'socket'`` : Instance de :class:`socket.socket`"
#: library/asyncio-protocol.rst:196
2016-10-30 09:46:26 +00:00
msgid ""
"``'sockname'``: the socket's own address, result of :meth:`socket.socket."
"getsockname`"
msgstr ""
#: library/asyncio-protocol.rst:199
2016-10-30 09:46:26 +00:00
msgid "SSL socket:"
msgstr "Connecteur (*socket* en anglais) SSL :"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:201
2016-10-30 09:46:26 +00:00
msgid ""
"``'compression'``: the compression algorithm being used as a string, or "
"``None`` if the connection isn't compressed; result of :meth:`ssl.SSLSocket."
"compression`"
msgstr ""
#: library/asyncio-protocol.rst:205
2016-10-30 09:46:26 +00:00
msgid ""
"``'cipher'``: a three-value tuple containing the name of the cipher being "
"used, the version of the SSL protocol that defines its use, and the number "
"of secret bits being used; result of :meth:`ssl.SSLSocket.cipher`"
msgstr ""
#: library/asyncio-protocol.rst:210
2016-10-30 09:46:26 +00:00
msgid ""
"``'peercert'``: peer certificate; result of :meth:`ssl.SSLSocket.getpeercert`"
msgstr ""
#: library/asyncio-protocol.rst:213
2016-10-30 09:46:26 +00:00
msgid "``'sslcontext'``: :class:`ssl.SSLContext` instance"
msgstr "``sslcontext'`` : Instance de :class:`ssl.SSLContext`"
#: library/asyncio-protocol.rst:215
2016-10-30 09:46:26 +00:00
msgid ""
"``'ssl_object'``: :class:`ssl.SSLObject` or :class:`ssl.SSLSocket` instance"
msgstr ""
#: library/asyncio-protocol.rst:218
2016-10-30 09:46:26 +00:00
msgid "pipe:"
msgstr ""
#: library/asyncio-protocol.rst:220
2016-10-30 09:46:26 +00:00
msgid "``'pipe'``: pipe object"
msgstr "``'pipe'`` : objet *pipe*"
#: library/asyncio-protocol.rst:222
2016-10-30 09:46:26 +00:00
msgid "subprocess:"
2018-10-14 22:47:12 +00:00
msgstr "sous-processus :"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:224
2016-10-30 09:46:26 +00:00
msgid "``'subprocess'``: :class:`subprocess.Popen` instance"
msgstr ""
#: library/asyncio-protocol.rst:228
2018-10-13 15:54:03 +00:00
msgid "Set a new protocol."
msgstr "Change le protocole."
#: library/asyncio-protocol.rst:230
2017-04-02 20:14:06 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Switching protocol should only be done when both protocols are documented to "
"support the switch."
2017-04-02 20:14:06 +00:00
msgstr ""
#: library/asyncio-protocol.rst:235
2017-04-02 20:14:06 +00:00
msgid "Return the current protocol."
2017-05-27 12:17:28 +00:00
msgstr "Renvoie le protocole courant."
2017-04-02 20:14:06 +00:00
#: library/asyncio-protocol.rst:239
2018-10-13 15:54:03 +00:00
msgid "Read-only Transports"
msgstr "Transports en lecture seule"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:243
2018-06-28 13:32:56 +00:00
msgid "Return ``True`` if the transport is receiving new data."
msgstr ""
#: library/asyncio-protocol.rst:249
2016-10-30 09:46:26 +00:00
msgid ""
"Pause the receiving end of the transport. No data will be passed to the "
2018-10-13 15:54:03 +00:00
"protocol's :meth:`protocol.data_received() <Protocol.data_received>` method "
"until :meth:`resume_reading` is called."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:253
2018-06-17 08:43:33 +00:00
msgid ""
"The method is idempotent, i.e. it can be called when the transport is "
"already paused or closed."
msgstr ""
#: library/asyncio-protocol.rst:259
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Resume the receiving end. The protocol's :meth:`protocol.data_received() "
"<Protocol.data_received>` method will be called once again if some data is "
"available for reading."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:263
2018-06-17 08:43:33 +00:00
msgid ""
"The method is idempotent, i.e. it can be called when the transport is "
"already reading."
msgstr ""
#: library/asyncio-protocol.rst:269
2018-10-13 15:54:03 +00:00
msgid "Write-only Transports"
msgstr "Transports en lecture/écriture"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:273
2016-10-30 09:46:26 +00:00
msgid ""
"Close the transport immediately, without waiting for pending operations to "
"complete. Buffered data will be lost. No more data will be received. The "
2018-10-13 15:54:03 +00:00
"protocol's :meth:`protocol.connection_lost() <BaseProtocol.connection_lost>` "
"method will eventually be called with :const:`None` as its argument."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:281
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Return :const:`True` if the transport supports :meth:`~WriteTransport."
"write_eof`, :const:`False` if not."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:286
2016-10-30 09:46:26 +00:00
msgid "Return the current size of the output buffer used by the transport."
msgstr ""
#: library/asyncio-protocol.rst:290
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Get the *high* and *low* watermarks for write flow control. Return a tuple "
"``(low, high)`` where *low* and *high* are positive number of bytes."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:294
2016-10-30 09:46:26 +00:00
msgid "Use :meth:`set_write_buffer_limits` to set the limits."
msgstr ""
#: library/asyncio-protocol.rst:300
2018-10-13 15:54:03 +00:00
msgid "Set the *high* and *low* watermarks for write flow control."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:302
2016-10-30 09:46:26 +00:00
msgid ""
2017-08-01 11:29:09 +00:00
"These two values (measured in number of bytes) control when the protocol's :"
2018-10-13 15:54:03 +00:00
"meth:`protocol.pause_writing() <BaseProtocol.pause_writing>` and :meth:"
"`protocol.resume_writing() <BaseProtocol.resume_writing>` methods are "
"called. If specified, the low watermark must be less than or equal to the "
"high watermark. Neither *high* nor *low* can be negative."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:310
2017-08-01 11:29:09 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
":meth:`~BaseProtocol.pause_writing` is called when the buffer size becomes "
"greater than or equal to the *high* value. If writing has been paused, :meth:"
"`~BaseProtocol.resume_writing` is called when the buffer size becomes less "
"than or equal to the *low* value."
2017-08-01 11:29:09 +00:00
msgstr ""
#: library/asyncio-protocol.rst:315
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The defaults are implementation-specific. If only the high watermark is "
"given, the low watermark defaults to an implementation-specific value less "
"than or equal to the high watermark. Setting *high* to zero forces *low* to "
"zero as well, and causes :meth:`~BaseProtocol.pause_writing` to be called "
"whenever the buffer becomes non-empty. Setting *low* to zero causes :meth:"
"`~BaseProtocol.resume_writing` to be called only once the buffer is empty. "
"Use of zero for either limit is generally sub-optimal as it reduces "
"opportunities for doing I/O and computation concurrently."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:326
2018-10-13 15:54:03 +00:00
msgid "Use :meth:`~WriteTransport.get_write_buffer_limits` to get the limits."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:331
2016-10-30 09:46:26 +00:00
msgid "Write some *data* bytes to the transport."
msgstr "Écrit des octets de *data* sur le transport."
#: library/asyncio-protocol.rst:333 library/asyncio-protocol.rst:362
2016-10-30 09:46:26 +00:00
msgid ""
"This method does not block; it buffers the data and arranges for it to be "
"sent out asynchronously."
msgstr ""
#: library/asyncio-protocol.rst:338
2016-10-30 09:46:26 +00:00
msgid ""
"Write a list (or any iterable) of data bytes to the transport. This is "
"functionally equivalent to calling :meth:`write` on each element yielded by "
"the iterable, but may be implemented more efficiently."
msgstr ""
#: library/asyncio-protocol.rst:345
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Close the write end of the transport after flushing all buffered data. Data "
"may still be received."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:348
2016-10-30 09:46:26 +00:00
msgid ""
"This method can raise :exc:`NotImplementedError` if the transport (e.g. SSL) "
2018-10-13 15:54:03 +00:00
"doesn't support half-closed connections."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:353
2018-10-13 15:54:03 +00:00
msgid "Datagram Transports"
msgstr "Transports de datagrammes"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:357
2016-10-30 09:46:26 +00:00
msgid ""
"Send the *data* bytes to the remote peer given by *addr* (a transport-"
"dependent target address). If *addr* is :const:`None`, the data is sent to "
"the target address given on transport creation."
msgstr ""
#: library/asyncio-protocol.rst:367
2018-10-13 15:54:03 +00:00
msgid ""
"Close the transport immediately, without waiting for pending operations to "
"complete. Buffered data will be lost. No more data will be received. The "
"protocol's :meth:`protocol.connection_lost() <BaseProtocol.connection_lost>` "
"method will eventually be called with :const:`None` as its argument."
msgstr ""
#: library/asyncio-protocol.rst:377
2018-10-13 15:54:03 +00:00
msgid "Subprocess Transports"
msgstr "Transports vers des sous-processus"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:381
2016-10-30 09:46:26 +00:00
msgid "Return the subprocess process id as an integer."
msgstr ""
"Donne l'identifiant du sous processus sous la forme d'un nombre entier."
#: library/asyncio-protocol.rst:385
2016-10-30 09:46:26 +00:00
msgid ""
"Return the transport for the communication pipe corresponding to the integer "
"file descriptor *fd*:"
msgstr ""
#: library/asyncio-protocol.rst:388
2016-10-30 09:46:26 +00:00
msgid ""
"``0``: readable streaming transport of the standard input (*stdin*), or :"
"const:`None` if the subprocess was not created with ``stdin=PIPE``"
msgstr ""
#: library/asyncio-protocol.rst:390
2016-10-30 09:46:26 +00:00
msgid ""
"``1``: writable streaming transport of the standard output (*stdout*), or :"
"const:`None` if the subprocess was not created with ``stdout=PIPE``"
msgstr ""
#: library/asyncio-protocol.rst:392
2016-10-30 09:46:26 +00:00
msgid ""
"``2``: writable streaming transport of the standard error (*stderr*), or :"
"const:`None` if the subprocess was not created with ``stderr=PIPE``"
msgstr ""
#: library/asyncio-protocol.rst:394
2016-10-30 09:46:26 +00:00
msgid "other *fd*: :const:`None`"
msgstr "autre *fd* : :const:`None`"
#: library/asyncio-protocol.rst:398
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Return the subprocess return code as an integer or :const:`None` if it "
"hasn't returned, which is similar to the :attr:`subprocess.Popen.returncode` "
"attribute."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:404
2018-10-13 15:54:03 +00:00
msgid "Kill the subprocess."
msgstr "Tue le sous-processus."
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:406
2016-10-30 09:46:26 +00:00
msgid ""
"On POSIX systems, the function sends SIGKILL to the subprocess. On Windows, "
"this method is an alias for :meth:`terminate`."
msgstr ""
#: library/asyncio-protocol.rst:409
2018-10-13 15:54:03 +00:00
msgid "See also :meth:`subprocess.Popen.kill`."
msgstr ""
#: library/asyncio-protocol.rst:413
2016-10-30 09:46:26 +00:00
msgid ""
"Send the *signal* number to the subprocess, as in :meth:`subprocess.Popen."
"send_signal`."
msgstr ""
#: library/asyncio-protocol.rst:418
2018-10-13 15:54:03 +00:00
msgid "Stop the subprocess."
2018-10-14 22:47:12 +00:00
msgstr "Termine le sous-processus."
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:420
2016-10-30 09:46:26 +00:00
msgid ""
"On POSIX systems, this method sends SIGTERM to the subprocess. On Windows, "
"the Windows API function TerminateProcess() is called to stop the subprocess."
msgstr ""
#: library/asyncio-protocol.rst:424
2018-10-13 15:54:03 +00:00
msgid "See also :meth:`subprocess.Popen.terminate`."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:428
2018-10-13 15:54:03 +00:00
msgid "Kill the subprocess by calling the :meth:`kill` method."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:430
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"If the subprocess hasn't returned yet, and close transports of *stdin*, "
"*stdout*, and *stderr* pipes."
msgstr ""
#: library/asyncio-protocol.rst:437
2018-10-13 15:54:03 +00:00
msgid "Protocols"
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:439
msgid "**Source code:** :source:`Lib/asyncio/protocols.py`"
msgstr ""
#: library/asyncio-protocol.rst:443
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"asyncio provides a set of abstract base classes that should be used to "
"implement network protocols. Those classes are meant to be used together "
"with :ref:`transports <asyncio-transport>`."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:447
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Subclasses of abstract base protocol classes may implement some or all "
"methods. All these methods are callbacks: they are called by transports on "
"certain events, for example when some data is received. A base protocol "
"method should be called by the corresponding transport."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:454
2018-10-13 15:54:03 +00:00
msgid "Base Protocols"
msgstr "Protocoles de base"
#: library/asyncio-protocol.rst:458
2018-10-13 15:54:03 +00:00
msgid "Base protocol with methods that all protocols share."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:462
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The base class for implementing streaming protocols (TCP, Unix sockets, etc)."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:467
2018-06-28 13:32:56 +00:00
msgid ""
"A base class for implementing streaming protocols with manual control of the "
"receive buffer."
msgstr ""
#: library/asyncio-protocol.rst:472
2018-10-13 15:54:03 +00:00
msgid "The base class for implementing datagram (UDP) protocols."
2018-06-28 13:32:56 +00:00
msgstr ""
#: library/asyncio-protocol.rst:476
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The base class for implementing protocols communicating with child processes "
"(unidirectional pipes)."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:481
2020-02-14 10:18:53 +00:00
#, fuzzy
2018-10-13 15:54:03 +00:00
msgid "Base Protocol"
2020-02-14 10:18:53 +00:00
msgstr "Protocoles de base"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:483
2018-10-13 15:54:03 +00:00
msgid "All asyncio protocols can implement Base Protocol callbacks."
msgstr ""
#: library/asyncio-protocol.rst:486
2018-10-13 15:54:03 +00:00
msgid "Connection Callbacks"
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:487
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Connection callbacks are called on all protocols, exactly once per a "
"successful connection. All other protocol callbacks can only be called "
"between those two methods."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:493
2016-10-30 09:46:26 +00:00
msgid "Called when a connection is made."
msgstr "Appelé lorsqu'une connexion est établie."
#: library/asyncio-protocol.rst:495
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The *transport* argument is the transport representing the connection. The "
"protocol is responsible for storing the reference to its transport."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:501
2016-10-30 09:46:26 +00:00
msgid "Called when the connection is lost or closed."
msgstr "Appelé lorsqu'une connexion est perdue ou fermée."
#: library/asyncio-protocol.rst:503
2016-10-30 09:46:26 +00:00
msgid ""
"The argument is either an exception object or :const:`None`. The latter "
"means a regular EOF is received, or the connection was aborted or closed by "
"this side of the connection."
msgstr ""
#: library/asyncio-protocol.rst:509
2018-10-13 15:54:03 +00:00
msgid "Flow Control Callbacks"
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:510
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Flow control callbacks can be called by transports to pause or resume "
"writing performed by the protocol."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:513
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"See the documentation of the :meth:`~WriteTransport.set_write_buffer_limits` "
"method for more details."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:518
2018-10-13 15:54:03 +00:00
msgid "Called when the transport's buffer goes over the high watermark."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:522
2018-10-13 15:54:03 +00:00
msgid "Called when the transport's buffer drains below the low watermark."
msgstr ""
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:524
2018-10-13 15:54:03 +00:00
msgid ""
"If the buffer size equals the high watermark, :meth:`~BaseProtocol."
"pause_writing` is not called: the buffer size must go strictly over."
msgstr ""
#: library/asyncio-protocol.rst:528
2018-10-13 15:54:03 +00:00
msgid ""
"Conversely, :meth:`~BaseProtocol.resume_writing` is called when the buffer "
"size is equal or lower than the low watermark. These end conditions are "
"important to ensure that things go as expected when either mark is zero."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:535
2018-10-13 15:54:03 +00:00
msgid "Streaming Protocols"
msgstr "Protocoles connectés"
#: library/asyncio-protocol.rst:537
2018-10-13 15:54:03 +00:00
msgid ""
"Event methods, such as :meth:`loop.create_server`, :meth:`loop."
"create_unix_server`, :meth:`loop.create_connection`, :meth:`loop."
"create_unix_connection`, :meth:`loop.connect_accepted_socket`, :meth:`loop."
"connect_read_pipe`, and :meth:`loop.connect_write_pipe` accept factories "
"that return streaming protocols."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:545
2016-10-30 09:46:26 +00:00
msgid ""
"Called when some data is received. *data* is a non-empty bytes object "
"containing the incoming data."
msgstr ""
#: library/asyncio-protocol.rst:548
2016-10-30 09:46:26 +00:00
msgid ""
"Whether the data is buffered, chunked or reassembled depends on the "
"transport. In general, you shouldn't rely on specific semantics and instead "
2018-10-13 15:54:03 +00:00
"make your parsing generic and flexible. However, data is always received in "
"the correct order."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:553
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The method can be called an arbitrary number of times while a connection is "
"open."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:556
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"However, :meth:`protocol.eof_received() <Protocol.eof_received>` is called "
"at most once. Once ``eof_received()`` is called, ``data_received()`` is not "
2018-10-13 15:54:03 +00:00
"called anymore."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:562
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Called when the other end signals it won't send any more data (for example "
"by calling :meth:`transport.write_eof() <WriteTransport.write_eof>`, if the "
"other end also uses asyncio)."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:567
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"This method may return a false value (including ``None``), in which case the "
"transport will close itself. Conversely, if this method returns a true "
"value, the protocol used determines whether to close the transport. Since "
"the default implementation returns ``None``, it implicitly closes the "
"connection."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:573
2018-10-13 15:54:03 +00:00
msgid ""
"Some transports, including SSL, don't support half-closed connections, in "
"which case returning true from this method will result in the connection "
"being closed."
msgstr ""
#: library/asyncio-protocol.rst:578 library/asyncio-protocol.rst:636
2016-10-30 09:46:26 +00:00
msgid "State machine:"
msgstr "Machine à états :"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:589
2018-10-13 15:54:03 +00:00
msgid "Buffered Streaming Protocols"
2018-06-28 13:32:56 +00:00
msgstr ""
#: library/asyncio-protocol.rst:593
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Buffered Protocols can be used with any event loop method that supports "
"`Streaming Protocols`_."
2018-06-28 13:32:56 +00:00
msgstr ""
#: library/asyncio-protocol.rst:596
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"``BufferedProtocol`` implementations allow explicit manual allocation and "
"control of the receive buffer. Event loops can then use the buffer provided "
"by the protocol to avoid unnecessary data copies. This can result in "
2018-06-28 13:32:56 +00:00
"noticeable performance improvement for protocols that receive big amounts of "
2018-10-13 15:54:03 +00:00
"data. Sophisticated protocol implementations can significantly reduce the "
"number of buffer allocations."
2018-06-28 13:32:56 +00:00
msgstr ""
#: library/asyncio-protocol.rst:603
2018-06-28 13:32:56 +00:00
msgid ""
"The following callbacks are called on :class:`BufferedProtocol` instances:"
msgstr ""
#: library/asyncio-protocol.rst:608
2018-06-28 13:32:56 +00:00
msgid "Called to allocate a new receive buffer."
msgstr ""
#: library/asyncio-protocol.rst:610
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"*sizehint* is the recommended minimum size for the returned buffer. It is "
"acceptable to return smaller or larger buffers than what *sizehint* "
2018-06-28 13:32:56 +00:00
"suggests. When set to -1, the buffer size can be arbitrary. It is an error "
2018-10-13 15:54:03 +00:00
"to return a buffer with a zero size."
2018-06-28 13:32:56 +00:00
msgstr ""
#: library/asyncio-protocol.rst:615
2018-06-28 13:32:56 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"``get_buffer()`` must return an object implementing the :ref:`buffer "
"protocol <bufferobjects>`."
2018-06-28 13:32:56 +00:00
msgstr ""
#: library/asyncio-protocol.rst:620
2018-06-28 13:32:56 +00:00
msgid "Called when the buffer was updated with the received data."
msgstr ""
#: library/asyncio-protocol.rst:622
2018-06-28 13:32:56 +00:00
msgid "*nbytes* is the total number of bytes that were written to the buffer."
msgstr ""
#: library/asyncio-protocol.rst:626
2018-10-13 15:54:03 +00:00
msgid ""
"See the documentation of the :meth:`protocol.eof_received() <Protocol."
"eof_received>` method."
2018-06-28 13:32:56 +00:00
msgstr ""
#: library/asyncio-protocol.rst:630
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
":meth:`~BufferedProtocol.get_buffer` can be called an arbitrary number of "
"times during a connection. However, :meth:`protocol.eof_received() "
"<Protocol.eof_received>` is called at most once and, if called, :meth:"
"`~BufferedProtocol.get_buffer` and :meth:`~BufferedProtocol.buffer_updated` "
"won't be called after it."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:649
2018-10-13 15:54:03 +00:00
msgid "Datagram Protocols"
msgstr "Protocoles non-connectés"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:651
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Datagram Protocol instances should be constructed by protocol factories "
"passed to the :meth:`loop.create_datagram_endpoint` method."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:656
2016-10-30 09:46:26 +00:00
msgid ""
"Called when a datagram is received. *data* is a bytes object containing the "
"incoming data. *addr* is the address of the peer sending the data; the "
"exact format depends on the transport."
msgstr ""
#: library/asyncio-protocol.rst:662
2016-10-30 09:46:26 +00:00
msgid ""
"Called when a previous send or receive operation raises an :class:"
"`OSError`. *exc* is the :class:`OSError` instance."
msgstr ""
#: library/asyncio-protocol.rst:665
2016-10-30 09:46:26 +00:00
msgid ""
"This method is called in rare conditions, when the transport (e.g. UDP) "
2018-10-13 15:54:03 +00:00
"detects that a datagram could not be delivered to its recipient. In many "
2016-10-30 09:46:26 +00:00
"conditions though, undeliverable datagrams will be silently dropped."
msgstr ""
#: library/asyncio-protocol.rst:672
2018-10-13 15:54:03 +00:00
msgid ""
"On BSD systems (macOS, FreeBSD, etc.) flow control is not supported for "
"datagram protocols, because there is no reliable way to detect send failures "
"caused by writing too many packets."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:676
2018-10-13 15:54:03 +00:00
msgid ""
"The socket always appears 'ready' and excess packets are dropped. An :class:"
"`OSError` with ``errno`` set to :const:`errno.ENOBUFS` may or may not be "
"raised; if it is raised, it will be reported to :meth:`DatagramProtocol."
"error_received` but otherwise ignored."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:685
2018-10-13 15:54:03 +00:00
msgid "Subprocess Protocols"
2018-10-14 22:47:12 +00:00
msgstr "Protocoles liés aux sous-processus"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:687
2016-10-30 09:46:26 +00:00
msgid ""
"Subprocess Protocol instances should be constructed by protocol factories "
2018-10-13 15:54:03 +00:00
"passed to the :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` "
"methods."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:693
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Called when the child process writes data into its stdout or stderr pipe."
2016-10-30 09:46:26 +00:00
msgstr ""
2018-10-13 15:54:03 +00:00
"Appelé lorsqu'un processus enfant écrit sur sa sortie d'erreur ou sa sortie "
"standard."
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:696
2018-10-13 15:54:03 +00:00
msgid "*fd* is the integer file descriptor of the pipe."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:698
2018-10-13 15:54:03 +00:00
msgid "*data* is a non-empty bytes object containing the received data."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:702
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Called when one of the pipes communicating with the child process is closed."
2016-10-30 09:46:26 +00:00
msgstr ""
2018-10-14 22:47:12 +00:00
"Appelé lorsqu'une des *pipe*\\ s de communication avec un sous-processus est "
2018-10-13 15:54:03 +00:00
"fermée."
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:705
2018-10-13 15:54:03 +00:00
msgid "*fd* is the integer file descriptor that was closed."
msgstr ""
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:709
2018-10-13 15:54:03 +00:00
msgid "Called when the child process has exited."
msgstr "Appelé lorsqu'un processus enfant se termine."
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:713
2018-10-13 15:54:03 +00:00
msgid "Examples"
msgstr "Exemples"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:718
2018-10-13 15:54:03 +00:00
msgid "TCP Echo Server"
msgstr "Serveur de *ping* en TCP"
#: library/asyncio-protocol.rst:720
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Create a TCP echo server using the :meth:`loop.create_server` method, send "
"back received data, and close the connection::"
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:761
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The :ref:`TCP echo server using streams <asyncio-tcp-echo-server-streams>` "
"example uses the high-level :func:`asyncio.start_server` function."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:767
2018-10-13 15:54:03 +00:00
msgid "TCP Echo Client"
msgstr "Client de *ping* en TCP"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:769
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"A TCP echo client using the :meth:`loop.create_connection` method, sends "
"data, and waits until the connection is closed::"
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:817
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The :ref:`TCP echo client using streams <asyncio-tcp-echo-client-streams>` "
2019-10-09 16:10:12 +00:00
"example uses the high-level :func:`asyncio.open_connection` function."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:824
2018-10-13 15:54:03 +00:00
msgid "UDP Echo Server"
msgstr "Serveur de *ping* en UDP"
#: library/asyncio-protocol.rst:826
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"A UDP echo server, using the :meth:`loop.create_datagram_endpoint` method, "
"sends back received data::"
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:868
2018-10-13 15:54:03 +00:00
msgid "UDP Echo Client"
msgstr "Client de *ping* en UDP"
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:870
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"A UDP echo client, using the :meth:`loop.create_datagram_endpoint` method, "
"sends data and closes the transport when it receives the answer::"
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:925
2018-10-13 15:54:03 +00:00
msgid "Connecting Existing Sockets"
msgstr ""
2016-10-30 09:46:26 +00:00
#: library/asyncio-protocol.rst:927
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"Wait until a socket receives data using the :meth:`loop.create_connection` "
"method with a protocol::"
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:981
2018-10-13 15:54:03 +00:00
msgid ""
"The :ref:`watch a file descriptor for read events "
"<asyncio_example_watch_fd>` example uses the low-level :meth:`loop."
"add_reader` method to register an FD."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:985
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"The :ref:`register an open socket to wait for data using streams "
"<asyncio_example_create_connection-streams>` example uses high-level streams "
2019-10-09 16:10:12 +00:00
"created by the :func:`open_connection` function in a coroutine."
2018-10-13 15:54:03 +00:00
msgstr ""
#: library/asyncio-protocol.rst:992
2018-10-13 15:54:03 +00:00
msgid "loop.subprocess_exec() and SubprocessProtocol"
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:994
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"An example of a subprocess protocol used to get the output of a subprocess "
"and to wait for the subprocess exit."
2016-10-30 09:46:26 +00:00
msgstr ""
#: library/asyncio-protocol.rst:997
2020-07-20 08:56:42 +00:00
msgid "The subprocess is created by the :meth:`loop.subprocess_exec` method::"
2018-10-13 15:54:03 +00:00
msgstr ""
#: library/asyncio-protocol.rst:1043
2016-10-30 09:46:26 +00:00
msgid ""
2018-10-13 15:54:03 +00:00
"See also the :ref:`same example <asyncio_example_create_subprocess_exec>` "
"written using high-level APIs."
2016-10-30 09:46:26 +00:00
msgstr ""