[Python-Dev] asyncore fixes in Python 2.6 broke Zope's version of medusa
Josiah Carlson
josiah.carlson at gmail.com
Wed Oct 8 23:26:00 CEST 2008
On Wed, Oct 8, 2008 at 10:30 AM, Bill Janssen <janssen at parc.com> wrote:
> Sidnei da Silva <sidnei at enfoldsystems.com> wrote:
>
>> https://bugs.edge.launchpad.net/zope2/+bug/280020
>
> I think there are real issues here with both asynchat and Medusa.
> Asynchat has been heavily re-written, and the "ac_out_buffer" has
> apparently disappeared. But "ac_out_buffer_size" is still there. That
> strikes me as odd, and probably means that asynchat.py needs more
> changes. However, Medusa (basically just an application layer on top
> of asyncore/asynchat) also needs to be re-written to take account of
> the changes in asynchat.
ac_out_buffer was removed because it is unneeded (we have a deque; why
rely on an extra attribute?).
ac_out_buffer_size still remains as a blocksize in which to pre-split
outgoing data (if you have a 100k string you want to send, repeatedly
slicing it as you are able to send pieces is slow, but pre-slicing
chunks is fast, and generally results in being able to pass full chunk
to the underlying TCP/IP stack).
But yes, zope needs to be changed to reflect the updated
asyncore/asynchat semantics. Trust me; it's faster, cleaner, and
easier to use now.
- Josiah
More information about the Python-Dev
mailing list