-ν
w=c       sN     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      s    t  Z 8 d   Z C d   Z N d   Z U d   Z a d   Z k d   Z { d   Z  d   Z	  d	   Z
  d
   Z RS(   Nc    s|   8 9 t  i d d  |  _ : t   |  _ ; d |  _ < d |  _ = d |  _ @ t	 i
 |  i d  |  _ A 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    st   C D |  i i   E zC F d |  _ G y H |  i i   Wn I t j
 o
 J n XWd  K L |  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    sK   N O |  i i   P z Q |  i | | |  Wd  R S |  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’   U V W |  i o X d Sn Y |  i i | | | f  Z |  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{   a b |  i i   c zJ d |  i o e d  Sn f |  i i | | t f  g |  i	 d 7_	 Wd  h i |  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    s{   k l m |  i i   n zG o |  i o p d Sn q |  i i d  r d |  _ s d |  _ Wd t u |  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    s   { | } |  i i   ~ zW  |  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    sB     |  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    st      |  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   