%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib64/python2.7/site-packages/tornado/
Upload File :
Create Path :
Current File : //usr/lib64/python2.7/site-packages/tornado/queues.pyo

�
��L]c@�sddlmZmZmZmZdddddgZddlZddlZddlm	Z	m
Z
dd	lmZdd
l
mZdefd��YZdefd��YZd
�Zdefd��YZdefd��YZdefd��YZdS(i(tabsolute_importtdivisiontprint_functiontwith_statementtQueuet
PriorityQueuet	LifoQueuet	QueueFullt
QueueEmptyN(tgentioloop(tFuture(tEventcB�seZdZRS(s:Raised by `.Queue.get_nowait` when the queue has no items.(t__name__t
__module__t__doc__(((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyRscB�seZdZRS(sBRaised by `.Queue.put_nowait` when a queue is at its maximum size.(R
RR(((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR sc�sV|rR�fd�}tjj���j||���j��fd��ndS(Nc�s�jtj��dS(N(t
set_exceptionR	tTimeoutError((tfuture(s4/usr/lib64/python2.7/site-packages/tornado/queues.pyt
on_timeout'sc�s
�j��S(N(tremove_timeout(t_(tio_loopttimeout_handle(s4/usr/lib64/python2.7/site-packages/tornado/queues.pyt<lambda>,s(R
tIOLooptcurrenttadd_timeouttadd_done_callback(RttimeoutR((RRRs4/usr/lib64/python2.7/site-packages/tornado/queues.pyt_set_timeout%scB�s�eZdZdd�Zed��Zd�Zd�Zd�Zdd�Z
d�Zdd	�Zd
�Z
d�Zdd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(skCoordinate producer and consumer coroutines.

    If maxsize is 0 (the default) the queue size is unbounded.

    .. testcode::

        q = queues.Queue(maxsize=2)

        @gen.coroutine
        def consumer():
            while True:
                item = yield q.get()
                try:
                    print('Doing work on %s' % item)
                    yield gen.sleep(0.01)
                finally:
                    q.task_done()

        @gen.coroutine
        def producer():
            for item in range(5):
                yield q.put(item)
                print('Put %s' % item)

        @gen.coroutine
        def main():
            consumer()           # Start consumer.
            yield producer()     # Wait for producer to put all tasks.
            yield q.join()       # Wait for consumer to finish all tasks.
            print('Done')

        io_loop.run_sync(main)

    .. testoutput::

        Put 0
        Put 1
        Put 2
        Doing work on 0
        Doing work on 1
        Put 3
        Doing work on 2
        Put 4
        Doing work on 3
        Doing work on 4
        Done
    icC�s�|dkrtd��n|dkr6td��n||_|j�tjg�|_tjg�|_d|_	t
�|_|jj�dS(Nsmaxsize can't be Noneismaxsize can't be negative(
tNonet	TypeErrort
ValueErrort_maxsizet_inittcollectionstdequet_getterst_putterst_unfinished_tasksRt	_finishedtset(tselftmaxsize((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyt__init___s	
	cC�s|jS(s%Number of items allowed in the queue.(R"(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR,nscC�s
t|j�S(sNumber of items in the queue.(tlent_queue(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pytqsizesscC�s|jS(N(R/(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pytemptywscC�s*|jdkrtS|j�|jkSdS(Ni(R,tFalseR0(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pytfullzscC�s]y|j|�Wn>tk
rQt�}|jj||f�t||�|SXtjSdS(s�Put an item into the queue, perhaps waiting until there is room.

        Returns a Future, which raises `tornado.gen.TimeoutError` after a
        timeout.
        N(t
put_nowaitRRR'tappendRR	t_null_future(R+titemRR((s4/usr/lib64/python2.7/site-packages/tornado/queues.pytput�s
	
cC�sk|j�|jrE|jj�}|j|�|j|j��n"|j�rZt�n
|j|�dS(s{Put an item into the queue without blocking.

        If no free slot is immediately available, raise `QueueFull`.
        N(t_consume_expiredR&tpopleftt_Queue__put_internalt
set_resultt_getR3R(R+R7tgetter((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR4�s
	
	cC�sUt�}y|j|j��Wn.tk
rP|jj|�t||�nX|S(s�Remove and return an item from the queue.

        Returns a Future which resolves once an item is available, or raises
        `tornado.gen.TimeoutError` after a timeout.
        (RR<t
get_nowaitRR&R5R(R+RR((s4/usr/lib64/python2.7/site-packages/tornado/queues.pytget�s	
cC�sl|j�|jrL|jj�\}}|j|�|jd�|j�S|j�rb|j�St�dS(s�Remove and return an item from the queue without blocking.

        Return an item if one is immediately available, else raise
        `QueueEmpty`.
        N(	R9R'R:R;R<RR=R0R(R+R7tputter((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR?�s
	



cC�sP|jdkrtd��n|jd8_|jdkrL|jj�ndS(s�Indicate that a formerly enqueued task is complete.

        Used by queue consumers. For each `.get` used to fetch a task, a
        subsequent call to `.task_done` tells the queue that the processing
        on the task is complete.

        If a `.join` is blocking, it resumes when all items have been
        processed; that is, when every `.put` is matched by a `.task_done`.

        Raises `ValueError` if called more times than `.put`.
        is!task_done() called too many timesiN(R(R!R)R*(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyt	task_done�s
cC�s|jj|�S(s�Block until all items in the queue are processed.

        Returns a Future, which raises `tornado.gen.TimeoutError` after a
        timeout.
        (R)twait(R+R((s4/usr/lib64/python2.7/site-packages/tornado/queues.pytjoin�scC�stj�|_dS(N(R$R%R/(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR#�scC�s
|jj�S(N(R/R:(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR=�scC�s|jj|�dS(N(R/R5(R+R7((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyt_put�scC�s-|jd7_|jj�|j|�dS(Ni(R(R)tclearRE(R+R7((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyt__put_internal�s
cC�shx1|jr3|jddj�r3|jj�qWx-|jrc|jdj�rc|jj�q7WdS(Nii(R'tdoneR:R&(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR9�s#cC�s,dt|�jtt|��|j�fS(Ns
<%s at %s %s>(ttypeR
thextidt_format(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyt__repr__�scC�sdt|�j|j�fS(Ns<%s %s>(RIR
RL(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyt__str__�scC�s�d|jf}t|dd�r6|d|j7}n|jrY|dt|j�7}n|jr||dt|j�7}n|jr�|d|j7}n|S(Ns
maxsize=%rR/s	 queue=%rs getters[%s]s putters[%s]s	 tasks=%s(R,tgetattrRR/R&R.R'R((R+tresult((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyRL�s			N(R
RRR-tpropertyR,R0R1R3RR8R4R@R?RBRDR#R=RER;R9RMRNRL(((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR/s(/														cB�s)eZdZd�Zd�Zd�ZRS(sA `.Queue` that retrieves entries in priority order, lowest first.

    Entries are typically tuples like ``(priority number, data)``.

    .. testcode::

        q = queues.PriorityQueue()
        q.put((1, 'medium-priority item'))
        q.put((0, 'high-priority item'))
        q.put((10, 'low-priority item'))

        print(q.get_nowait())
        print(q.get_nowait())
        print(q.get_nowait())

    .. testoutput::

        (0, 'high-priority item')
        (1, 'medium-priority item')
        (10, 'low-priority item')
    cC�s
g|_dS(N(R/(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR#scC�stj|j|�dS(N(theapqtheappushR/(R+R7((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyREscC�stj|j�S(N(RRtheappopR/(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR="s(R
RRR#RER=(((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyRs		cB�s)eZdZd�Zd�Zd�ZRS(s6A `.Queue` that retrieves the most recently put items first.

    .. testcode::

        q = queues.LifoQueue()
        q.put(3)
        q.put(2)
        q.put(1)

        print(q.get_nowait())
        print(q.get_nowait())
        print(q.get_nowait())

    .. testoutput::

        1
        2
        3
    cC�s
g|_dS(N(R/(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR#:scC�s|jj|�dS(N(R/R5(R+R7((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyRE=scC�s
|jj�S(N(R/tpop(R+((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR=@s(R
RRR#RER=(((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyR&s		(t
__future__RRRRt__all__R$RRttornadoR	R
ttornado.concurrentRt
tornado.locksRt	ExceptionRRRtobjectRRR(((s4/usr/lib64/python2.7/site-packages/tornado/queues.pyt<module>s"	
� 

Zerion Mini Shell 1.0