diff options
author | Andrew Svetlov <andrew.svetlov@gmail.com> | 2021-05-02 21:34:15 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-02 21:34:15 (GMT) |
commit | 5fb06edbbb769561e245d0fe13002bab50e2ae60 (patch) | |
tree | a6341e32a1140447b2d37a3a47fedb9d5043c75d /Lib/asyncio/events.py | |
parent | c96cc089f60d2bf7e003c27413c3239ee9de2990 (diff) | |
download | cpython-5fb06edbbb769561e245d0fe13002bab50e2ae60.zip cpython-5fb06edbbb769561e245d0fe13002bab50e2ae60.tar.gz cpython-5fb06edbbb769561e245d0fe13002bab50e2ae60.tar.bz2 |
bpo-44011: New asyncio ssl implementation (#17975)
Diffstat (limited to 'Lib/asyncio/events.py')
-rw-r--r-- | Lib/asyncio/events.py | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/Lib/asyncio/events.py b/Lib/asyncio/events.py index b966ad2..d5254fa 100644 --- a/Lib/asyncio/events.py +++ b/Lib/asyncio/events.py @@ -304,6 +304,7 @@ class AbstractEventLoop: flags=0, sock=None, local_addr=None, server_hostname=None, ssl_handshake_timeout=None, + ssl_shutdown_timeout=None, happy_eyeballs_delay=None, interleave=None): raise NotImplementedError @@ -313,6 +314,7 @@ class AbstractEventLoop: flags=socket.AI_PASSIVE, sock=None, backlog=100, ssl=None, reuse_address=None, reuse_port=None, ssl_handshake_timeout=None, + ssl_shutdown_timeout=None, start_serving=True): """A coroutine which creates a TCP server bound to host and port. @@ -353,6 +355,10 @@ class AbstractEventLoop: will wait for completion of the SSL handshake before aborting the connection. Default is 60s. + ssl_shutdown_timeout is the time in seconds that an SSL server + will wait for completion of the SSL shutdown procedure + before aborting the connection. Default is 30s. + start_serving set to True (default) causes the created server to start accepting connections immediately. When set to False, the user should await Server.start_serving() or Server.serve_forever() @@ -371,7 +377,8 @@ class AbstractEventLoop: async def start_tls(self, transport, protocol, sslcontext, *, server_side=False, server_hostname=None, - ssl_handshake_timeout=None): + ssl_handshake_timeout=None, + ssl_shutdown_timeout=None): """Upgrade a transport to TLS. Return a new transport that *protocol* should start using @@ -383,13 +390,15 @@ class AbstractEventLoop: self, protocol_factory, path=None, *, ssl=None, sock=None, server_hostname=None, - ssl_handshake_timeout=None): + ssl_handshake_timeout=None, + ssl_shutdown_timeout=None): raise NotImplementedError async def create_unix_server( self, protocol_factory, path=None, *, sock=None, backlog=100, ssl=None, ssl_handshake_timeout=None, + ssl_shutdown_timeout=None, start_serving=True): """A coroutine which creates a UNIX Domain Socket server. @@ -411,6 +420,9 @@ class AbstractEventLoop: ssl_handshake_timeout is the time in seconds that an SSL server will wait for the SSL handshake to complete (defaults to 60s). + ssl_shutdown_timeout is the time in seconds that an SSL server + will wait for the SSL shutdown to finish (defaults to 30s). + start_serving set to True (default) causes the created server to start accepting connections immediately. When set to False, the user should await Server.start_serving() or Server.serve_forever() @@ -421,7 +433,8 @@ class AbstractEventLoop: async def connect_accepted_socket( self, protocol_factory, sock, *, ssl=None, - ssl_handshake_timeout=None): + ssl_handshake_timeout=None, + ssl_shutdown_timeout=None): """Handle an accepted connection. This is used by servers that accept connections outside of |