From 5cc583d94095ed3bb543fa2f032f9593a6315a52 Mon Sep 17 00:00:00 2001 From: Bumsik Kim Date: Sun, 16 Sep 2018 19:40:44 -0400 Subject: bpo-33649: Clarify protocol_factory as a method parameter (GH-9330) --- Doc/library/asyncio-eventloop.rst | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index 718c322..3e1571f 100644 --- a/Doc/library/asyncio-eventloop.rst +++ b/Doc/library/asyncio-eventloop.rst @@ -535,6 +535,9 @@ Creating network servers Arguments: + * *protocol_factory* must be a callable returning a + :ref:`protocol ` implementation. + * The *host* parameter can be set to several types which determine behavior: - If *host* is a string, the TCP server is bound to *host* and *port*. - if *host* is a sequence of strings, the TCP server is bound to all @@ -617,6 +620,9 @@ Creating network servers :class:`str`, :class:`bytes`, and :class:`~pathlib.Path` paths are supported. + See the documentation of the :meth:`loop.create_server` method + for information about arguments to this method. + Availability: UNIX. .. versionadded:: 3.7 @@ -637,6 +643,9 @@ Creating network servers Parameters: + * *protocol_factory* must be a callable returning a + :ref:`protocol ` implementation. + * *sock* is a preexisting socket object returned from :meth:`socket.accept `. @@ -909,7 +918,8 @@ Working with pipes *pipe* is a :term:`file-like object `. Return pair ``(transport, protocol)``, where *transport* supports - the :class:`ReadTransport` interface. + the :class:`ReadTransport` interface and *protocol* is an object + instantiated by the *protocol_factory*. With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-blocking mode. @@ -924,7 +934,8 @@ Working with pipes *pipe* is :term:`file-like object `. Return pair ``(transport, protocol)``, where *transport* supports - :class:`WriteTransport` interface. + :class:`WriteTransport` interface and *protocol* is an object + instantiated by the *protocol_factory*. With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-blocking mode. @@ -1159,7 +1170,8 @@ async/await code consider using high-level convenient for documentation on other arguments. Returns a pair of ``(transport, protocol)``, where *transport* - conforms to the :class:`asyncio.SubprocessTransport` base class. + conforms to the :class:`asyncio.SubprocessTransport` base class and + *protocol* is an object instantiated by the *protocol_factory*. .. coroutinemethod:: loop.subprocess_shell(protocol_factory, cmd, \*, \ stdin=subprocess.PIPE, stdout=subprocess.PIPE, \ @@ -1180,7 +1192,8 @@ async/await code consider using high-level convenient the remaining arguments. Returns a pair of ``(transport, protocol)``, where *transport* - conforms to the :class:`SubprocessTransport` base class. + conforms to the :class:`SubprocessTransport` base class and + *protocol* is an object instantiated by the *protocol_factory*. .. note:: It is the application's responsibility to ensure that all whitespace -- cgit v0.12