bpo-44011: Document ssl_shutdown_timeout added by revisited asyncio SSL implementation (GH-31597)

This commit is contained in:
Kumar Aditya 2022-02-26 18:36:43 +05:30 committed by GitHub
parent b57dbe5d1b
commit 41ddcd3f40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 55 additions and 5 deletions

View File

@ -369,6 +369,7 @@ Opening network connections
family=0, proto=0, flags=0, sock=None, \ family=0, proto=0, flags=0, sock=None, \
local_addr=None, server_hostname=None, \ local_addr=None, server_hostname=None, \
ssl_handshake_timeout=None, \ ssl_handshake_timeout=None, \
ssl_shutdown_timeout=None, \
happy_eyeballs_delay=None, interleave=None) happy_eyeballs_delay=None, interleave=None)
Open a streaming transport connection to a given Open a streaming transport connection to a given
@ -456,6 +457,10 @@ Opening network connections
to wait for the TLS handshake to complete before aborting the connection. to wait for the TLS handshake to complete before aborting the connection.
``60.0`` seconds if ``None`` (default). ``60.0`` seconds if ``None`` (default).
* *ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdown
to complete before aborting the connection. ``30.0`` seconds if ``None``
(default).
.. versionchanged:: 3.5 .. versionchanged:: 3.5
Added support for SSL/TLS in :class:`ProactorEventLoop`. Added support for SSL/TLS in :class:`ProactorEventLoop`.
@ -484,6 +489,10 @@ Opening network connections
For more information: https://tools.ietf.org/html/rfc6555 For more information: https://tools.ietf.org/html/rfc6555
.. versionchanged:: 3.11
Added the *ssl_shutdown_timeout* parameter.
.. seealso:: .. seealso::
The :func:`open_connection` function is a high-level alternative The :func:`open_connection` function is a high-level alternative
@ -569,7 +578,8 @@ Opening network connections
.. coroutinemethod:: loop.create_unix_connection(protocol_factory, \ .. coroutinemethod:: loop.create_unix_connection(protocol_factory, \
path=None, *, ssl=None, sock=None, \ path=None, *, ssl=None, sock=None, \
server_hostname=None, ssl_handshake_timeout=None) server_hostname=None, ssl_handshake_timeout=None, \
ssl_shutdown_timeout=None)
Create a Unix connection. Create a Unix connection.
@ -592,6 +602,10 @@ Opening network connections
Added the *ssl_handshake_timeout* parameter. Added the *ssl_handshake_timeout* parameter.
The *path* parameter can now be a :term:`path-like object`. The *path* parameter can now be a :term:`path-like object`.
.. versionchanged:: 3.11
Added the *ssl_shutdown_timeout* parameter.
Creating network servers Creating network servers
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
@ -602,7 +616,9 @@ Creating network servers
flags=socket.AI_PASSIVE, \ flags=socket.AI_PASSIVE, \
sock=None, backlog=100, ssl=None, \ sock=None, backlog=100, ssl=None, \
reuse_address=None, reuse_port=None, \ reuse_address=None, reuse_port=None, \
ssl_handshake_timeout=None, start_serving=True) ssl_handshake_timeout=None, \
ssl_shutdown_timeout=None, \
start_serving=True)
Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) listening Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) listening
on *port* of the *host* address. on *port* of the *host* address.
@ -662,6 +678,10 @@ Creating network servers
for the TLS handshake to complete before aborting the connection. for the TLS handshake to complete before aborting the connection.
``60.0`` seconds if ``None`` (default). ``60.0`` seconds if ``None`` (default).
* *ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdown
to complete before aborting the connection. ``30.0`` seconds if ``None``
(default).
* *start_serving* set to ``True`` (the default) causes the created server * *start_serving* set to ``True`` (the default) causes the created server
to start accepting connections immediately. When set to ``False``, to start accepting connections immediately. When set to ``False``,
the user should await on :meth:`Server.start_serving` or the user should await on :meth:`Server.start_serving` or
@ -682,6 +702,10 @@ Creating network servers
The socket option :py:data:`~socket.TCP_NODELAY` is set by default The socket option :py:data:`~socket.TCP_NODELAY` is set by default
for all TCP connections. for all TCP connections.
.. versionchanged:: 3.11
Added the *ssl_shutdown_timeout* parameter.
.. seealso:: .. seealso::
The :func:`start_server` function is a higher-level alternative API The :func:`start_server` function is a higher-level alternative API
@ -691,7 +715,9 @@ Creating network servers
.. coroutinemethod:: loop.create_unix_server(protocol_factory, path=None, \ .. coroutinemethod:: loop.create_unix_server(protocol_factory, path=None, \
*, sock=None, backlog=100, ssl=None, \ *, sock=None, backlog=100, ssl=None, \
ssl_handshake_timeout=None, start_serving=True) ssl_handshake_timeout=None, \
ssl_shutdown_timeout=None, \
start_serving=True)
Similar to :meth:`loop.create_server` but works with the Similar to :meth:`loop.create_server` but works with the
:py:data:`~socket.AF_UNIX` socket family. :py:data:`~socket.AF_UNIX` socket family.
@ -711,8 +737,14 @@ Creating network servers
Added the *ssl_handshake_timeout* and *start_serving* parameters. Added the *ssl_handshake_timeout* and *start_serving* parameters.
The *path* parameter can now be a :class:`~pathlib.Path` object. The *path* parameter can now be a :class:`~pathlib.Path` object.
.. versionchanged:: 3.11
Added the *ssl_shutdown_timeout* parameter.
.. coroutinemethod:: loop.connect_accepted_socket(protocol_factory, \ .. coroutinemethod:: loop.connect_accepted_socket(protocol_factory, \
sock, *, ssl=None, ssl_handshake_timeout=None) sock, *, ssl=None, ssl_handshake_timeout=None, \
ssl_shutdown_timeout=None)
Wrap an already accepted connection into a transport/protocol pair. Wrap an already accepted connection into a transport/protocol pair.
@ -734,6 +766,10 @@ Creating network servers
wait for the SSL handshake to complete before aborting the connection. wait for the SSL handshake to complete before aborting the connection.
``60.0`` seconds if ``None`` (default). ``60.0`` seconds if ``None`` (default).
* *ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdown
to complete before aborting the connection. ``30.0`` seconds if ``None``
(default).
Returns a ``(transport, protocol)`` pair. Returns a ``(transport, protocol)`` pair.
.. versionadded:: 3.5.3 .. versionadded:: 3.5.3
@ -742,6 +778,10 @@ Creating network servers
Added the *ssl_handshake_timeout* parameter. Added the *ssl_handshake_timeout* parameter.
.. versionchanged:: 3.11
Added the *ssl_shutdown_timeout* parameter.
Transferring files Transferring files
^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
@ -778,7 +818,8 @@ TLS Upgrade
.. coroutinemethod:: loop.start_tls(transport, protocol, \ .. coroutinemethod:: loop.start_tls(transport, protocol, \
sslcontext, *, server_side=False, \ sslcontext, *, server_side=False, \
server_hostname=None, ssl_handshake_timeout=None) server_hostname=None, ssl_handshake_timeout=None, \
ssl_shutdown_timeout=None)
Upgrade an existing transport-based connection to TLS. Upgrade an existing transport-based connection to TLS.
@ -804,8 +845,17 @@ TLS Upgrade
wait for the TLS handshake to complete before aborting the connection. wait for the TLS handshake to complete before aborting the connection.
``60.0`` seconds if ``None`` (default). ``60.0`` seconds if ``None`` (default).
* *ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdown
to complete before aborting the connection. ``30.0`` seconds if ``None``
(default).
.. versionadded:: 3.7 .. versionadded:: 3.7
.. versionchanged:: 3.11
Added the *ssl_shutdown_timeout* parameter.
Watching file descriptors Watching file descriptors
^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^