From 29611452b7d6289d4c210075b929a8acc1864df5 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 10 Oct 2014 12:52:43 +0200 Subject: [PATCH] Issue #22564: ssl doc, add more links to the non-blocking section --- Doc/library/ssl.rst | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst index ed966ee01bc..5e70c8b1a75 100644 --- a/Doc/library/ssl.rst +++ b/Doc/library/ssl.rst @@ -1681,7 +1681,7 @@ are finished with the client (or the client is finished with you):: And go back to listening for new client connections (of course, a real server would probably handle each client connection in a separate thread, or put -the sockets in non-blocking mode and use an event loop). +the sockets in :ref:`non-blocking mode ` and use an event loop). .. _ssl-nonblocking: @@ -1741,7 +1741,8 @@ thus several things you need to be aware of: .. seealso:: - The :mod:`asyncio` module supports non-blocking SSL sockets and provides a + The :mod:`asyncio` module supports :ref:`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 @@ -1802,9 +1803,10 @@ provided. Some notes related to the use of :class:`SSLObject`: -- All I/O on an :class:`SSLObject` is non-blocking. This means that for example - :meth:`~SSLSocket.read` will raise an :exc:`SSLWantReadError` if it needs - more data than the incoming BIO has available. +- All I/O on an :class:`SSLObject` is :ref:`non-blocking `. + This means that for example :meth:`~SSLSocket.read` will raise an + :exc:`SSLWantReadError` if it needs more data than the incoming BIO has + available. - There is no module-level ``wrap_bio`` call like there is for :meth:`~SSLContext.wrap_socket`. An :class:`SSLObject` is always created via