summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/ssl.rst12
1 files changed, 10 insertions, 2 deletions
diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
index 6489ecf..095a831 100644
--- a/Doc/library/ssl.rst
+++ b/Doc/library/ssl.rst
@@ -794,7 +794,7 @@ SSL sockets also have the following additional methods and attributes:
instead, and return the number of bytes read.
Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is
- non-blocking and the read would block.
+ :ref:`non-blocking <ssl-nonblocking>` and the read would block.
As at any time a re-negotiation is possible, a call to :meth:`read` can also
cause write operations.
@@ -805,7 +805,7 @@ SSL sockets also have the following additional methods and attributes:
*buf* argument must be an object supporting the buffer interface.
Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is
- non-blocking and the write would block.
+ :ref:`non-blocking <ssl-nonblocking>` and the write would block.
As at any time a re-negotiation is possible, a call to :meth:`write` can
also cause read operations.
@@ -1691,6 +1691,14 @@ thus several things you need to be aware of:
except ssl.SSLWantWriteError:
select.select([], [sock], [])
+.. seealso::
+
+ The :mod:`asyncio` module supports non-blocking SSL sockets and provides a
+ higher level API. It polls for events using the :mod:`selectors` module and
+ handles :exc:`SSLWantWriteError`, :exc:`SSLWantReadError` and
+ :exc:`BlockingIOError` exceptions. It runs the SSL handshake asynchronously
+ as well.
+
.. _ssl-security: