Changelog¶
- aioeventlet API is now considered as stable
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 Future - Support 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