Pascal Peregrina wrote at 2006-9-29 15:14 +0200:
I would like to know what is the use of implementing the Zpublisher.Iterators.IStreamIterator on the object returned as the body of a HTTP response.
As far as I could read the Zope code (Zserver, etc), this will make the response data to be sent 64k at a time.
So will this improve performance/concurrency in any way for >64k data HTTP responses?
The alternative to returning a stream iterator is to use "response.write" (or to return the file content as a string which takes quite a bit of RAM for large files). If the response length is sufficiently high, then "response.write" will work with an intermediate temporary file. This temporary file can be optimized out when you return a stream iterator. -- Dieter