]L" @syddlZWnek r0ddlZYnXddlmZddlmZmZddlm Zddddd gZ Gd dde Z Gd dde Z Gd ddZGd ddeZGdd d eZdS)N)deque)heappushheappop) monotonicEmptyFullQueue PriorityQueue LifoQueuec@seZdZdS)rN)__name__ __module__ __qualname__rr*/opt/alt/python35/lib64/python3.5/queue.pyr s c@seZdZdS)rN)r r r rrrrrs c@seZdZdddZddZddZdd Zd d Zd d ZddddZ ddddZ ddZ ddZ ddZ ddZddZddZdS) rrcCsq||_|j|tj|_tj|j|_tj|j|_tj|j|_d|_ dS)Nr) maxsize_init threadingLockmutex Condition not_emptynot_fullall_tasks_doneunfinished_tasks)selfrrrr__init__s  zQueue.__init__c Cs\|jL|jd}|dkrH|dkr;td|jj||_WdQRXdS)Nrz!task_done() called too many times)rr ValueError notify_all)r unfinishedrrr task_done2s      zQueue.task_donec Cs2|j"x|jr&|jjq WWdQRXdS)N)rrwait)rrrrjoinHs  z Queue.joinc Cs|j|jSWdQRXdS)N)r_qsize)rrrrqsizeUs z Queue.qsizec Cs |j|j SWdQRXdS)N)rr#)rrrremptyZs z Queue.emptyc Cs6|j&d|jko(|jkSSWdQRXdS)Nr)rrr#)rrrrfullhs z Queue.fullTNc Cs|j |jdkr|s=|j|jkrtn|dkrux|j|jkrq|jjqLWns|dkrtdnXt|}xH|j|jkr|t}|dkrt|jj|qW|j||jd7_|j j WdQRXdS)Nrz''timeout' must be a non-negative numbergr) rrr#rr!rtime_putrrnotify)ritemblocktimeoutendtime remainingrrrputss&        z Queue.putc Cs|j|s%|jstn|dkrTx|jsP|jjq4Wnj|dkrotdnOt|}x?|js|t}|dkrt|jj|qW|j}|jj|SWdQRXdS)Nrz''timeout' must be a non-negative numberg) rr#rr!rr'_getrr))rr+r,r-r.r*rrrgets$          z Queue.getcCs|j|ddS)Nr+F)r/)rr*rrr put_nowaitszQueue.put_nowaitcCs|jddS)Nr+F)r1)rrrr get_nowaitszQueue.get_nowaitcCst|_dS)N)rqueue)rrrrrrsz Queue._initcCs t|jS)N)lenr4)rrrrr#sz Queue._qsizecCs|jj|dS)N)r4append)rr*rrrr(sz Queue._putcCs |jjS)N)r4popleft)rrrrr0sz Queue._get)r r r rr r"r$r%r&r/r1r2r3rr#r(r0rrrrrs          c@s@eZdZddZddZddZddZd S) r cCs g|_dS)N)r4)rrrrrrszPriorityQueue._initcCs t|jS)N)r5r4)rrrrr#szPriorityQueue._qsizecCst|j|dS)N)rr4)rr*rrrr(szPriorityQueue._putcCs t|jS)N)rr4)rrrrr0szPriorityQueue._getN)r r r rr#r(r0rrrrr s    c@s@eZdZddZddZddZddZd S) r cCs g|_dS)N)r4)rrrrrrszLifoQueue._initcCs t|jS)N)r5r4)rrrrr#szLifoQueue._qsizecCs|jj|dS)N)r4r6)rr*rrrr(szLifoQueue._putcCs |jjS)N)r4pop)rrrrr0szLifoQueue._getN)r r r rr#r(r0rrrrr s    )r ImportErrordummy_threading collectionsrheapqrrr'r__all__ Exceptionrrrr r rrrrs