pkgsrc-WIP-cvs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: wip/py-gevent
Module name: wip
Committed by: jihbed
Date: Sat Jul 17 00:49:41 UTC 2010
Modified Files:
wip/py-gevent: Makefile PLIST distinfo
Added Files:
wip/py-gevent: buildlink3.mk
Log Message:
wip-changes:
Update 0.13.0
Release highlights:
- Added :mod:`gevent.server` module with :class:`StreamServer` class for easy
implementing of TCP and SSL servers.
- Added :mod:`gevent.baseserver` module with :class:`BaseServer` class.
- Added new implementation of :mod:`gevent.pywsgi` based on
:mod:`gevent.server`. Contributed by **Ralf Schmitt**.
- Added :mod:`gevent.local` module. Fixed issue #24. Thanks to **Ted Suzman**.
- Fixed a number of bugs in :mod:`gevent.wsgi` module.
- Fixed issue #26: closing a socket now interrupts all pending read/write
operations on it.
- Implemented workaround that prevents greenlets from leaking ``exc_info``.
- Fixed :meth:`socket.sendall` to use buffer object to prevent string copies.
- Made the interfaces of :mod:`gevent.wsgi` and :mod:`gevent.pywsgi` much more
similar to each other.
- Fixed compilation on Windows with libevent-2.
- Improved Windows compatibility. Fixed issue #30. Thanks to **Luigi Pugnetti**.
- Fixed compatibility with Python 2.7.
Backward-incompatible changes:
- Blocking is now the default behaviour for the :meth:`Greenlet.kill` method
and other kill* methods.
- Changed the inteface of :class:`http.HTTPServer` to match the interface of
other servers.
- Changed :class:`Pool`'s :meth:`spawn` method to block until there's a free
slot.
- Removed deprecated :func:`backdoor.backdoor_server` function.
- Removed deprecated functions in :mod:`socket` module:
- :func:`socket_bind_and_listen`
- :func:`set_reuse_addr`
- :func:`connect_tcp`
- :func:`tcp_server`
- Removed deprecated :attr:`socket.fd` property.
- Deprecated use of negative numbers to indicate infinite timeout in
:func:`core.event.add` and :func:`socket.wait_read` and similar. Use ``None``
from now on, which is compatible with the previous versions.
- Derived :class:`backdoor.BackdoorServer` from :class:`StreamServer` rather
than from :class:`Greenlet`. This adds lots of new features and removes a few
old ones.
- Removed non-standard :attr:`balance` property from :class:`Semaphore`.
- Removed :func:`start`, :func:`set_cb` and :func:`set_gencb` from
:class:`core.http`.
- Removed :func:`set_closecb` from :class:`core.http_connection`. It is now
used internally to detach the requests of the closed connections.
- Deprecated :mod:`rawgreenlet` module.
- Deprecated :func:`util.lazy_property`.
- Renamed :class:`GreenletSet` to :class:`Group`. The old name is currently
available as an alias.
:mod:`gevent.socket` module:
- Fixed issues #26 and #34: closing the socket while reading/writing/connecting
is now safe. Thanks to **Cyril Bay**.
- Imported :func:`getfqdn` from :mod:`socket` module.
- The module now uses ``sys.platform`` to detect Windows rather than
:mod:`platform` module.
- Fixed issue #27: :func:`getaddrinfo` used to handle the case when *socktype*
or *proto* were equal to ``0``. Thanks to **Randall Leeds**.
:mod:`gevent.coros` module:
- Added :class:`RLock` class.
- Added :class:`DummySemaphore` class.
- Fixed :class:`BoundedSemaphore` class to behave like
:class:`threading.BoundedSemaphore` behaves.
:mod:`gevent.event` module:
- Made :meth:`Event.wait` return internal flag instead of ``None``.
- Made :meth:`AsyncResult.wait` return its ``value`` instead of ``None``.
- Added :meth:`ready` method as an alias for :meth:`is_set`.
:mod:`gevent.wsgi` module:
- Removed :class:`wsgi.buffer_proxy`.
:mod:`gevent.pywsgi` module:
- Rewritten to use :mod:`server` and not to depend on :mod:`BaseHTTPServer`.
- Changed the interface to match :mod:`wsgi` module.
Removed :func:`server` function, add :class:`Server` class, added
:class:`WSGIServer` class.
- Renamed :class:`HttpProtocol` to :class:`WSGIHandler`.
- Fixed compatibility with webob by allowing an optional argument to
:meth:`readline`.
:mod:`gevent.core` module:
- Fixed reference leaks in :class:`event` class.
- Avoid Python name lookups when accessing EV_* constants from Cython code.
Patch by **Daniele Varrazzo**.
- Added *persist* argument to :class:`read_event`, :class:`write_event` and
:class:`readwrite_event`.
- Made all of the event loop callbacks clear the exception info before exiting.
- Added :attr:`flags_str` property to :class:`event`. It is used by ``__str__``
and ``__repr__``.
- :class:`buffer <core.buffer>`:
- Added :meth:`detach` method.
- Implemented iterator protocol.
- Fixed :meth:`readline` and :meth:`readlines` methods.
- :class:`http_request`:
- Fixed :meth:`detach` to detach input and output buffers too.
- Changed the response to send 500 error upon deallocation, if no response
was sent by the user.
- Made :attr:`input_buffer` and :attr:`output_buffer` store and reuse the
:class:`buffer` object they create.
- Fixed :meth:`__str__` and meth:`__repr__` to include spaces where needed.
- :class:`http` class no longer has :meth:`set_cb` and :meth:`set_gencb`.
Instead its contructor accepts *handle* which will be called on each request.
:mod:`gevent.http` and :mod:`gevent.wsgi` modules:
- Made :class:`HTTPServer` use ``"Connection: close"`` header by default.
- Class :class:`HTTPServer` now derives from :class:`baseserver.BaseServer`.
Thus its :meth:`start` method no longer accepts socket to listen on, it must be
passed to the contructor.
- The *spawn* argument now accepts a :class:`Pool` instance. While the pool is
full, the server replies with 503 error.
- The server no longer links to the greenlets it spawns to detect errors.
Instead, it relies on :class:`http_request` which will send 500 reply when
deallocated if the user hasn't send any.
Miscellaneous:
- Changed :mod:`gevent.thread` to use :class:`Greenlet` instead of raw
greenlets. This means monkey patched thread will become :class:`Greenlet` too.
- Added :attr:`started` property to :class:`Greenlet`.
- Put common server code in :mod:`gevent.baseserver` module. All servers in
gevent package are now derived from :class:`BaseServer`.
- Fixed issue #20: :func:`sleep` now raises :exc:`IOError` if passed a negative
argument.
- Remove the code related to finding out libevent version from setup.py as
macro ``USE_LIBEVENT_?`` is no longer needed to build ``gevent.core``.
- Increased default backlog in all servers (from 5 to 256). Thanks to
**Nicholas Pi?l**.
- Fixed doc/conf.py to work in Python older than 2.6. Thanks to **?rjan
Persson**.
- Silented SystemError raised in :mod:`backdoor` when a client typed ``quit()``.
- If importing :mod:`greenlet` failed with ImportError, keep the original error
message,
because sometimes the error originates in setuptools.
- Changed :func:`select.select` to return all the file descriptors signalled,
not just the first one.
- Made :mod:`thread` (and thus monkey patched threads) to spawn
:class:`Greenlet` instances, rather than raw greenlets.
Examples:
- Updated echoserver.py to use :class:`StreamServer`.
- Added geventsendfile.py.
- Added wsgiserver_ssl.py.
Thanks to **Ralf Schmitt** for :mod:`pywsgi`, a number of fixes for
:mod:`wsgi`, help with
:mod:`baseserver` and :mod:`server` modules, improving setup.py and various
other patches and suggestions.
Thanks to **Uriel Katz** for :mod:`pywsgi` patches.
Version 0.12.2
--------------
* Fixed http server to put the listening socket into a non-blocking mode.
Contributed by **Ralf Schmitt**.
To generate a diff of this commit:
cvs -z3 rdiff -u -r0 -r1.1 wip/py-gevent/buildlink3.mk
cvs -z3 rdiff -u -r1.1.1.1 -r1.2 wip/py-gevent/PLIST wip/py-gevent/distinfo
cvs -z3 rdiff -u -r1.2 -r1.3 wip/py-gevent/Makefile
To view a diff of this commit:
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/py-gevent/buildlink3.mk?r1=0&r2=1.1
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/py-gevent/PLIST?r1=1.1.1.1&r2=1.2
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/py-gevent/distinfo?r1=1.1.1.1&r2=1.2
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/py-gevent/Makefile?r1=1.2&r2=1.3
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
pkgsrc-wip-cvs mailing list
pkgsrc-wip-cvs%lists.sourceforge.net@localhost
https://lists.sourceforge.net/lists/listinfo/pkgsrc-wip-cvs
Home |
Main Index |
Thread Index |
Old Index