-ν
w=c       s<   d  Z  d k Z d k Z d k l Z d f  d     YZ d S(   s  A 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(   s   Locks   TransactionBufferc      sb   t  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d	   Z
 d
   Z RS(   Nc    sd   t  i d d  |  _ t   |  _ d |  _ d |  _ d |  _ t	 i
 |  i d  |  _ d |  i _ d  S(   Ns   suffixs   .tbufi    i   (   s   tempfiles   TemporaryFiles   selfs   files   Locks   locks   closeds   counts   sizes   cPickles   Picklers   picklers   fast(   s   self(    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys   __init__8 s    			c    sV   |  i i   z4 d |  _ y |  i i   Wn t j
 o n XWd  |  i i   Xd  S(   Ni   (   s   selfs   locks   acquires   closeds   files   closes   OSErrors   release(   s   self(    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys   closeC s    		 c    s9   |  i i   z |  i | | |  Wd  |  i i   Xd  S(   N(   s   selfs   locks   acquires   _stores   oids   versions   datas   release(   s   selfs   oids   versions   data(    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys   storeN s
     c    s   |  i o d Sn |  i i | | | f  |  i d 7_ |  i t	 |  d |  _ | o( |  i t	 |  t	 |  d |  _ n d S(   s,   Store oid, version, data for later retrievalNi   i   i   (
   s   selfs   closeds   picklers   dumps   oids   versions   datas   counts   sizes   len(   s   selfs   oids   versions   data(    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys   _storeU s     
c    s`   |  i i   z> |  i o d  Sn |  i i | | t f  |  i	 d 7_	 Wd  |  i i
   Xd  S(   Ni   (   s   selfs   locks   acquires   closeds   picklers   dumps   oids   versions   Nones   counts   release(   s   selfs   oids   version(    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys
   invalidatea s    
 c    sZ   |  i i   z8 |  i o d Sn |  i i d  d |  _ d |  _ Wd |  i i   Xd S(   s   Mark the buffer as emptyNi    (	   s   selfs   locks   acquires   closeds   files   seeks   counts   sizes   release(   s   self(    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys   cleark s     
	 c    sj   |  i i   zH |  i o d Sn |  i i   |  i i d  t i |  i  |  _	 Wd |  i i
   Xd S(   s-   Move the file pointer in advance of iterationNi    (   s   selfs   locks   acquires   closeds   files   flushs   seeks   cPickles	   Unpicklers	   unpicklers   release(   s   self(    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys   begin_iterate{ s     
 c    s0   |  i i   z |  i   SWd  |  i i   Xd  S(   N(   s   selfs   locks   acquires   _nexts   release(   s   self(    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys   next s
     c    sV   |  i o t Sn |  i d j o |  ` t Sn |  i i   } |  i d 8_ | Sd S(   s(   Return next tuple of data or None if EOFi    i   N(   s   selfs   closeds   Nones   counts	   unpicklers   loads   oid_ver_data(   s   selfs   oid_ver_data(    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys   _next s     
c    s   |  i Sd S(   s3   Return size of data stored in buffer (just a hint).N(   s   selfs   size(   s   self(    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys   get_size s     (   s   __name__s
   __module__s   __init__s   closes   stores   _stores
   invalidates   clears   begin_iterates   nexts   _nexts   get_size(    (    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys   TransactionBuffer s   					
				(   s   __doc__s   cPickles   tempfiles	   threadings   Locks   TransactionBuffer(   s   tempfiles   Locks   cPickles   TransactionBuffer(    (    s=   /usr/pkg/lib/python2.2/site-packages/ZEO/TransactionBuffer.pys   ? s   		