‡Æ
»Mö9c       so   d  Z  y0 d e f d „  ƒ  YZ d e f d „  ƒ  YZ Wn e j
 o d Z d Z n Xd f  d „  ƒ  YZ d	 S(
   s'   A multi-producer, multi-consumer queue.s   Emptyc      s   RS(   N(    (    s"   /mit/python/lib/python2.0/Queue.pys   Empty s    s   Fullc      s   RS(   N(    (    s"   /mit/python/lib/python2.0/Queue.pys   Full s    s   Queue.Emptys
   Queue.Fulls   Queuec      s‰   d d „ Z  d „  Z d „  Z d „  Z d d „ Z d „  Z d d	 „ Z d
 „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z RS(   Nc    sT   d k  } |  i | ƒ | i ƒ  |  _ | i ƒ  |  _ |  i i ƒ  | i ƒ  |  _ d S(   sv   Initialize a queue object with a given maximum size.

        If maxsize is <= 0, the queue size is infinite.
        N(	   s   threads   selfs   _inits   maxsizes   allocate_locks   mutexs   esemas   acquires   fsema(   s   selfs   maxsizes   threads"   /mit/python/lib/python2.0/Queue.pys   __init__ s     	i    c    s.   |  i i ƒ  |  i ƒ  } |  i i ƒ  | Sd S(   s9   Return the approximate size of the queue (not reliable!).N(   s   selfs   mutexs   acquires   _qsizes   ns   release(   s   selfs   ns"   /mit/python/lib/python2.0/Queue.pys   qsize s
     c    s.   |  i i ƒ  |  i ƒ  } |  i i ƒ  | Sd S(   s<   Return 1 if the queue is empty, 0 otherwise (not reliable!).N(   s   selfs   mutexs   acquires   _emptys   ns   release(   s   selfs   ns"   /mit/python/lib/python2.0/Queue.pys   empty% s
     c    s.   |  i i ƒ  |  i ƒ  } |  i i ƒ  | Sd S(   s;   Return 1 if the queue is full, 0 otherwise (not reliable!).N(   s   selfs   mutexs   acquires   _fulls   ns   release(   s   selfs   ns"   /mit/python/lib/python2.0/Queue.pys   full, s
     c    s¤   | o |  i i ƒ  n |  i i d ƒ o
 t ‚ n |  i i ƒ  |  i ƒ  } |  i | ƒ | o |  i
 i ƒ  n |  i ƒ  o |  i i ƒ  n |  i i ƒ  d S(   s  Put an item into the queue.

        If optional arg 'block' is 1 (the default), block if
        necessary until a free slot is available.  Otherwise (block
        is 0), put an item on the queue if a free slot is immediately
        available, else raise the Full exception.
        i    N(   s   blocks   selfs   fsemas   acquires   Fulls   mutexs   _emptys	   was_emptys   _puts   items   esemas   releases   _full(   s   selfs   items   blocks	   was_emptys"   /mit/python/lib/python2.0/Queue.pys   put3 s     
i   c    s   |  i | d ƒ Sd S(   s©   Put an item into the queue without blocking.

        Only enqueue the item if a free slot is immediately available.
        Otherwise raise the Full exception.
        i    N(   s   selfs   puts   item(   s   selfs   items"   /mit/python/lib/python2.0/Queue.pys
   put_nowaitH s     c    s§   | o |  i i ƒ  n |  i i d ƒ o
 t ‚ n |  i i ƒ  |  i ƒ  } |  i ƒ  } | o |  i
 i ƒ  n |  i ƒ  o |  i i ƒ  n |  i i ƒ  | Sd S(   s  Remove and return an item from the queue.

        If optional arg 'block' is 1 (the default), block if
        necessary until an item is available.  Otherwise (block is 0),
        return an item if one is immediately available, else raise the
        Empty exception.
        i    N(   s   blocks   selfs   esemas   acquires   Emptys   mutexs   _fulls   was_fulls   _gets   items   fsemas   releases   _empty(   s   selfs   blocks   was_fulls   items"   /mit/python/lib/python2.0/Queue.pys   getP s     
c    s   |  i d ƒ Sd S(   s¬   Remove and return an item from the queue without blocking.

        Only get an item if one is immediately available.  Otherwise
        raise the Empty exception.
        i    N(   s   selfs   get(   s   selfs"   /mit/python/lib/python2.0/Queue.pys
   get_nowaitf s     c    s   | |  _  g  |  _ d  S(   N(   s   maxsizes   selfs   queue(   s   selfs   maxsizes"   /mit/python/lib/python2.0/Queue.pys   _inits s    	c    s   t  |  i ƒ Sd  S(   N(   s   lens   selfs   queue(   s   selfs"   /mit/python/lib/python2.0/Queue.pys   _qsizew s    c    s   |  i Sd  S(   N(   s   selfs   queue(   s   selfs"   /mit/python/lib/python2.0/Queue.pys   _empty{ s    c    s*   |  i d j o t |  i ƒ |  i j Sd  S(   Ni    (   s   selfs   maxsizes   lens   queue(   s   selfs"   /mit/python/lib/python2.0/Queue.pys   _full s    c    s   |  i i | ƒ d  S(   N(   s   selfs   queues   appends   item(   s   selfs   items"   /mit/python/lib/python2.0/Queue.pys   _putƒ s    c    s   |  i d } |  i d =| Sd  S(   Ni    (   s   selfs   queues   item(   s   selfs   items"   /mit/python/lib/python2.0/Queue.pys   _get‡ s    
(   s   __init__s   qsizes   emptys   fulls   puts
   put_nowaits   gets
   get_nowaits   _inits   _qsizes   _emptys   _fulls   _puts   _get(    s"   /mit/python/lib/python2.0/Queue.pys   Queue s    										N(   s   __doc__s	   Exceptions   Emptys   Fulls	   TypeErrors   Queue(    s"   /mit/python/lib/python2.0/Queue.pys   ? s   