U :e @sdZddlZddlZddlZddlmZddlmZGdddeZGdd d eZ Gd d d Z Gd d d e Z Gddde Z dS))Queue PriorityQueue LifoQueue QueueFull QueueEmptyN)events)locksc@s eZdZdS)rN__name__ __module__ __qualname__rr3/usr/local/python38/lib/python3.8/asyncio/queues.pyr src@s eZdZdS)rNr rrrrrsrc@seZdZd(ddddZddZdd Zd d Zd d ZddZddZ ddZ ddZ e ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'ZdS))rrNloopcCsp|dkrt|_n||_tjdtdd||_t|_ t|_ d|_ t j |d|_|j||dS)Nz[The loop argument is deprecated since Python 3.8, and scheduled for removal in Python 3.10.) stacklevelrr)rZget_event_loop_loopwarningswarnDeprecationWarning_maxsize collectionsdeque_getters_putters_unfinished_tasksr Event _finishedset_init)selfmaxsizerrrr__init__!s    zQueue.__init__cCst|_dSN)rr_queuer"r#rrrr!6sz Queue._initcCs |jSr%)r&popleftr"rrr_get9sz Queue._getcCs|j|dSr%r&appendr"itemrrr_put<sz Queue._putcCs&|r"|}|s|dq"qdSr%)r(done set_result)r"waiterswaiterrrr _wakeup_nextAs  zQueue._wakeup_nextcCs(dt|jdt|dd|dS)N)typer id_formatr)rrr__repr__IszQueue.__repr__cCsdt|jd|dS)Nr5r6r7)r8r r:r)rrr__str__Lsz Queue.__str__cCs~d|j}t|ddr,|dt|j7}|jrH|dt|jd7}|jrd|dt|jd7}|jrz|d|j7}|S)Nzmaxsize=r&z _queue=z _getters[]z _putters[z tasks=)rgetattrlistr&rlenrr)r"resultrrrr:Os  z Queue._formatcCs t|jSr%)r@r&r)rrrqsize[sz Queue.qsizecCs|jSr%)rr)rrrr#_sz Queue.maxsizecCs|j Sr%r&r)rrremptydsz Queue.emptycCs |jdkrdS||jkSdS)NrF)rrBr)rrrfullhs z Queue.fullc s|r|j}|j|z|IdHWq|z|j|Wntk r`YnX|s~|s~| |jYqXq| |Sr%) rEr create_futurerr,cancelremove ValueError cancelledr4 put_nowait)r"r.Zputterrrrputss    z Queue.putcCs>|r t|||jd7_|j||jdS)Nr)rErr/rrclearr4rr-rrrrKs   zQueue.put_nowaitc s|r|j}|j|z|IdHWq|z|j|Wntk r`YnX|s~|s~| |jYqXq| Sr%) rDrrFrr,rGrHrIrJr4 get_nowait)r"getterrrrgets    z Queue.getcCs$|r t|}||j|Sr%)rDrr*r4rr-rrrrNs  zQueue.get_nowaitcCs8|jdkrtd|jd8_|jdkr4|jdS)Nrz!task_done() called too many timesr)rrIrr r)rrr task_dones   zQueue.task_donecs|jdkr|jIdHdS)Nr)rrwaitr)rrrjoins z Queue.join)r)r r r r$r!r*r/r4r;r<r:rBpropertyr#rDrErLrKrPrNrQrSrrrrrs&      rc@s0eZdZddZejfddZejfddZdS)rcCs g|_dSr%rCr'rrrr!szPriorityQueue._initcCs||j|dSr%rC)r"r.heappushrrrr/szPriorityQueue._putcCs ||jSr%rC)r"heappoprrrr*szPriorityQueue._getN) r r r r!heapqrUr/rVr*rrrrrsrc@s$eZdZddZddZddZdS)rcCs g|_dSr%rCr'rrrr!szLifoQueue._initcCs|j|dSr%r+r-rrrr/szLifoQueue._putcCs |jSr%)r&popr)rrrr*szLifoQueue._getN)r r r r!r/r*rrrrrsr) __all__rrWrrr Exceptionrrrrrrrrrs  K