0.9.17 ====== * ZeroMQ support calling send and recv from multiple greenthreads (thanks to Geoff Salmon) * SSL: unwrap() sends data, and so it needs trampolining (#104 thanks to Brandon Rhodes) * hubs.epolls: Fix imports for exception handler (#123 thanks to Johannes Erdfelt) * db_pool: Fix .clear() when min_size > 0 * db_pool: Add MySQL's insert_id() method (thanks to Peter Scott) * db_pool: Close connections after timeout, fix get-after-close race condition with using TpooledConnectionPool (thanks to Peter Scott) * threading monkey patch fixes (#115 thanks to Johannes Erdfelt) * pools: Better accounting of current_size in pools.Pool (#91 thanks to Brett Hoerner) * wsgi: environ['RAW_PATH_INFO'] with request path as received from client (thanks to dweimer) * wsgi: log_output flag (thanks to Juan Manuel Garcia) * wsgi: Limit HTTP header size (thanks to Gregory Holt) * wsgi: Configurable maximum URL length (thanks to Tomas Sedovic) 0.9.16 ====== * SO_REUSEADDR now correctly set. 0.9.15 ====== * ZeroMQ support without an explicit hub now implemented! Thanks to Zed Shaw for the patch. * zmq module supports the NOBLOCK flag, thanks to rfk. (#76) * eventlet.wsgi has a debug flag which can be set to false to not send tracebacks to the client (per redbo's request) * Recursive GreenPipe madness forestalled by Soren Hansen (#77) * eventlet.green.ssl no longer busywaits on send() * EEXIST ignored in epoll hub (#80) * eventlet.listen's behavior on Windows improved, thanks to Nick Vatamaniuc (#83) * Timeouts raised within tpool.execute are propagated back to the caller (thanks again to redbo for being the squeaky wheel) 0.9.14 ====== * Many fixes to the ZeroMQ hub, which now requires version 2.0.10 or later. Thanks to Ben Ford. * ZeroMQ hub no longer depends on pollhub, and thus works on Windows (thanks, Alexey Borzenkov) * Better handling of connect errors on Windows, thanks again to Alexey Borzenkov. * More-robust Event delivery, thanks to Malcolm Cleaton * wsgi.py now distinguishes between an empty query string ("") and a non-existent query string (no entry in environ). * wsgi.py handles ipv6 correctly (thanks, redbo) * Better behavior in tpool when you give it nonsensical numbers, thanks to R. Tyler for the nonsense. :) * Fixed importing on 2.5 (#73, thanks to Ruijun Luo) * Hub doesn't hold on to invalid fds (#74, thanks to Edward George) * Documentation for eventlet.green.zmq, courtesy of Ben Ford 0.9.13 ====== * ZeroMQ hub, and eventlet.green.zmq make supersockets green. Thanks to Ben Ford! * eventlet.green.MySQLdb added. It's an interface to MySQLdb that uses tpool to make it appear nonblocking * Greenthread affinity in tpool. Each greenthread is assigned to the same thread when using tpool, making it easier to work with non-thread-safe libraries. * Eventlet now depends on greenlet 0.3 or later. * Fixed a hang when using tpool during an import causes another import. Thanks to mikepk for tracking that down. * Improved websocket draft 76 compliance, thanks to Nick V. * Rare greenthread.kill() bug fixed, which was probably brought about by a bugfix in greenlet 0.3. * Easy_installing eventlet should no longer print an ImportError about greenlet * Support for serving up SSL websockets, thanks to chwagssd for reporting #62 * eventlet.wsgi properly sets 'wsgi.url_scheme' environment variable to 'https', and 'HTTPS' to 'on' if serving over ssl * Blocking detector uses setitimer on 2.6 or later, allowing for sub-second block detection, thanks to rtyler. * Blocking detector is documented now, too * socket.create_connection properly uses dnspython for nonblocking dns. Thanks to rtyler. * Removed EVENTLET_TPOOL_DNS, nobody liked that. But if you were using it, install dnspython instead. Thanks to pigmej and gholt. * Removed _main_wrapper from greenthread, thanks to Ambroff adding keyword arguments to switch() in 0.3! 0.9.12 ====== * Eventlet no longer uses the Twisted hub if Twisted is imported -- you must call eventlet.hubs.use_hub('twistedr') if you want to use it. This prevents strange race conditions for those who want to use both Twisted and Eventlet separately. * Removed circular import in twistedr.py * Added websocket multi-user chat example * Not using exec() in green modules anymore. * eventlet.green.socket now contains all attributes of the stdlib socket module, even those that were left out by bugs. * Eventlet.wsgi doesn't call print anymore, instead uses the logfiles for everything (it used to print exceptions in one place). * Eventlet.wsgi properly closes the connection when an error is raised * Better documentation on eventlet.event.Event.send_exception * Adding websocket.html to tarball so that you can run the examples without checking out the source 0.9.10 ====== * Greendns: if dnspython is installed, Eventlet will automatically use it to provide non-blocking DNS queries. Set the environment variable 'EVENTLET_NO_GREENDNS' if you don't want greendns but have dnspython installed. * Full test suite passes on Python 2.7. * Tests no longer depend on simplejson for >2.6. * Potential-bug fixes in patcher (thanks to Schmir, and thanks to Hudson) * Websockets work with query strings (thanks to mcarter) * WSGI posthooks that get called after the request completed (thanks to gholt, nice docs, too) * Blocking detector merged -- use it to detect places where your code is not yielding to the hub for > 1 second. * tpool.Proxy can wrap callables * Tweaked Timeout class to do something sensible when True is passed to the constructor
232 lines
9 KiB
Text
232 lines
9 KiB
Text
@comment $NetBSD: PLIST,v 1.4 2013/06/07 21:32:11 othyro Exp $
|
|
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
|
|
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
|
|
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
|
|
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
|
|
${PYSITELIB}/${EGG_INFODIR}/requires.txt
|
|
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
|
|
${PYSITELIB}/eventlet/__init__.py
|
|
${PYSITELIB}/eventlet/__init__.pyc
|
|
${PYSITELIB}/eventlet/__init__.pyo
|
|
${PYSITELIB}/eventlet/api.py
|
|
${PYSITELIB}/eventlet/api.pyc
|
|
${PYSITELIB}/eventlet/api.pyo
|
|
${PYSITELIB}/eventlet/backdoor.py
|
|
${PYSITELIB}/eventlet/backdoor.pyc
|
|
${PYSITELIB}/eventlet/backdoor.pyo
|
|
${PYSITELIB}/eventlet/convenience.py
|
|
${PYSITELIB}/eventlet/convenience.pyc
|
|
${PYSITELIB}/eventlet/convenience.pyo
|
|
${PYSITELIB}/eventlet/corolocal.py
|
|
${PYSITELIB}/eventlet/corolocal.pyc
|
|
${PYSITELIB}/eventlet/corolocal.pyo
|
|
${PYSITELIB}/eventlet/coros.py
|
|
${PYSITELIB}/eventlet/coros.pyc
|
|
${PYSITELIB}/eventlet/coros.pyo
|
|
${PYSITELIB}/eventlet/db_pool.py
|
|
${PYSITELIB}/eventlet/db_pool.pyc
|
|
${PYSITELIB}/eventlet/db_pool.pyo
|
|
${PYSITELIB}/eventlet/debug.py
|
|
${PYSITELIB}/eventlet/debug.pyc
|
|
${PYSITELIB}/eventlet/debug.pyo
|
|
${PYSITELIB}/eventlet/event.py
|
|
${PYSITELIB}/eventlet/event.pyc
|
|
${PYSITELIB}/eventlet/event.pyo
|
|
${PYSITELIB}/eventlet/green/BaseHTTPServer.py
|
|
${PYSITELIB}/eventlet/green/BaseHTTPServer.pyc
|
|
${PYSITELIB}/eventlet/green/BaseHTTPServer.pyo
|
|
${PYSITELIB}/eventlet/green/CGIHTTPServer.py
|
|
${PYSITELIB}/eventlet/green/CGIHTTPServer.pyc
|
|
${PYSITELIB}/eventlet/green/CGIHTTPServer.pyo
|
|
${PYSITELIB}/eventlet/green/MySQLdb.py
|
|
${PYSITELIB}/eventlet/green/MySQLdb.pyc
|
|
${PYSITELIB}/eventlet/green/MySQLdb.pyo
|
|
${PYSITELIB}/eventlet/green/OpenSSL/SSL.py
|
|
${PYSITELIB}/eventlet/green/OpenSSL/SSL.pyc
|
|
${PYSITELIB}/eventlet/green/OpenSSL/SSL.pyo
|
|
${PYSITELIB}/eventlet/green/OpenSSL/__init__.py
|
|
${PYSITELIB}/eventlet/green/OpenSSL/__init__.pyc
|
|
${PYSITELIB}/eventlet/green/OpenSSL/__init__.pyo
|
|
${PYSITELIB}/eventlet/green/OpenSSL/crypto.py
|
|
${PYSITELIB}/eventlet/green/OpenSSL/crypto.pyc
|
|
${PYSITELIB}/eventlet/green/OpenSSL/crypto.pyo
|
|
${PYSITELIB}/eventlet/green/OpenSSL/rand.py
|
|
${PYSITELIB}/eventlet/green/OpenSSL/rand.pyc
|
|
${PYSITELIB}/eventlet/green/OpenSSL/rand.pyo
|
|
${PYSITELIB}/eventlet/green/OpenSSL/tsafe.py
|
|
${PYSITELIB}/eventlet/green/OpenSSL/tsafe.pyc
|
|
${PYSITELIB}/eventlet/green/OpenSSL/tsafe.pyo
|
|
${PYSITELIB}/eventlet/green/OpenSSL/version.py
|
|
${PYSITELIB}/eventlet/green/OpenSSL/version.pyc
|
|
${PYSITELIB}/eventlet/green/OpenSSL/version.pyo
|
|
${PYSITELIB}/eventlet/green/Queue.py
|
|
${PYSITELIB}/eventlet/green/Queue.pyc
|
|
${PYSITELIB}/eventlet/green/Queue.pyo
|
|
${PYSITELIB}/eventlet/green/SimpleHTTPServer.py
|
|
${PYSITELIB}/eventlet/green/SimpleHTTPServer.pyc
|
|
${PYSITELIB}/eventlet/green/SimpleHTTPServer.pyo
|
|
${PYSITELIB}/eventlet/green/SocketServer.py
|
|
${PYSITELIB}/eventlet/green/SocketServer.pyc
|
|
${PYSITELIB}/eventlet/green/SocketServer.pyo
|
|
${PYSITELIB}/eventlet/green/__init__.py
|
|
${PYSITELIB}/eventlet/green/__init__.pyc
|
|
${PYSITELIB}/eventlet/green/__init__.pyo
|
|
${PYSITELIB}/eventlet/green/_socket_nodns.py
|
|
${PYSITELIB}/eventlet/green/_socket_nodns.pyc
|
|
${PYSITELIB}/eventlet/green/_socket_nodns.pyo
|
|
${PYSITELIB}/eventlet/green/asynchat.py
|
|
${PYSITELIB}/eventlet/green/asynchat.pyc
|
|
${PYSITELIB}/eventlet/green/asynchat.pyo
|
|
${PYSITELIB}/eventlet/green/asyncore.py
|
|
${PYSITELIB}/eventlet/green/asyncore.pyc
|
|
${PYSITELIB}/eventlet/green/asyncore.pyo
|
|
${PYSITELIB}/eventlet/green/ftplib.py
|
|
${PYSITELIB}/eventlet/green/ftplib.pyc
|
|
${PYSITELIB}/eventlet/green/ftplib.pyo
|
|
${PYSITELIB}/eventlet/green/httplib.py
|
|
${PYSITELIB}/eventlet/green/httplib.pyc
|
|
${PYSITELIB}/eventlet/green/httplib.pyo
|
|
${PYSITELIB}/eventlet/green/os.py
|
|
${PYSITELIB}/eventlet/green/os.pyc
|
|
${PYSITELIB}/eventlet/green/os.pyo
|
|
${PYSITELIB}/eventlet/green/profile.py
|
|
${PYSITELIB}/eventlet/green/profile.pyc
|
|
${PYSITELIB}/eventlet/green/profile.pyo
|
|
${PYSITELIB}/eventlet/green/select.py
|
|
${PYSITELIB}/eventlet/green/select.pyc
|
|
${PYSITELIB}/eventlet/green/select.pyo
|
|
${PYSITELIB}/eventlet/green/socket.py
|
|
${PYSITELIB}/eventlet/green/socket.pyc
|
|
${PYSITELIB}/eventlet/green/socket.pyo
|
|
${PYSITELIB}/eventlet/green/ssl.py
|
|
${PYSITELIB}/eventlet/green/ssl.pyc
|
|
${PYSITELIB}/eventlet/green/ssl.pyo
|
|
${PYSITELIB}/eventlet/green/subprocess.py
|
|
${PYSITELIB}/eventlet/green/subprocess.pyc
|
|
${PYSITELIB}/eventlet/green/subprocess.pyo
|
|
${PYSITELIB}/eventlet/green/thread.py
|
|
${PYSITELIB}/eventlet/green/thread.pyc
|
|
${PYSITELIB}/eventlet/green/thread.pyo
|
|
${PYSITELIB}/eventlet/green/threading.py
|
|
${PYSITELIB}/eventlet/green/threading.pyc
|
|
${PYSITELIB}/eventlet/green/threading.pyo
|
|
${PYSITELIB}/eventlet/green/time.py
|
|
${PYSITELIB}/eventlet/green/time.pyc
|
|
${PYSITELIB}/eventlet/green/time.pyo
|
|
${PYSITELIB}/eventlet/green/urllib.py
|
|
${PYSITELIB}/eventlet/green/urllib.pyc
|
|
${PYSITELIB}/eventlet/green/urllib.pyo
|
|
${PYSITELIB}/eventlet/green/urllib2.py
|
|
${PYSITELIB}/eventlet/green/urllib2.pyc
|
|
${PYSITELIB}/eventlet/green/urllib2.pyo
|
|
${PYSITELIB}/eventlet/green/zmq.py
|
|
${PYSITELIB}/eventlet/green/zmq.pyc
|
|
${PYSITELIB}/eventlet/green/zmq.pyo
|
|
${PYSITELIB}/eventlet/greenio.py
|
|
${PYSITELIB}/eventlet/greenio.pyc
|
|
${PYSITELIB}/eventlet/greenio.pyo
|
|
${PYSITELIB}/eventlet/greenpool.py
|
|
${PYSITELIB}/eventlet/greenpool.pyc
|
|
${PYSITELIB}/eventlet/greenpool.pyo
|
|
${PYSITELIB}/eventlet/greenthread.py
|
|
${PYSITELIB}/eventlet/greenthread.pyc
|
|
${PYSITELIB}/eventlet/greenthread.pyo
|
|
${PYSITELIB}/eventlet/hubs/__init__.py
|
|
${PYSITELIB}/eventlet/hubs/__init__.pyc
|
|
${PYSITELIB}/eventlet/hubs/__init__.pyo
|
|
${PYSITELIB}/eventlet/hubs/epolls.py
|
|
${PYSITELIB}/eventlet/hubs/epolls.pyc
|
|
${PYSITELIB}/eventlet/hubs/epolls.pyo
|
|
${PYSITELIB}/eventlet/hubs/hub.py
|
|
${PYSITELIB}/eventlet/hubs/hub.pyc
|
|
${PYSITELIB}/eventlet/hubs/hub.pyo
|
|
${PYSITELIB}/eventlet/hubs/poll.py
|
|
${PYSITELIB}/eventlet/hubs/poll.pyc
|
|
${PYSITELIB}/eventlet/hubs/poll.pyo
|
|
${PYSITELIB}/eventlet/hubs/pyevent.py
|
|
${PYSITELIB}/eventlet/hubs/pyevent.pyc
|
|
${PYSITELIB}/eventlet/hubs/pyevent.pyo
|
|
${PYSITELIB}/eventlet/hubs/selects.py
|
|
${PYSITELIB}/eventlet/hubs/selects.pyc
|
|
${PYSITELIB}/eventlet/hubs/selects.pyo
|
|
${PYSITELIB}/eventlet/hubs/timer.py
|
|
${PYSITELIB}/eventlet/hubs/timer.pyc
|
|
${PYSITELIB}/eventlet/hubs/timer.pyo
|
|
${PYSITELIB}/eventlet/hubs/twistedr.py
|
|
${PYSITELIB}/eventlet/hubs/twistedr.pyc
|
|
${PYSITELIB}/eventlet/hubs/twistedr.pyo
|
|
${PYSITELIB}/eventlet/patcher.py
|
|
${PYSITELIB}/eventlet/patcher.pyc
|
|
${PYSITELIB}/eventlet/patcher.pyo
|
|
${PYSITELIB}/eventlet/pool.py
|
|
${PYSITELIB}/eventlet/pool.pyc
|
|
${PYSITELIB}/eventlet/pool.pyo
|
|
${PYSITELIB}/eventlet/pools.py
|
|
${PYSITELIB}/eventlet/pools.pyc
|
|
${PYSITELIB}/eventlet/pools.pyo
|
|
${PYSITELIB}/eventlet/proc.py
|
|
${PYSITELIB}/eventlet/proc.pyc
|
|
${PYSITELIB}/eventlet/proc.pyo
|
|
${PYSITELIB}/eventlet/processes.py
|
|
${PYSITELIB}/eventlet/processes.pyc
|
|
${PYSITELIB}/eventlet/processes.pyo
|
|
${PYSITELIB}/eventlet/queue.py
|
|
${PYSITELIB}/eventlet/queue.pyc
|
|
${PYSITELIB}/eventlet/queue.pyo
|
|
${PYSITELIB}/eventlet/saranwrap.py
|
|
${PYSITELIB}/eventlet/saranwrap.pyc
|
|
${PYSITELIB}/eventlet/saranwrap.pyo
|
|
${PYSITELIB}/eventlet/semaphore.py
|
|
${PYSITELIB}/eventlet/semaphore.pyc
|
|
${PYSITELIB}/eventlet/semaphore.pyo
|
|
${PYSITELIB}/eventlet/support/__init__.py
|
|
${PYSITELIB}/eventlet/support/__init__.pyc
|
|
${PYSITELIB}/eventlet/support/__init__.pyo
|
|
${PYSITELIB}/eventlet/support/greendns.py
|
|
${PYSITELIB}/eventlet/support/greendns.pyc
|
|
${PYSITELIB}/eventlet/support/greendns.pyo
|
|
${PYSITELIB}/eventlet/support/greenlets.py
|
|
${PYSITELIB}/eventlet/support/greenlets.pyc
|
|
${PYSITELIB}/eventlet/support/greenlets.pyo
|
|
${PYSITELIB}/eventlet/support/psycopg2_patcher.py
|
|
${PYSITELIB}/eventlet/support/psycopg2_patcher.pyc
|
|
${PYSITELIB}/eventlet/support/psycopg2_patcher.pyo
|
|
${PYSITELIB}/eventlet/support/pylib.py
|
|
${PYSITELIB}/eventlet/support/pylib.pyc
|
|
${PYSITELIB}/eventlet/support/pylib.pyo
|
|
${PYSITELIB}/eventlet/support/stacklesspypys.py
|
|
${PYSITELIB}/eventlet/support/stacklesspypys.pyc
|
|
${PYSITELIB}/eventlet/support/stacklesspypys.pyo
|
|
${PYSITELIB}/eventlet/support/stacklesss.py
|
|
${PYSITELIB}/eventlet/support/stacklesss.pyc
|
|
${PYSITELIB}/eventlet/support/stacklesss.pyo
|
|
${PYSITELIB}/eventlet/timeout.py
|
|
${PYSITELIB}/eventlet/timeout.pyc
|
|
${PYSITELIB}/eventlet/timeout.pyo
|
|
${PYSITELIB}/eventlet/tpool.py
|
|
${PYSITELIB}/eventlet/tpool.pyc
|
|
${PYSITELIB}/eventlet/tpool.pyo
|
|
${PYSITELIB}/eventlet/twistedutil/__init__.py
|
|
${PYSITELIB}/eventlet/twistedutil/__init__.pyc
|
|
${PYSITELIB}/eventlet/twistedutil/__init__.pyo
|
|
${PYSITELIB}/eventlet/twistedutil/join_reactor.py
|
|
${PYSITELIB}/eventlet/twistedutil/join_reactor.pyc
|
|
${PYSITELIB}/eventlet/twistedutil/join_reactor.pyo
|
|
${PYSITELIB}/eventlet/twistedutil/protocol.py
|
|
${PYSITELIB}/eventlet/twistedutil/protocol.pyc
|
|
${PYSITELIB}/eventlet/twistedutil/protocol.pyo
|
|
${PYSITELIB}/eventlet/twistedutil/protocols/__init__.py
|
|
${PYSITELIB}/eventlet/twistedutil/protocols/__init__.pyc
|
|
${PYSITELIB}/eventlet/twistedutil/protocols/__init__.pyo
|
|
${PYSITELIB}/eventlet/twistedutil/protocols/basic.py
|
|
${PYSITELIB}/eventlet/twistedutil/protocols/basic.pyc
|
|
${PYSITELIB}/eventlet/twistedutil/protocols/basic.pyo
|
|
${PYSITELIB}/eventlet/util.py
|
|
${PYSITELIB}/eventlet/util.pyc
|
|
${PYSITELIB}/eventlet/util.pyo
|
|
${PYSITELIB}/eventlet/websocket.py
|
|
${PYSITELIB}/eventlet/websocket.pyc
|
|
${PYSITELIB}/eventlet/websocket.pyo
|
|
${PYSITELIB}/eventlet/wsgi.py
|
|
${PYSITELIB}/eventlet/wsgi.pyc
|
|
${PYSITELIB}/eventlet/wsgi.pyo
|