mò -á¸Ec@s=dklZdefd„ƒYZdefd„ƒYZdS((s InterfacetIStreamIteratorcBs tZdZd„Zd„ZRS(s‘ An iterator that can be published. IStreamIterators must not read from the object database. After the application finishes interpreting a request and returns an iterator to be processed asynchronously, it closes the ZODB connection. If the iterator then tries to load some ZODB object, ZODB would do one of two things. If the connection is still closed, ZODB would raise an error. If the connection happens to be re-opened by another thread, ZODB might allow it, but it has a chance of going insane if it happens to be loading or storing something in the other thread at the same time. cCsdS(s Return a sequence of bytes out of the bytestream, or raise StopIeration if we've reached the end of the bytestream. N((((t3/data/zmath/zope/lib/python/ZPublisher/Iterators.pytnextscCsdS(s[ Return an integer representing the length of the object in bytes. N((((Rt__len__s(t__name__t __module__t__doc__RR(((RRs  tfilestream_iteratorcBs?tZdZefZdddd>d„Zd„Zd„ZRS(sh a file subclass which implements an iterator that returns a fixed-sized sequence of bytes. triÿÿÿÿiicCs#ti||||ƒ||_dS(N(tfilet__init__tselftnametmodetbufsizet streamsize(R R R RR((RR &scCs'|i|iƒ}|p t‚n|S(N(R treadRtdatat StopIteration(R R((RR*s cCs<|iƒ}|iddƒ|iƒ}|i|dƒ|S(Nii(R ttelltcur_postseektsize(R RR((RR0s   (RRRRt__implements__R RR(((RRs   N(t InterfaceRR R(RRR((Rt?s