Changelog¶
2016-02-22: Version 0.5.1¶
Fix EventLoop.stop() for the new semantics of stop() introduced in Python 3.4.4 and Python 3.5.1. The method now writes into the self-pipe to wake-up the event loop. Otherwise, the stop() may not be taken in account immediatly, and even block forever.
2016-02-22: Version 0.5¶
Unit tests now use the aiotest library.
Fix for eventlet used with monkey-patching: inject the original threading module and the original threading.get_ident() function in asyncio.base_events.
Drop support for Python 2.6 and Python 3.2. aioeventlet depends on trollius and pip which don’t support these Python versions anymore.
2014-12-03: Version 0.4¶
Add run_aiotest.py
tox now also run the aiotest test suite
Rename the project from
aiogreen
toaioeventlet
Rename the
link_future()
function toyield_future()
Running tests with eventlet monkey-patching now works with Python 3.
2014-11-23: version 0.3¶
wrap_greenthread()
now raises an exception if the greenthread is running or already finished. In debug mode, the exception is not more logged to sys.stderr for greenthreads.link_future()
now accepts coroutine objects.link_future()
now raises an exception if it is called from the greenthread of the aiogreen event loop.Fix eventlet detection of blocking tasks: cancel the alarm when the aiogreen event loop stops.
Fix to run an event loop in a thread different than the main thread in debug mode: disable eventlet “debug_blocking”, it is implemented with the SIGALRM signal, but signal handlers can only be set in the main thread.
2014-11-21: version 0.2¶
aiogreen event loop has been rewritten to reuse more asyncio/trollius code. It now only has a few specific code.
It is now possible use greenthreads in asyncio coroutines, and to use asyncio
coroutines, tasks and futures in greenthreads: see link_future()
and
wrap_greenthread()
functions.
All asyncio network are supported: TCP, UCP and UNIX clients and servers.
Support of pipes, signal handlers and subprocess is still experimental.
Changes:
Add a Sphinx documentation published at http://aiogreen.readthedocs.org/
Add the
link_future()
function: wait for a future from a greenthread.Add the
wrap_greenthread()
function: wrap a greenthread into a FutureSupport also eventlet 0.14, not only eventlet 0.15 or newer
Support eventlet with monkey-patching
Rewrite the code handling file descriptors to ensure that the listener is only called once per loop iteration, to respect asyncio specification.
Simplify the loop iteration: remove custom code to reuse instead the asyncio/trollius code (_run_once)
Reuse call_soon, call_soon_threadsafe, call_at, call_later from asyncio/trollius, remove custom code
sock_connect() is now asynchronous
Add a suite of automated unit tests
Fix EventLoop.stop(): don’t stop immediatly, but schedule stopping the event loop with call_soon()
Add tox.ini to run tests with tox
Setting debug mode of the event loop doesn’t enable “debug_blocking” of eventlet on Windows anymore, the feature is not implemented on Windows in eventlet.
add_reader() and add_writer() now cancels the previous handle and sets a new handle
In debug mode, detect calls to call_soon() from greenthreads which are not threadsafe (would not wake up the event loop).
Only set “debug_exceptions” of the eventlet hub when the debug mode of the event loop is enabled.
2014-11-19: version 0.1¶
First public release