-ν wœ=cs<dZdkZdkZdklZdfd„ƒYZdS(sA TransactionBuffer store transaction updates until commit or abort. A transaction may generate enough data that it is not practical to always hold pending updates in memory. Instead, a TransactionBuffer is used to store the data until a commit or abort. N(sLocksTransactionBuffercsbtZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z RS( Ncsdtiddƒ|_tƒ|_d|_d|_d|_t i |idƒ|_ d|i _ dS(Nssuffixs.tbufii( stempfiles TemporaryFilesselfsfilesLockslocksclosedscountssizescPicklesPicklerspicklersfast(sself((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys__init__8s    csV|iiƒz4d|_y|iiƒWntj onXWd|iiƒXdS(Ni(sselfslocksacquiresclosedsfilesclosesOSErrorsrelease(sself((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pyscloseCs   cs9|iiƒz|i|||ƒWd|iiƒXdS(N(sselfslocksacquires_storesoidsversionsdatasrelease(sselfsoidsversionsdata((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pysstoreNs  cs‡|iodSn|ii|||fƒ|id7_|it |ƒd|_|o(|it |ƒt |ƒd|_ndS(s,Store oid, version, data for later retrievalNiii ( sselfsclosedspicklersdumpsoidsversionsdatascountssizeslen(sselfsoidsversionsdata((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys_storeUs cs`|iiƒz>|iodSn|ii||tfƒ|i d7_ Wd|ii ƒXdS(Ni( sselfslocksacquiresclosedspicklersdumpsoidsversionsNonescountsrelease(sselfsoidsversion((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys invalidateas  csZ|iiƒz8|iodSn|iidƒd|_d|_Wd|iiƒXdS(sMark the buffer as emptyNi( sselfslocksacquiresclosedsfilesseekscountssizesrelease(sself((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pysclearks    csj|iiƒzH|iodSn|iiƒ|iidƒti|iƒ|_ Wd|ii ƒXdS(s-Move the file pointer in advance of iterationNi( sselfslocksacquiresclosedsfilesflushsseekscPickles Unpicklers unpicklersrelease(sself((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys begin_iterate{s   cs0|iiƒz|iƒSWd|iiƒXdS(N(sselfslocksacquires_nextsrelease(sself((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pysnext‡s  csV|iotSn|idjo|`tSn|iiƒ}|id8_|SdS(s(Return next tuple of data or None if EOFiiN(sselfsclosedsNonescounts unpicklersloads oid_ver_data(sselfs oid_ver_data((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys_nextŽs cs |iSdS(s3Return size of data stored in buffer (just a hint).N(sselfssize(sself((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pysget_size™s( s__name__s __module__s__init__sclosesstores_stores invalidatesclears begin_iteratesnexts_nextsget_size(((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pysTransactionBuffers    (s__doc__scPicklestempfiles threadingsLocksTransactionBuffer(stempfilesLockscPicklesTransactionBuffer((s=/usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys?s