a  zeY @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__rrB/opt/bitninja-python-dojo/embedded/lib/python3.9/asyncio/queues.pyr src@s eZdZdS)rNr rrrrrsrc@seZdZd*ddddZddZdd Zd d Zd d ZddZddZ ddZ ddZ ddZ e ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)ZdS)+rrNloopcCsp|durt|_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|Sr%r)clsr8rrr__class_getitem__OszQueue.__class_getitem__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:Rs  z Queue._formatcCs t|jSr%)rBr&r)rrrqsize^sz Queue.qsizecCs|jSr%)rr)rrrr#bsz Queue.maxsizecCs|j Sr%r&r)rrremptygsz Queue.emptycCs |jdkrdS||jkSdS)NrF)rrDr)rrrfullks z Queue.fullc s|r|j}|j|z|IdHWq|z|j|Wnty^Yn0|s||s|| |jYq0q| |Sr%) rGr create_futurerr,cancelremove ValueError cancelledr4 put_nowait)r"r.Zputterrrrputvs     z Queue.putcCs>|r t|||jd7_|j||jdS)Nr)rGrr/rrclearr4rr-rrrrMs   zQueue.put_nowaitc s|r|j}|j|z|IdHWq|z|j|Wnty^Yn0|s||s|| |jYq0q| Sr%) rFrrHrr,rIrJrKrLr4 get_nowait)r"getterrrrgets     z Queue.getcCs$|r t|}||j|Sr%)rFrr*r4rr-rrrrPs  zQueue.get_nowaitcCs8|jdkrtd|jd8_|jdkr4|jdS)Nrz!task_done() called too many timesr)rrKrr 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>r:rDpropertyr#rFrGrNrMrRrPrSrUrrrrrs(      rc@s0eZdZddZejfddZejfddZdS)rcCs g|_dSr%rEr'rrrr!szPriorityQueue._initcCs||j|dSr%rE)r"r.heappushrrrr/szPriorityQueue._putcCs ||jSr%rE)r"heappoprrrr*szPriorityQueue._getN) r r r r!heapqrWr/rXr*rrrrrsrc@s$eZdZddZddZddZdS)rcCs g|_dSr%rEr'rrrr!szLifoQueue._initcCs|j|dSr%r+r-rrrr/szLifoQueue._putcCs |jSr%)r&popr)rrrr*szLifoQueue._getN)r r r r!r/r*rrrrrsr) __all__rrYrrr Exceptionrrrrrrrrrs  N