]> granicus.if.org Git - python/commitdiff
docs: Update asyncio docs & whatsnew
authorYury Selivanov <yselivanov@sprymix.com>
Mon, 16 May 2016 20:23:00 +0000 (16:23 -0400)
committerYury Selivanov <yselivanov@sprymix.com>
Mon, 16 May 2016 20:23:00 +0000 (16:23 -0400)
Doc/library/asyncio-eventloop.rst
Doc/library/asyncio-stream.rst
Doc/library/asyncio-task.rst
Doc/whatsnew/3.5.rst

index f68b19d8676e5b3fa2770eea234c54e3896089bc..1e9714216bdd318005f46b420cf47ca81587b79d 100644 (file)
@@ -179,6 +179,20 @@ a different clock than :func:`time.time`.
    The :func:`asyncio.sleep` function.
 
 
+Futures
+-------
+
+.. method:: BaseEventLoop.create_future()
+
+   Create an :class:`asyncio.Future` object attached to the loop.
+
+   This is a preferred way to create futures in asyncio, as event
+   loop implementations can provide alternative implementations
+   of the Future class (with better performance or instrumentation).
+
+   .. versionadded:: 3.5.2
+
+
 Tasks
 -----
 
@@ -669,6 +683,13 @@ Allows customizing how exceptions are handled in the event loop.
    will be a ``dict`` object (see :meth:`call_exception_handler`
    documentation for details about context).
 
+.. method:: BaseEventLoop.get_exception_handler()
+
+   Return the exception handler, or ``None`` if the default one
+   is in use.
+
+   .. versionadded:: 3.5.2
+
 .. method:: BaseEventLoop.default_exception_handler(context)
 
    Default exception handler.
index fa076df84a3d2499670c19893f0c5159474c4e86..08fe07156ae79f4edc99de7c2c713294b453343a 100644 (file)
@@ -142,6 +142,30 @@ StreamReader
 
       This method is a :ref:`coroutine <coroutine>`.
 
+   .. coroutinemethod:: readuntil(separator=b'\n')
+
+      Read data from the stream until ``separator`` is found.
+
+      On success, the data and separator will be removed from the
+      internal buffer (consumed). Returned data will include the
+      separator at the end.
+
+      Configured stream limit is used to check result. Limit sets the
+      maximal length of data that can be returned, not counting the
+      separator.
+
+      If an EOF occurs and the complete separator is still not found,
+      an :exc:`IncompleteReadError` exception will be
+      raised, and the internal buffer will be reset.  The
+      :attr:`IncompleteReadError.partial` attribute may contain the
+      separator partially.
+
+      If the data cannot be read because of over limit, a
+      :exc:`LimitOverrunError` exception  will be raised, and the data
+      will be left in the internal buffer, so it can be read again.
+
+      .. versionadded:: 3.5.2
+
    .. method:: at_eof()
 
       Return ``True`` if the buffer is empty and :meth:`feed_eof` was called.
@@ -251,6 +275,18 @@ IncompleteReadError
       Read bytes string before the end of stream was reached (:class:`bytes`).
 
 
+LimitOverrunError
+=================
+
+.. exception:: LimitOverrunError
+
+   Reached the buffer limit while looking for a separator.
+
+   .. attribute:: consumed
+
+      Total number of to be consumed bytes.
+
+
 Stream examples
 ===============
 
index 6f56026db4af1538b3d5a3d6e61138351e19abb2..cb5fae52068af47bbeb688b10c19656ad17749d6 100644 (file)
@@ -677,6 +677,8 @@ Task functions
 
    Passing ``None`` as *timeout* argument disables the manager logic.
 
+   .. versionadded:: 3.5.2
+
 .. coroutinefunction:: wait(futures, \*, loop=None, timeout=None,\
                             return_when=ALL_COMPLETED)
 
index 01ec64e39a857f51f65bc406f585b49d588c1adb..73a6dd1452fbbd38f087028f2fae747b22f3b2e1 100644 (file)
@@ -822,6 +822,33 @@ Updates in 3.5.1:
   method can now accept a list of hosts.
   (Contributed by Yann Sionneau.)
 
+Updates in 3.5.2:
+
+* New :meth:`loop.create_future() <asyncio.BaseEventLoop.create_future>`
+  method to create Future objects.  This allows alternative event
+  loop implementations, such as
+  `uvloop <https://github.com/MagicStack/uvloop>`_, to provide a faster
+  :class:`asyncio.Future` implementation.
+  (Contributed by Yury Selivanov.)
+
+* New :meth:`loop.get_exception_handler() <asyncio.BaseEventLoop.get_exception_handler>`
+  method to get the current exception handler.
+  (Contributed by Yury Selivanov.)
+
+* New :func:`~asyncio.timeout` context manager to simplify timeouts
+  handling code.
+  (Contributed by Andrew Svetlov.)
+
+* New :meth:`StreamReader.readuntil() <asyncio.StreamReader.readuntil>`
+  method to read data from the stream until a separator bytes
+  sequence appears.
+  (Contributed by Mark Korenberg.)
+
+* The :meth:`loop.getaddrinfo() <asyncio.BaseEventLoop.getaddrinfo>`
+  method is optimized to avoid calling the system ``getaddrinfo``
+  function if the address is already resolved.
+  (Contributed by A. Jesse Jiryu Davis.)
+
 
 bz2
 ---