§
Y3Ô1ùåã óÔ — d Z ddlZddlZddlmZ ddlmZ ddlmZ G d„ de¦ « Z G d „ d
e¦ « Z
G d„ dej ¦ « Z G d
„ de¦ « Z
G d„ de¦ « ZdS ))ÚQueueÚ
PriorityQueueÚ LifoQueueÚ QueueFullÚ
QueueEmptyé N)ÚGenericAliasé )Úlocks)Úmixinsc ó — e Zd ZdZdS )r z;Raised when Queue.get_nowait() is called on an empty Queue.N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó ú;/opt/alt/python-internal/lib64/python3.11/asyncio/queues.pyr r s € € € € € ØEÐEØ€Dr r c ó — e Zd ZdZdS )r zDRaised when the Queue.put_nowait() method is called on a full Queue.Nr
r r r r r s € € € € € ØNÐNØ€Dr r c ó¦ — e Zd ZdZdd„Zd„ Zd„ Zd„ Zd„ Zd„ Z d „ Z
ee¦ « Z
d
„ Zd„ Zed„ ¦ « Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )r a A queue, useful for coordinating producer and consumer coroutines.
If maxsize is less than or equal to zero, the queue size is infinite. If it
is an integer greater than 0, then "await put()" will block when the
queue reaches maxsize, until an item is removed by get().
Unlike the standard library Queue, you can reliably know this Queue's size
with qsize(), since your single-threaded asyncio application won't be
interrupted between calling qsize() and doing an operation on the Queue.
r c ó — || _ t j ¦ « | _ t j ¦ « | _ d| _ t
j ¦ « | _ | j ¦ « |
|¦ « d S )Nr )Ú_maxsizeÚcollectionsÚdequeÚ_gettersÚ_puttersÚ_unfinished_tasksr
ÚEventÚ _finishedÚsetÚ_init©ÚselfÚmaxsizes r Ú__init__zQueue.__init__! sl € ؈Œ
õ $Ô)Ñ+Ô+ˆŒ
å#Ô)Ñ+Ô+ˆŒ
Ø!"ˆÔÝœ™œˆŒØŒ×ÒÑÔÐØ�
Š
�7ÑÔÐÐÐr c ó6 — t j ¦ « | _ d S ©N)r r Ú_queuer" s r r! zQueue._init/ s € Ý!Ô'Ñ)Ô)ˆŒˆˆr c ó4 — | j ¦ « S r' )r( Úpopleft©r# s r Ú_getz
Queue._get2 s € ØŒ{×"Ò"Ñ$Ô$Ð$r c ó: — | j |¦ « d S r' ©r( Úappend©r# Úitems r Ú_putz
Queue._put5 ó € ØŒ×Ò˜4Ñ Ô Ð Ð Ð r c ó� — |rC| ¦ « }| ¦ « s| d ¦ « d S |°Ad S d S r' )r* ÚdoneÚ
set_result)r# ÚwaitersÚwaiters r Ú_wakeup_nextzQueue._wakeup_next: s` € àð Ø—_’_Ñ&Ô&ˆFØ—;’;‘=”=ð
Ø×!Ò! $Ñ'Ô'Ð'Ø�ð ð ð ð ð ð r c ó~ — dt | ¦ « j › dt | ¦ « d›d| ¦ « › d�S )Nú