summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio/events.py
diff options
context:
space:
mode:
authorAndrew Svetlov <andrew.svetlov@gmail.com>2021-05-02 21:34:15 (GMT)
committerGitHub <noreply@github.com>2021-05-02 21:34:15 (GMT)
commit5fb06edbbb769561e245d0fe13002bab50e2ae60 (patch)
treea6341e32a1140447b2d37a3a47fedb9d5043c75d /Lib/asyncio/events.py
parentc96cc089f60d2bf7e003c27413c3239ee9de2990 (diff)
downloadcpython-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.py19
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