Format: application/x-python-code
⬇ Download File (74.8 KB)
   1  o
   2  
   3  ;'hm�@s�UddlmZddlZddlZddlZddlZddlZddlZddl	Z	ddl
   4  Z
   5  ddlZddlZddlm
   6  Z
   7  mZmZmZmZmZmZddlmZddlmZmZddlmZmZmZmZmZmZm Z m!Z!ddlm"Z"ddl#m$Z$m%Z%dd	lm&Z&m'Z'dd
   8  l(m)Z)ddl*m+Z+m,Z,ddl-m.Z.m/Z/m0Z0m1Z1dd
   9  l2m3Z3ddlm4Z4ddl5m6Z6ddl7m8Z8ddl	m9Z9m:Z:ddlm;Z;ddl<m=Z=m>Z>ddl?m@Z@mAZAmBZBmCZCmDZDmEZEddlmFZFddlGZGddlHmIZImJZJmKZKmLZLmMZMddlNmOZOmPZPddlQmRZRmSZSmTZTmUZUmVZVmWZWddlXmYZYddlZm[Z[ddl\m]Z^ddl\m_Z`ddl\maZbddl\mcZcmdZddd l\meZfdd!lgmhZidd"lMmjZjmkZkmlZlmmZmmnZndd#lompZpdd$lqmrZrdd%lsmtZtmuZueA�r_dd&lvmwZwnexZwe
  10  jyd'k�rndd(l?mzZzndd(l{mzZze
  11  jyd)k�r�dd*lm|Z|dd+l?m}Z}m~Z~n@ddlZddlZddl7Z7dd,lm�Z�m�Z�m�Z�m�Z�dd-l�m�Z�dd+l{m}Z}m~Z~Gd.d/�d/ej��Z�Gd0d1�d1�Z|d�d6d7�Z�d�d8d9�Z�eDd:�Z�eDd;d<d=�Z�e}d>�Z�ezd?�Z�erd@�Z�dAe�d@<d�dCdD�Z�d�dHdI�Z�eF�Z�dJe�dK<d�dNdO�Z�d�dRdS�Z�GdTdU�dUei�ZhGdVdW�dW�Z�eF�Z�dXe�dY<GdZd[�d[eMj��Z�e
  12  jyd\k�r,ej�j�Z�d]e�d^<ndZ�Gd_d`�d`eMj��Z�e�eCe�eCe�fZ�Gdadb�dbe;�Z�erdc�Z�dde�dc<erde�Z�dfe�de<Gdgdh�dheMj��Z�e)didj�Gdkdl�dleMj���Z�e)didj�Gdmdn�dneMj���Z�e)didj�Gdodp�dpeMj���Z�d�dudv�Z�d�dxdy�Z�Gdzd{�d{ej��Z�Gd|d}�d}ej��Z�Gd~d�deMj��Z�Gd�d��d��Z�Gd�d��d�e�eMj��Z�Gd�d��d�eMjl�Z�Gd�d��d�eMjl�Z�Gd�d��d�eMj��Z�Gd�d��d�eMj��Z�Gd�d��d�e�eMj��Z�Gd�d��d�e�eMj��Z�erd��Z�d�e�d�<erd��Z�d�e�d�<Gd�d��d�e`�Z_Gd�d��d�eb�ZaGd�d��d�ef�ZeGd�d��d�e^�Z]erd��Z�d�e�d�<Gd�d��d��Z�Gd�d��d�eL�Z�Gd�d��d�eMj��Z�Gd�d��d�ej�Z�e�Z�dS)��)�annotationsN)�AbstractEventLoop�CancelledError�	all_tasks�create_task�current_task�get_running_loop�sleep)�_run_until_complete_cb)�OrderedDict�deque)�AsyncGenerator�
  13  AsyncIterator�	Awaitable�Callable�
  14  Collection�	Coroutine�Iterable�Sequence)�Future)�AbstractContextManager�suppress)�Context�copy_context)�	dataclass)�partial�wraps)�CORO_RUNNING�CORO_SUSPENDED�getcoroutinestate�iscoroutine)�IOBase)�PathLike)�Queue)�Signals)�
  15  AddressFamily�
  16  SocketKind)�Thread)�CodeType�
  17  TracebackType)�IO�
  18  TYPE_CHECKING�Any�Optional�TypeVar�cast)�WeakKeyDictionary�)�CapacityLimiterStatistics�EventStatistics�LockStatistics�TaskInfo�abc)�claim_worker_thread�threadlocals)�BrokenResourceError�BusyResourceError�ClosedResourceError�EndOfStream�
  19  WouldBlock�iterate_exceptions)�convert_ipv6_sockaddr)�create_memory_object_stream��CapacityLimiter��Event��Lock)�
  20  ResourceGuard�SemaphoreStatistics��	Semaphore��CancelScope)�AsyncBackend�IPSockAddrType�SocketListener�
  21  UDPPacketType�UNIXDatagramPacketType)�StrOrBytesPath)�RunVar)�MemoryObjectReceiveStream�MemoryObjectSendStream)�FileDescriptorLike)��
  22  )�	ParamSpec�rW�)�Runner)�TypeVarTuple�Unpack)�
  23  coroutines�events�
  24  exceptions�tasks)�BaseExceptionGroupc@seZdZdZdZdZdS)�_State�createdZinitialized�closedN)�__name__�
  25  __module__�__qualname__�CREATED�INITIALIZED�CLOSED�rmrm�NC:\Users\shubh\Videos\agent\nova\Lib\site-packages\anyio/_backends/_asyncio.pyrd~srdc@sjeZdZddd�d&dd�Zd'd
  26  d�Zd(dd�Zd)dd�Zd*dd�Zdd�d+dd�Zd)d d!�Z	d,d$d%�Z
  27  dS)-r\N��debug�loop_factoryrp�bool | Nonerq�&Callable[[], AbstractEventLoop] | NonecCs0tj|_||_||_d|_d|_d|_d|_dS)NrF)	rdrj�_state�_debug�
  28  _loop_factory�_loop�_context�_interrupt_count�_set_event_loop)�selfrprqrmrmrn�__init__�s
  29  zRunner.__init__�returncCs|��|S�N)�
  30  _lazy_init�r{rmrmrn�	__enter__�szRunner.__enter__�exc_type�type[BaseException]�exc_val�
  31  BaseException�exc_tbr)�NonecCs|��dSr~)�close�r{r�r�r�rmrmrn�__exit__�szRunner.__exit__c	Cs�|jtjurdSz8|j}t|�|�|���t|d�r$|�|���n|�t	|��W|j
  32  r4t�d�|�
  33  �d|_tj|_dS|j
  34  rIt�d�|�
  35  �d|_tj|_w)zShutdown and close event loop.N�shutdown_default_executor)rtrdrkrw�_cancel_all_tasks�run_until_complete�shutdown_asyncgens�hasattrr��_shutdown_default_executorrzr`�set_event_loopr�rl�r{�looprmrmrnr��s(
  36  �
  37  �
  38  
  39  zRunner.closercCs|��|jS)zReturn embedded event loop.)rrwr�rmrmrn�get_loop�szRunner.get_loop��context�coro�Coroutine[T_Retval]�T_Retvalc
  40  Csdt�|�std|����t��durtd��|��|dur!|j}|�|j	j
  41  |�}t��t�
  42  �urVt�tj�tjurVt|j|d�}z	t�tj|�Wn
  43  tyUd}Ynwd}d|_z?z|j	�|�WW|duryt�tj�|urzt�tjtj�SSStjy�|jdkr�t|dd�}|dur�|�dkr�t���w|dur�t�tj�|ur�t�tjtj�www)z/Run a coroutine inside the embedded event loop.za coroutine was expected, got Nz7Runner.run() cannot be called from a running event loop)�	main_taskr�uncancel)r_r �
  44  ValueErrorr`�_get_running_loop�RuntimeErrorrrx�runrwr�	threading�current_thread�main_thread�signal�	getsignal�SIGINT�default_int_handlerr�
  45  _on_sigintryr�rar�getattr�KeyboardInterrupt)r{r�r��taskZsigint_handlerr�rmrmrnr��sN
  46  ��	��
  47  ��z
  48  Runner.runcCs�|jtjur
  49  td��|jtjurdS|jdur)t��|_|j	s(t�
  50  |j�d|_	n|��|_|jdur:|j�|j�t
  51  ��|_tj|_dS)NzRunner is closedT)rtrdrlr�rkrvr`�new_event_looprwrzr�ru�	set_debug�contextvarsrrxr�rmrmrnr�s
  52  
  53  �
  54  
  55  
  56  zRunner._lazy_initr��asyncio.TaskcCsB|jd7_|jdkr|��s|��|j�dd��dSt��)N�cSsdSr~rmrmrmrmrn�<lambda>�sz#Runner._on_sigint.<locals>.<lambda>)ry�done�cancelrw�call_soon_threadsafer�)r{�signum�framer�rmrmrnr��szRunner._on_sigint)rprrrqrs)r}r\)r�r�r�r�r�r)r}r��r}r��r}r)r�r�r}r�)r�r�r}r�)rgrhrir|r�r�r�r�r�rr�rmrmrmrnr\�s�
  57  
  58  
  59  
  60  
  61  0r\r�rr}r�cCstt�|�}|s	dS|D]}|��q|�tj|ddi��|D]}|��r&q|��dur7|�d|��|d��qdS)N�return_exceptionsTz1unhandled exception during asyncio.run() shutdown)�message�	exceptionr�)rbrr�r��gather�	cancelledr��call_exception_handler)r��	to_cancelr�rmrmrnr�s$
  62  
  63  ����r�c�sh�d
  64  �fdd�}d�_�jdurdS���}tj||fd	�}|��z|IdHW|��dS|��w)z.Schedule the shutdown of the default executor.�future�asyncio.futures.Futurer}r�c
  65  sXz�jjdd���|jd�WdSty+}z��|j|�WYd}~dSd}~ww)NT)�wait)�_default_executor�shutdownr��
  66  set_result�	Exception�
  67  set_exception)r��ex�r�rmrn�_do_shutdowns��z0_shutdown_default_executor.<locals>._do_shutdownTN)�target�args)r�r�r}r�)�_executor_shutdown_calledr��
  68  create_futurer�r'�start�join)r�r�r��threadrmr�rnr�s�
  69  r�r��T_contraT)�
  70  contravariant�PosArgsT�P�
  71  _root_taskzRunVar[asyncio.Task | None]r�cCs�t�d�}|dur|��s|St�D]-}|jr?|��s?dd�|jD�}|D]}|tus3t|dd�dkr>t�|�|Sq%qtt	j
  72  t��}t�|�}|rm|j
  73  }|rb|jdurb|j}|rb|jdusX|durmtt	j
  74  |j�S|S)NcSsg|]\}}|�qSrmrm)�.0�cbr�rmrmrn�
  75  <listcomp>?�z"find_root_task.<locals>.<listcomp>rhzuvloop.loop)r��getr�r�
  76  _callbacksr
  77  r��setr/�asyncio�Taskr�_task_states�cancel_scope�
  78  _parent_scope�
  79  _host_task)�	root_taskr��	callbacksr��stater�rmrmrn�find_root_task7s.
  80  
  81  
  82  ��
  83  �r��funcr�strcCs0t|dd�}t|dd�}d�dd�||fD��S)Nrhri�.cSsg|]}|r|�qSrmrm)r��xrmrmrnr�Yr�z%get_callable_name.<locals>.<listcomp>)r�r�)r��module�qualnamermrmrn�get_callable_nameVsr�z1WeakKeyDictionary[asyncio.AbstractEventLoop, Any]�	_run_varsr��boolcCsH|��}|dus
  84  J�z	t|�ttfvWSty#td|�d��d�w)zBReturn ``True`` if the task has been started and has not finished.NzCannot determine if task z has started or not)�get_cororrr�AttributeErrorr�)r�r�rmrmrn�
  85  _task_startedcs�r��excrcCsD	|jrt|jdt�r|jd�d�rdSt|jt�r |j}qdS)NTr�Cancelled by cancel scope F)r��
  86  isinstancer��
  87  startswith�__context__r�r�rmrmrn�is_anyio_cancellationus���r�c@s�eZdZejdd�d0dd	�Zejdfd1d
  88  d�Zd2dd
  89  �Zd3dd�Ze	d4dd��Z
  90  e	d4dd��Zd5dd�Zd6dd�Z
  91  d5d d!�Zd5d"d#�Ze	d7d$d%��Zejd8d'd%��Ze	d4d(d)��Ze	d4d*d+��Ze	d4d,d-��Zejd9d.d-��Zd/S):rLF��deadline�shieldr��floatr�r�r}cC�
  92  t�|�Sr~��object�__new__��clsr�r�rmrmrnr�s
  93  zCancelScope.__new__cCsd||_||_d|_t�|_d|_d|_d|_d|_d|_	t�|_
  94  d|_tj
  95  dkr-d|_dSd|_dS)NFrZr)�	_deadline�_shieldr�r��
  96  _child_scopes�_cancel_called�_cancelled_caught�_active�_timeout_handle�_cancel_handle�_tasksr��sys�version_info�_pending_uncancellations)r{r�r�rmrmrnr|�s
  97  
  98  
  99  zCancelScope.__init__cCs�|jrtd��ttjt��|_}|j�|�zt	|}Wnt
 100  y/td|�}|t	|<Ynw|j|_
 101  ||_|j
 102  durJ|j
 103  j�|�|j
 104  j�|�|��d|_|jrY|�|�|S)Nz;Each CancelScope may only be used for a single 'with' blockT)r	r�r/r�r�rr�r�addr��KeyError�	TaskStater�r�r�discard�_timeoutr�_deliver_cancellation)r{Z	host_task�
 105  task_statermrmrnr��s,�
 106  �
 107  
 108  zCancelScope.__enter__r��type[BaseException] | Noner��BaseException | Noner��TracebackType | NonecCs�~|jstd��t�|jurtd��|jdusJ�t�|j�}|dus(|j|ur,td��z�d|_|jr;|j��d|_|j	�
 109  |j�|jdurV|jj�
 110  |�|jj	�
 111  |j�|j|_|��|jr�|js�|jrv|j��|jd8_|jsgd}|dur�t|�D]}t|t�r�t|�r�d|_q�d}q�|jo�|Wd|_~S|jr�|jdus�J�|jjdus�J�|jj|j7_d|_Wd|_~dSd|_~w)NzThis cancel scope is not activezIAttempted to exit cancel scope in a different task than it was entered inzTAttempted to exit a cancel scope that isn't the current tasks's current cancel scopeFr�Tr)r	r�rr�r�r�r�r
 112  r�r�remover�rr�_restart_cancellation_in_parentr�%_parent_cancellation_is_visible_to_usrr�r>r�rr�r)r{r�r�r�Zhost_task_stateZcannot_swallow_exc_valr�rmrmrnr��sh��
 113  
 114  
 115  �����zCancelScope.__exit__cCs2|}|dur|jrdS|jrdS|j}|dusdS)NTF)rr�r�)r{r�rmrmrn�_effectively_cancelled
 116  s�	z"CancelScope._effectively_cancelledcCs|jduo|jo|jjSr~)r�r�rr�rmrmrnrs
 117  
 118  ��z1CancelScope._parent_cancellation_is_visible_to_usr�cCsF|jtjkr!t�}|��|jkr|��dS|�|j|j�|_dSdSr~)	r�math�infr�timer��call_atrr
 119  r�rmrmrnr s�zCancelScope._timeout�origincCs�d}t�}|jD]>}d}|jrq||urF||just|�rF|j}t|tj�r*|�	�sF|�
 120  dt|�d���||jurF|jdurF|jd7_q|j
 121  D]}|jsY|jsY|�|�pX|}qJ||urn|rkt��|j|�|_|Sd|_|S)aZ
 122          Deliver cancellation to directly contained tasks and nested cancel scopes.
 123  
 124          Schedule another run at the end if we still have tasks eligible for
 125          cancellation.
 126  
 127          :param origin: the cancel scope that originated the cancellation
 128          :return: ``True`` if the delivery needs to be retried on the next cycle
 129  
 130          FTr�r�Nr�)rr�_must_cancelr�r��_fut_waiterr�r�rr�r��idrrr�
 131  cancel_calledrr�	call_soonr)r{r"Zshould_retry�currentr��waiter�scopermrmrnr(s4
 132  
 133  
 134  �
 135  ���z!CancelScope._deliver_cancellationcCsL|j}|dur$|jr|jdur|�|�dS|jrdS|j}|dusdSdS)zb
 136          Restart the cancellation effort in the closest directly cancelled parent scope.
 137  
 138          N)r�rrrr�r{r*rmrmrnrVs
 139  
 140  �z+CancelScope._restart_cancellation_in_parentcCsB|js|jr|j��d|_d|_|jdur|�|�dSdSdS�NT)rr
 141  r�r�rr�rmrmrnr�is
 142  
 143  �zCancelScope.cancelcC�|jSr~)rr�rmrmrnr�s�zCancelScope.deadline�valuecCsDt|�|_|jdur|j��d|_|jr|js |��dSdSdSr~)r�rr
 144  r�r	rr�r{r/rmrmrnr�ws
 145  
 146  
 147  �cCr-r~)rr�rmrmrnr&�r.zCancelScope.cancel_calledcCr-r~)rr�rmrmrn�cancelled_caught�r.zCancelScope.cancelled_caughtcCr-r~)rr�rmrmrnr��r.zCancelScope.shieldcCs(|j|kr||_|s|��dSdSdSr~)rrr0rmrmrnr��s
 148  �N�r�r�r�r�r}rL)r�r�r�r�)r}rL)r�rr�rr�rr}r��r}r�r�)r"rLr}r��r}r��r/r�r}r�)r/r�r}r�)rgrhrirrrr|r�r��propertyrrrrrr�r��setterr&r1r�rmrmrmrnrL�s4�
 149  
 150  L
 151  
 152  
 153  
 154  .
 155  
 156  	rLc@seZdZdZdZd
 157  dd�Zd	S)rz�
 158      Encapsulates auxiliary task information that cannot be added to the Task instance
 159      itself because there are no guarantees about its implementation.
 160      )�	parent_idr��__weakref__r8�
 161  int | Noner��CancelScope | NonecC�||_||_dSr~�r8r�)r{r8r�rmrmrnr|��
 162  zTaskState.__init__N)r8r:r�r;)rgrhri�__doc__�	__slots__r|rmrmrmrnr�srz*WeakKeyDictionary[asyncio.Task, TaskState]r�c@s"eZdZddd�Zdddd
 163  �ZdS)�_AsyncioTaskStatusr��asyncio.Futurer8�intcCr<r~)�_future�
 164  _parent_id)r{r�r8rmrmrnr|�r>z_AsyncioTaskStatus.__init__Nr/�T_contra | Noner}r�cCsXz|j�|�Wntjy|j��std�d�Ynwttjt��}|j	t
 165  |_dS)Nz.called 'started' twice on the same task status)rDr�r��InvalidStateErrorr�r�r/r�rrEr�r8)r{r/r�rmrmrn�started�s
 166  ����z_AsyncioTaskStatus.started)r�rBr8rCr~)r/rFr}r�)rgrhrir|rHrmrmrmrnrA�s
 167  rA�rW�zCodeType | None�_eager_task_factory_codec@sXeZdZd$dd�Zd%dd�Zd&dd�Z	d'd(dd�Zdd�d)dd�Zdd�d*d"d#�ZdS)+�	TaskGroupr}r�cCs&t�|_d|_g|_t�|_d|_dS)NF)rLr�r	�_exceptionsr�r�_on_completed_futr�rmrmrnr|�s
 168  
 169  zTaskGroup.__init__c�s�|j��d|_|Sr,)r�r�r	r�rmrmrn�
 170  __aenter__�s�
 171  zTaskGroup.__aenter__r�rr�rr�rrrc�s��z�|dur|j��t|t�s|j�|�t�}zq|jrqt��H}|jra|�	�|_
 172  z|j
 173  IdHWn)tyZ}zd|_|j��|dusNt|t�rPt|�sP|}WYd}~nd}~wwd|_
 174  |js$Wd�n1skwYnt
 175  ��IdHd|_|jr�td|j�d�|r�|�Wn$ty�}z|j�t|�||j�r�WYd}~W~~|`dS�d}~ww|j�|||�W~~|`S~~|`w)NTFzunhandled errors in a TaskGroup)r�r�r�rrM�appendrrrLr�rNr�r��AsyncIOBackend�cancel_shielded_checkpointr	rcr�r��type�
 176  __traceback__)r{r�r�r�r�Z
 177  wait_scoper�rmrmrn�	__aexit__�sd�
 178  
 179  
 180  
 181  ��������������zTaskGroup.__aexit__Nr��,Callable[[Unpack[PosArgsT]], Awaitable[Any]]r��tuple[Unpack[PosArgsT]]�namer�task_status_future�asyncio.Future | Noner�csNd���fdd�}�jstd��i}�r%tt��}t�t�jj��|d<nt�jj�}||i|��}t|�sQt|d	�rA|j	�d
 182  �nd}	t
 183  d|	�|j�d
 184  |�d���|durYt|�nt
 185  |�}t��}
 186  |
 187  ��}r�t|dd�tur�t|dd�}r�|dj}
 188  |
 189  ||
 190  |d��nt||d��t|�jd�t�<�jj����j�����|��S)N�_taskr�r}r�c
 191  sdt|}|jdusJ�||jjvsJ�|jj�|��j���t|=�jdur>�js>z�j�d�Wn
 192  tjy=Ynwz|��}Wn#t	yg}zt
 193  |jt	�r[|j}t
 194  |jt	�sR|}WYd}~nd}~ww|dur��durv���rvdS�dus~��
 195  �r�t
 196  |t	�s��j�|��jjs��j��dSdS��|�dS�dur���
 197  �s���td��dSdSdS)Nz2Child exited without calling task_status.started())r�r�rrrNr�r�rGr�rr�r�r�r�rMrPrr�r�r�)r[rr��e�r{r�rYrmrn�	task_donesH����
 198  ���z#TaskGroup._spawn.<locals>.task_donez;This task group is not active; no new tasks can be started.Ztask_statusrhr��z	Expected z0() to return a coroutine, but the return value (z) is not a coroutine object�__code__�__closure__r)r�rX�rXr=)r[r�r}r�)r	r�r%rrAr�r�r r�rh�	TypeErrorrir�r�r�r�get_task_factoryr�rK�
 199  cell_contentsrrr�rr�add_done_callback)r{r�r�rXrYr^�kwargsr8r��prefixr��factory�closureZcustom_task_constructorrmr]rn�_spawnsJ*�
 200  
 201  ���
 202  ��
 203  
 204  �
 205  zTaskGroup._spawnrb�Unpack[PosArgsT]cGs|�|||�dSr~)rk)r{r�rXr�rmrmrn�
 206  start_soonoszTaskGroup.start_soon�Callable[..., Awaitable[Any]]r,c�s��t��}|�||||�}z|IdHWStyT|��tdd��(tt��
 207  |IdHWd�n1s8wYWd��Wd��1sNwY�w)NT�r�)r�rrkrr�rLr)r{r�rXr�r�r�rmrmrnr�ws �(����zTaskGroup.startr�)r}rL)r�rr�rr�rr}rrr~)
 208  r�rVr�rWrXrrYrZr}r�)r�rVr�rlrXrr}r�)r�rnr�rrXrr}r,)	rgrhrir|rOrUrkrmr�rmrmrmrnrL�s
 209  
 210  
 211  D�`�	�rLcsBeZdZdZd�fdd	�Zddd�Zddd�Zdddd�Z�ZS) �WorkerThreadrXr�r��workers�set[WorkerThread]�idle_workers�deque[WorkerThread]csFt�jdd�||_||_||_|j|_td�|_t	�
 212  �|_d|_dS)NzAnyIO worker threadrbr1F)
 213  �superr|r�rqrsrwr�r#�queuerQ�current_time�
 214  idle_since�stopping)r{r�rqrs��	__class__rmrnr|�s�
 215  
 216  zWorkerThread.__init__r�rB�resultr,r�rr}r�cCsht��|_|js|j�|�|��s2|dur+t|t�r$t	d�}||_
 217  |}|�|�dS|�|�dSdS)Nzcoroutine raised StopIteration)
 218  rQrwrxryrsrPr�r��
 219  StopIterationr��	__cause__r�r�)r{r�r|r��new_excrmrmrn�_report_result�s
 220  
 221  �zWorkerThread._report_resultc
 222  Cs�tt|j��k	|j��}|dur	Wd�dS|\}}}}}|��sed}d}|t_z$z|j|g|�R�}Wnt	yL}	z|	}WYd}	~	nd}	~	wwWt`nt`w|j�
 223  �sc|j�|j|||�~~|j�
 224  �~~~~~~q1stwYdSr~)r7rQr�rvr�r�r8�current_cancel_scoper�r��	is_closedr�r�r^)
 225  r{�itemr�r�r�r�r�r|r�r�rmrmrnr��s8
 226  ����
 227  
 228  �
 229  ��zWorkerThread.runN�f�asyncio.Task | NonecCsFd|_|j�d�|j�|�z	|j�|�WdSty"YdSwr,)ryrv�
 230  put_nowaitrqrrsrr�)r{r�rmrmrn�stop�s�zWorkerThread.stop)r�r�rqrrrsrt)r�rBr|r,r�rr}r�r�r~)r�r�r}r�)	rgrhri�
 231  MAX_IDLE_TIMEr|r�r�r��
 232  __classcell__rmrmrzrnrp�s
 233  
 234  rp�_threadpool_idle_workerszRunVar[deque[WorkerThread]]�_threadpool_workerszRunVar[set[WorkerThread]]cs2eZdZddd�Zd�fdd�Zddd�Z�ZS)�BlockingPortalr}cCr�r~r��rrmrmrnr��
 235  zBlockingPortal.__new__r�cst���t�|_dSr~)rur|rrwr�rzrmrnr|�s
 236  zBlockingPortal.__init__r��<Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval]r�rWrg�dict[str, Any]rXrr��Future[T_Retval]cCs,t�t|jj|d�|j||||f|j�dS)Nrb)rQ�run_sync_from_threadrZ_task_grouprmZ
 237  _call_funcrw)r{r�r�rgrXr�rmrmrn�_spawn_task_from_thread�s
 238  �z&BlockingPortal._spawn_task_from_thread)r}r�r�)r�r�r�rWrgr�rXrr�r�r}r�)rgrhrirr|r�r�rmrmrzrnr��s
 239  r�F)�eqc@s,eZdZUded<dddd	�Zddd�Zd
 240  S)�StreamReaderWrapperzasyncio.StreamReader�_stream��	max_bytesrCr}�bytesc�s �|j�|�IdH}|r|St�r~)r��readr<)r{r��datarmrmrn�receives
 241  �zStreamReaderWrapper.receiver�c�s"�|j�t��t��IdHdSr~)r�r�r;rQ�
 242  checkpointr�rmrmrn�acloses�zStreamReaderWrapper.acloseN�r��r�rCr}r�r�)rgrhri�__annotations__r�r�rmrmrmrnr�s
 243  r�c@s*eZdZUded<ddd�Zd
 244  d	d
 245  �ZdS)�StreamWriterWrapperzasyncio.StreamWriterr�r�r�r}r�c�s"�|j�|�|j��IdHdSr~)r��write�drain�r{r�rmrmrn�sends�zStreamWriterWrapper.sendc�s�|j��t��IdHdSr~)r�r�rQr�r�rmrmrnr�s�
 246  zStreamWriterWrapper.acloseN�r�r�r}r�r�)rgrhrir�r�r�rmrmrmrnr�s
 247  
 248  r�c@s�eZdZUded<ded<ded<ded<d$d
 249  d�Zd%d
 250  d�Zd$dd�Zd$dd�Zd&dd�Ze	d%dd��Z
 251  e	d'dd��Ze	d(dd��Ze	d)dd ��Z
 252  e	d)d!d"��Zd#S)*�Processzasyncio.subprocess.Process�_processzStreamWriterWrapper | None�_stdinzStreamReaderWrapper | None�_stdout�_stderrr}r�c	�s��tdd��M}|jr|j��IdH|jr|j��IdH|jr(|j��IdHd|_z	|��IdHWntyJd|_|��|��IdH�wWd�dS1sVwYdS)NTroF)	rLr�r�r�r�r�r�r��killr+rmrmrnr�'s&���"�zProcess.acloserCc�s�|j��IdHSr~)r�r�r�rmrmrnr�9s�zProcess.waitcC�|j��dSr~)r��	terminater�rmrmrnr�<�zProcess.terminatecCr�r~)r�r�r�rmrmrnr�?r�zProcess.killr�cCs|j�|�dSr~)r��send_signal)r{r�rmrmrnr�B�zProcess.send_signalcC�|jjSr~)r��pidr�rmrmrnr�E�zProcess.pidr:cCr�r~)r��
 253  returncoder�rmrmrnr�Ir�zProcess.returncode�abc.ByteSendStream | NonecCr-r~)r�r�rmrmrn�stdinMr.z
 254  Process.stdin�abc.ByteReceiveStream | NonecCr-r~)r�r�rmrmrn�stdoutQr.zProcess.stdoutcCr-r~)r�r�rmrmrn�stderrUr.zProcess.stderrNr��r}rC)r�rCr}r��r}r:)r}r�)r}r�)rgrhrir�r�r�r�r�r�r6r�r�r�r�r�rmrmrmrnr� s(
 255  
 256  
 257  
 258  
 259  
 260  r�rq�set[Process]r[rcCs�d}tjdkrzt����}Wn	tyYnw|D])}|jdur#q|jjj	�
 261  �|jjj	�
 262  �|jjj	�
 263  �|�
 264  �|rD|�|j�qdS)zG
 265      Forcibly shuts down worker processes belonging to this event loop.NrI)r
 266  rr��get_event_loop_policy�get_child_watcher�NotImplementedErrorr�r�r��
 267  _transportr�r�r�r�Zremove_child_handlerr�)rqr[Z
 268  child_watcher�processrmrmrn�'_forcibly_shutdown_process_pool_on_exitZs$
 269  �
 270  ��r��set[abc.Process]c�sd�zttj�IdHWdStjy1|D]}|jdur!|��q|D]	}|��IdHq$YdSw)z�
 271      Shuts down worker processes belonging to this event loop.
 272  
 273      NOTE: this only works when the event loop was started using asyncio.run() or
 274      anyio.run().
 275  
 276      N)r	rrr�rr�r�r�)rqr�rmrmrn�_shutdown_process_pool_on_exitss�	
 277  ���r�c@szeZdZUded<ded<ded<dZded<d	Zd
 278  ed<d dd�Zd!dd�Zd"dd�Zd#dd�Z	d$dd�Z
 279  d$dd�ZdS)%�StreamProtocolzdeque[bytes]�
 280  read_queue�
 281  asyncio.Event�
 282  read_event�write_eventN�Exception | Noner�Fr��	is_at_eof�	transport�asyncio.BaseTransportr}r�cCs<t�|_t��|_t��|_|j��ttj|��	d�dS�Nr)
 283  rr�r�rDr�r�r�r/�	Transport�set_write_buffer_limits�r{r�rmrmrn�connection_made�s
 284  
 285  
 286  
 287  zStreamProtocol.connection_mader�cCs,|r
 288  t�|_||j_|j��|j��dSr~)r9r�r~r�r�r��r{r�rmrmrn�connection_lost�s
 289  
 290  zStreamProtocol.connection_lostr�r�cCs|j�t|��|j��dSr~)r�rPr�r�r�)r{r�rmrmrn�
 291  data_received�szStreamProtocol.data_receivedrrcCsd|_|j��dSr,)r�r�r�r�rmrmrn�eof_received�s
 292  zStreamProtocol.eof_receivedcC�t��|_dSr~)r�rDr�r�rmrmrn�
 293  pause_writing�r�zStreamProtocol.pause_writingcCr�r~�r�r�r�rmrmrn�resume_writing�r�zStreamProtocol.resume_writing�r�r�r}r��r�r�r}r�)r�r�r}r�)r}rrr�)rgrhrir�r�r�r�r�r�r�r�r�rmrmrmrnr��s
 294  
 295  
 296  
 297  
 298  
 299  r�c@sneZdZUded<ded<ded<dZded<dd
 300  d�Zd dd�Zd!dd�Zd"dd�Zd#dd�Z	d#dd�Z
 301  dS)$�DatagramProtocolz#deque[tuple[bytes, IPSockAddrType]]r�r�r�r�Nr�r�r�r�r}r�cCs.tdd�|_t��|_t��|_|j��dS)N�d)�maxlen)rr�r�rDr�r�r�r�rmrmrnr��s
 302  
 303  z DatagramProtocol.connection_mader�cCs|j��|j��dSr~)r�r�r�r�rmrmrnr��s
 304  z DatagramProtocol.connection_lostr�r��addrrNcCs&t|�}|j�||f�|j��dSr~)r?r�rPr�r�)r{r�r�rmrmrn�datagram_received�sz"DatagramProtocol.datagram_receivedr�cCs
 305  ||_dSr~)r�r�rmrmrn�error_received�r�zDatagramProtocol.error_receivedcCr�r~)r��clearr�rmrmrnr��r�zDatagramProtocol.pause_writingcCr�r~r�r�rmrmrnr��r�zDatagramProtocol.resume_writingr�r�)r�r�r�rNr}r�)r�r�r}r�r�)rgrhrir�r�r�r�r�r�r�r�rmrmrmrnr��s
 306  
 307  
 308  
 309  
 310  
 311  r�c@sNeZdZddd�Zedd	d
 312  ��Zdddd�Zddd�Zddd�Zddd�Z	dS) �SocketStreamr��asyncio.Transport�protocolr�cC�*||_||_td�|_td�|_d|_dS�N�reading from�
 313  writing toF�r��	_protocolrG�_receive_guard�_send_guard�_closed�r{r�r�rmrmrnr|�s
 314  
 315  
 316  
 317  zSocketStream.__init__r}�
 318  socket.socketcC�|j�d�S�N�socket�r��get_extra_infor�rmrmrn�_raw_socket��zSocketStream._raw_socketr�r�rCr�c	�s�|j��|jj��s(|j��s(|jjs(|j��|jj��IdH|j�	�nt
 319  ��IdHz|jj�
 320  �}WntyP|jrDtd�|jjrM|jjd�td�wt|�|krk|d|�||d�}}|jj�|�|jjs}|jj��Wd�|SWd�|S1s�wY|Sr~)r�r�r��is_setr��
 321  is_closingr��resume_readingr��
 322  pause_readingrQr�r��popleft�
 323  IndexErrorr�r;r�r<�len�
 324  appendleftr�)r{r��chunk�leftoverrmrmrnr��sB�
 325  ���
 326  
 327  �
 328  � �
 329  � � zSocketStream.receiver�r�c�s��|j�Ft��IdH|jrt�|jjdur|jj�z|j�|�Wnt	y8}z	|j�
 330  �r3t|��d}~ww|jj�
 331  �IdHWd�dS1sMwYdSr~)r�rQr�r�r;r�r�r�r�r�r�r9r�r�)r{r�r�rmrmrnr�s"�
 332  ��"�zSocketStream.sendc�s(�z|j��WdStyYdSwr~)r��	write_eof�OSErrorr�rmrmrn�send_eofs��zSocketStream.send_eofc�s^�|j��s-d|_z|j��Wn	tyYnw|j��td�IdH|j��dSdS�NTr)r�r�r�rrr�r	�abortr�rmrmrnr�s�
 333  �
 334  �zSocketStream.acloseN)r�r�r�r��r}r�r�r�r�r�)
 335  rgrhrir|r6r�r�r�rr�rmrmrmrnr��s
 336  
 337  #
 338  r�c@s`eZdZUdZded<dZded<dZddd	�Zeddd��Z	ddd�Z
 339  ddd�Zddd�ZdS)�_RawSocketMixinNrZ�_receive_future�_send_futureF�
 340  raw_socketr�cCs||_td�|_td�|_dS)Nr�r�)�_RawSocketMixin__raw_socketrGr�r��r{rrmrmrnr|,s
 341  z_RawSocketMixin.__init__r}cCr-r~)rr�rmrmrnr�1r.z_RawSocketMixin._raw_socketr��asyncio.AbstractEventLooprBc�>d��fdd�}t��}�_���j|jd�|�|�|S)Nr�rr}r�c��`���j�dSr~)r�
 342  remove_readerr�r��r�r{rmrn�callback6�z6_RawSocketMixin._wait_until_readable.<locals>.callback�r�rr}r�)r�rr�
 343  add_readerrr�rf�r{r�rr�rmrrn�_wait_until_readable5�
 344  
 345  z$_RawSocketMixin._wait_until_readablecr)Nr�rr}r�crr~)r
 346  �
 347  remove_writerrrrrmrnr@rz6_RawSocketMixin._wait_until_writable.<locals>.callbackr)r�rr
 348  �
 349  add_writerrr�rfrrmrrn�_wait_until_writable?rz$_RawSocketMixin._wait_until_writabler�c�sV�|js'd|_|j��dkr|j��|jr|j�d�|jr)|j�d�dSdSdS)NT�����)�_closingr�filenor�rr�r
 350  r�rmrmrnr�Is�
 351  �z_RawSocketMixin.aclose�rr�r
 352  )r�rr}rBr�)
 353  rgrhrirr�r
 354  r"r|r6r�rr r�rmrmrmrnr's
 355  
 356  
 357  
 358  
 359  
 360  rc@s@eZdZddd�Zddd	d
 361  �Zddd
 362  �Zddd�Zddd�ZdS)�UNIXSocketStreamr}r�c�s<�|j�|j�tj�Wd�dS1swYdSr~)r�r�r�r��SHUT_WRr�rmrmrnrVs�"�zUNIXSocketStream.send_eofr�r�rCr�c�s��t�}t��IdH|j�>	z|j�|�}Wn%ty)|�|�IdHYn"ty=}z	|j	r6t
 363  d�t|�d}~ww|sBt�|Wd�Sq1sOwYdSr~)
 364  rrQr�r�r��recv�BlockingIOErrorrrr"r;r9r<)r{r�r�r�r�rmrmrnr�Zs*�����zUNIXSocketStream.receiver�c�s��t�}t��IdH|j�Mt|�}|rSz|j�|�}Wn%ty.|�|�IdHYnt	yB}z	|j
 365  r;td�t|�d}~ww||d�}|sWd�dSWd�dS1s^wYdSr~)
 366  rrQr�r��
 367  memoryviewr�r�r(r rr"r;r9)r{r�r��viewZ
 368  bytes_sentr�rmrmrnr�ns*�����"�zUNIXSocketStream.send�msglen�maxfds�tuple[bytes, list[int]]c
 369  �sl�t|t�r
 370  |dkrtd��t|t�r|dkrtd��t�}t�d�}t��IdH|j�J	z|j�	|t
 371  �||j��\}}}}Wn%t
 372  yS|�|�IdHYntyg}	z	|jr`td�t|	�d}	~	ww|sn|snt�nq/Wd�n1szwY|D].\}
 373  }}|
 374  t
 375  jks�|t
 376  jkr�td|�d|
 377  �d	|����|�|dt|�t|�|j��q�|t|�fS)
 378  Nrz%msglen must be a non-negative integerr�z!maxfds must be a positive integer�iTz.Received unexpected ancillary data; message = z, cmsg_level = z, cmsg_type = )r�rCr�r�arrayrQr�r�r��recvmsgr�ZCMSG_LEN�itemsizer(rrr"r;r9r<�
 379  SOL_SOCKET�
 380  SCM_RIGHTSr��	frombytesr�list)
 381  r{r+r,r��fdsr�Zancdata�flagsr�r�Z
 382  cmsg_levelZ	cmsg_typeZ	cmsg_datarmrmrn�receive_fds�sN�
 383  ��������&zUNIXSocketStream.receive_fdsr�r6�Collection[int | IOBase]c�s�|std��|s
 384  td��t�}g}|D]}t|t�r!|�|�qt|t�r-|�|���qt�d|�}t�	�IdH|j
 385  �A	z|j�|gt
 386  jt
 387  j|fg�Wn&tya|�|�IdHYntyu}z	|jrntd�t|�d}~wwq@Wd�dS1s�wYdS)Nzmessage must not be emptyzfds must not be emptyr.)r�rr�rCrPr!r#r/rQr�r�r��sendmsgr�r2r3r(r rr"r;r9)r{r�r6r�Zfilenos�fdZfdarrayr�rmrmrn�send_fds�sB�
 388  
 389  �����"�zUNIXSocketStream.send_fdsNr�r�r�r�)r+rCr,rCr}r-)r�r�r6r9r}r�)rgrhrirr�r�r8r<rmrmrmrnr%Us
 390  
 391  
 392  'r%c@sJeZdZUdZded<dZddd�Zedd
 393  d��Zdd
 394  d�Z	ddd�Z
 395  dS)�TCPSocketListenerNr;�
 396  _accept_scopeFrr�cCs$||_ttjt��|_td�|_dS)N�accepting connections from)�_TCPSocketListener__raw_socketr/r��
 397  BaseEventLooprrwrG�
 398  _accept_guardrrmrmrnr|�szTCPSocketListener.__init__r}cCr-r~)r@r�rmrmrnr��r.zTCPSocketListener._raw_socket�abc.SocketStreamc�s�|jrt�|j�`t��IdHt��F|_z8z|j�|j	�IdH\}}Wn$t
 399  jyIz	|j�|j	�Wnt
 400  tfyAYnw|jrHtd��wWd|_nd|_wWd�n1s]wYWd�n1slwY|�tjtjd�|j�t|�IdH\}}t||�S�Nr�)r�r;rBrQr�rLr>rw�sock_acceptr�r�rrr�r��
 401  setsockoptr��IPPROTO_TCP�TCP_NODELAY�connect_accepted_socketr�r�)r{�client_sockZ_addrr�r�rmrmrn�accept�s8�
 402  ���
 403  ����
 404  zTCPSocketListener.acceptr�c	�sh�|jrdSd|_|jr-z	|j�|j�Wnttfy Ynw|j��td�IdH|j�	�dSr)
 405  r�r>rwrr�r�r�r�r	r�r�rmrmrnr��s��
 406  zTCPSocketListener.acloser$r
 407  �r}rCr�)rgrhrir>r�r�r|r6r�rKr�rmrmrmrnr=�s
 408  
 409  
 410  r=c@s8eZdZddd�Zddd�Zdd
 411  d�Zeddd
 412  ��ZdS)�UNIXSocketListenerrr�cCs"||_t�|_td�|_d|_dS)Nr?F)�_UNIXSocketListener__raw_socketrrwrGrBr�rrmrmrnr|s
 413  
 414  zUNIXSocketListener.__init__r}rCc�s��t��IdH�j�U	z�j��\}}|�d�t|�WWd�StyJt�	�}�j
 415  ��j|jd�|�
 416  �fdd��|IdHYnty^}z	�jrWtd�t|�d}~wwq
 417  1scwYdS)NTFcs�j��j�Sr~)rwrrN��_r�rmrnr�sz+UNIXSocketListener.accept.<locals>.<lambda>)rQr�rBrNrK�setblockingr%r(r�rrwrr�rfrr�r;r9)r{rJrPr�r�rmr�rnrKs0�
 418  �
 419  �����zUNIXSocketListener.acceptr�c�s�d|_|j��dSr,)r�rNr�r�rmrmrnr�!s�zUNIXSocketListener.aclosecCr-r~)rNr�rmrmrnr�%r.zUNIXSocketListener._raw_socketNr$rLr�r
 420  )rgrhrir|rKr�r6r�rmrmrmrnrMs
 421  
 422  
 423  rMc@sBeZdZddd�Zedd	d
 424  ��Zddd
 425  �Zddd�Zddd�ZdS)�	UDPSocketr��asyncio.DatagramTransportr�r�cCr�r�r�r�rmrmrnr|+�
 426  
 427  
 428  
 429  zUDPSocket.__init__r}r�cCr�r�r�r�rmrmrnr�4r�zUDPSocket._raw_socketr�c��$�|j��sd|_|j��dSdSr,�r�r�r�r�r�rmrmrnr�8�
 430  �
 431  �zUDPSocket.aclose�tuple[bytes, IPSockAddrType]c	�s��|j�?t��IdH|jjs$|j��s$|jj��|jj�	�IdHz|jj�
 432  �WWd�StyB|jr?t
 433  d�td�w1sFwYdSr~�r�rQr�r�r�r�r�r�r�r�r�rr�r;r9r�rmrmrnr�=s��
 434  ��zUDPSocket.receiver�rPc�sr�|j�+t��IdH|jj��IdH|jrt�|j�	�r!t
 435  �|jj|�Wd�dS1s2wYdSr~�r�rQr�r�r�r�r�r;r�r�r9�sendtor�rmrmrnr�N��
 436  "�zUDPSocket.sendN�r�rSr�r�r
 437  r�)r}rX)r�rPr}r��	rgrhrir|r6r�r�r�r�rmrmrmrnrR*s
 438  	
 439  
 440  rRc@sBeZdZddd�Zedd	d
 441  ��Zddd
 442  �Zddd�Zddd�ZdS)�ConnectedUDPSocketr�rSr�r�cCr�r�r�r�rmrmrnr|[rTzConnectedUDPSocket.__init__r}r�cCr�r�r�r�rmrmrnr�dr�zConnectedUDPSocket._raw_socketr�c�rUr,rVr�rmrmrnr�hrWzConnectedUDPSocket.acloser�c	�s��|j�Dt��IdH|jjs$|j��s$|jj��|jj�	�IdHz|jj�
 443  �}Wnty<|jr9t
 444  d�td�w|dWd�S1sKwYdSr�rY)r{�packetrmrmrnr�ms��$�zConnectedUDPSocket.receiver�c�sr�|j�+t��IdH|jj��IdH|jrt�|j�	�r!t
 445  �|j�|�Wd�dS1s2wYdSr~rZr�rmrmrnr��r\zConnectedUDPSocket.sendNr]r
 446  r��r}r�r�r^rmrmrmrnr_Zs
 447  	
 448  
 449  r_c@� eZdZd
 450  dd�Zddd�Zd	S)�UNIXDatagramSocketr}rQc���t�}t��IdH|j�:	z|j�d�}Wn%ty)|�|�IdHYnty=}z	|j	r6t
 451  d�t|�d}~ww|Wd�Sq1sKwYdS�NTr�)rrQr�r�r��recvfromr(rrr"r;r9�r{r�r�r�rmrmrnr���&�����zUNIXDatagramSocket.receiver�r�c�s��t�}t��IdH|j�:	z|jj|�Wn%ty)|�|�IdHYnty=}z	|j	r6t
 452  d�t|�d}~ww	Wd�dSq1sKwYdSr~)rrQr�r�r�r[r(r rr"r;r9�r{r�r�r�rmrmrnr��rhzUNIXDatagramSocket.sendN)r}rQ)r�rQr}r��rgrhrir�r�rmrmrmrnrc��
 453  rcc@rb)�ConnectedUNIXDatagramSocketr}r�c�rdre)rrQr�r�r�r'r(rrr"r;r9rgrmrmrnr��rhz#ConnectedUNIXDatagramSocket.receiver�r�c�s��t�}t��IdH|j�:	z|j�|�Wn%ty)|�|�IdHYnty=}z	|j	r6t
 454  d�t|�d}~ww	Wd�dSq1sKwYdSr~)rrQr�r�r�r�r(r rr"r;r9rirmrmrnr��rhz ConnectedUNIXDatagramSocket.sendNrar�rjrmrmrmrnrl�rkrl�read_eventsz RunVar[dict[int, asyncio.Event]]�_read_events�write_events�
 455  _write_eventsc@sHeZdZddd�Zddd�Zddd�Zdd
 456  d�Zddd
 457  �Zddd�ZdS)rDr}cCr�r~r�r�rmrmrnr�r�z
 458  Event.__new__r�cCr�r~)r�rD�_eventr�rmrmrnr|�r�zEvent.__init__cCr�r~)rqr�r�rmrmrnr��r�z	Event.setr�cC�
 459  |j��Sr~)rqr�r�rmrmrnr��r�zEvent.is_setc�s0�|��rt��IdHdS|j��IdHdSr~)r�rQr�rqr�r�rmrmrnr��s�z
 460  Event.waitr3cCstt|jj��Sr~)r3rrq�_waitersr�rmrmrn�
 461  statistics�r�zEvent.statisticsN)r}rDr�r3)r}r3)	rgrhrirr|r�r�r�rtrmrmrmrnrD�s
 462  
 463  
 464  
 465  
 466  rDc@s^eZdZdd�ddd�Zdd�dd	d
 467  �Zddd�Zdd
 468  d�Zddd�Zddd�Zddd�Z	dS)rFF��fast_acquirervr�r}cCr�r~r��rrvrmrmrnr�r�zLock.__new__r�cCs||_d|_t�|_dSr~)�
 469  _fast_acquire�_owner_taskrrs)r{rvrmrmrnr|�sz
 470  Lock.__init__c�s��ttjt��}|jdur6|js6t��IdH||_|js4z
 471  t�	�IdHWdSt
 472  y3|���wdS|j|kr?td��t�
 473  �}||f}|j�|�z|IdHWnt
 474  yk|j�|�|j|urj|���w|j�|�dS�Nz)Attempted to acquire an already held Lock)r/r�r�rryrsrQ�checkpoint_if_cancelledrxrRr�releaser�rrPr)r{r��futr�rmrmrn�acquire�s8���
 475  
 476  �zLock.acquirecCs>ttjt��}|jdur|js||_dS|j|urtd��t�rz)r/r�r�rryrsr�r=)r{r�rmrmrn�acquire_nowaits
 477  zLock.acquire_nowaitcCs
 478  |jduSr~)ryr�rmrmrn�locked*r�zLock.lockedcCsL|jt�kr
 479  td��|jD]\}}|��s ||_|�d�dSq
 480  d|_dS)Nz)The current task is not holding this lock)ryrr�rsr�r�)r{r�r}rmrmrnr|-s
 481  �
 482  zLock.releaser4cCs*|jrt|j�nd}t|��|t|j��Sr~)ry�AsyncIOTaskInfor4r�rrs)r{Z	task_informrmrnrt9szLock.statisticsN)rvr�r}rF)rvr�r}r�r�r3)r}r4)
 483  rgrhrirr|r~rr�r|rtrmrmrmrnrF�s
 484  
 485  "
 486  
 487  rFcs|eZdZddd�ddd�Zddd�d�fd
 488  d�Zddd�Zddd�Zddd�Zed dd��Z	ed!dd��Z
 489  d"dd�Z�ZS)#rJNF��	max_valuerv�
 490  initial_valuerCr�r:rvr�r}cCr�r~r��rr�r�rvrmrmrnr?s
 491  zSemaphore.__new__cs.t�j||d�||_||_||_t�|_dS)N)r�)rur|�_value�
 492  _max_valuerxrrs)r{r�r�rvrzrmrnr|Hs
 493  zSemaphore.__init__r�c�s��|jdkr3|js3t��IdH|jd8_|js1z
 494  t��IdHWdSty0|���wdSt�	�}|j�
 495  |�z|IdHWdStybz|j�|�W�tya|��Y�ww�Nrr�)
 496  r�rsrQr{rxrRrr|r�rrPrr��r{r}rmrmrnr~Us4����
 497  ��zSemaphore.acquirecCs |jdkrt�|jd8_dSr�)r�r=r�rmrmrnrqs
 498  zSemaphore.acquire_nowaitcCs`|jdur|j|jkrtd��|jD]}|��s&|�d�|j�|�dSq|jd7_dS)Nz!semaphore released too many timesr�)r�r�r�rsr�r�rr�rmrmrnr|ws
 499  
 500  �zSemaphore.releasecCr-r~)r�r�rmrmrnr/�r.zSemaphore.valuecCr-r~)r�r�rmrmrnr��r.zSemaphore.max_valuerHcCstt|j��Sr~)rHrrsr�rmrmrnrt�r�zSemaphore.statistics)r�rCr�r:rvr�r}rJ)r�rCr�r:rvr�r�r�r�)r}rH)
 501  rgrhrirr|r~rr|r6r/r�rtr�rmrmrzrnrJ>s�
 502  �
 503  
 504  
 505  rJc@s�eZdZUdZded<d0dd�Zd1dd	�Zd2dd�Zd3dd�Ze	d4dd��Z
 506  e
 507  jd5dd��Z
 508  e	d6dd��Ze	d4dd��Z
 509  d2dd�Zd7d"d#�Zd2d$d%�Zd7d&d'�Zd2d(d)�Zd7d*d+�Zd8d-d.�Zd/S)9rBrr��
 510  _total_tokens�total_tokensr}cCr�r~r��rr�rmrmrnr�r�zCapacityLimiter.__new__cCst�|_t�|_||_dSr~)r��
 511  _borrowersr�_wait_queuer�)r{r�rmrmrnr|�s
 512  zCapacityLimiter.__init__r�c�s�|��IdHdSr~)r~r�rmrmrnrO���zCapacityLimiter.__aenter__r�rr�rr�rc�s�|��dSr~)r|r�rmrmrnrU�s�zCapacityLimiter.__aexit__cCr-r~)r�r�rmrmrnr��r.zCapacityLimiter.total_tokensr/cCs�t|t�st�|�std��|dkrtd��t||jd�}||_|jr>|rB|jj	dd�d}|�
 513  �|d8}|jr@|s&dSdSdSdS)Nz'total_tokens must be an int or math.infr�ztotal_tokens must be >= 1rF��last)r�rCr�isinfrcr��maxr�r��popitemr�)r{r/Zwaiters_to_notify�eventrmrmrnr��s
 514  �rCcCs
 515  t|j�Sr~)rr�r�rmrmrn�borrowed_tokens��
 516  zCapacityLimiter.borrowed_tokenscCs|jt|j�Sr~)r�rr�r�rmrmrn�available_tokens��z CapacityLimiter.available_tokenscC�|�t��dSr~)�acquire_on_behalf_of_nowaitrr�rmrmrnr�r�zCapacityLimiter.acquire_nowait�borrowerrcCs<||jvr	td��|jst|j�|jkrt�|j�|�dS)NzEthis borrower is already holding one of this CapacityLimiter's tokens)r�r�r�rr�r=r)r{r�rmrmrnr��s
 517  �z+CapacityLimiter.acquire_on_behalf_of_nowaitc�s�|�t��IdHSr~)�acquire_on_behalf_ofrr�rmrmrnr~�r�zCapacityLimiter.acquirec�s��t��IdHz|�|�Wn2tyAt��}||j|<z	|��IdHWnty7|j�	|d��w|j
 518  �|�YdSwz
 519  t��IdHWdStyX|�
 520  ��wr~)rQr{r�r=r�rDr�r�r��popr�rrRr|�r{r�r�rmrmrnr��s*�
 521  ���z$CapacityLimiter.acquire_on_behalf_ofcCr�r~)�release_on_behalf_ofrr�rmrmrnr|�r�zCapacityLimiter.releasecCsfz|j�|�Wntytd�d�w|jr/t|j�|jkr1|jjdd�d}|��dSdSdS)Nz@this borrower isn't holding any of this CapacityLimiter's tokensFr�r�)	r�rrr�r�rr�r�r�r�rmrmrnr��s����z$CapacityLimiter.release_on_behalf_ofr2cCst|j|jt|j�t|j��Sr~)r2r�r��tupler�rr�r�rmrmrnrt�s�zCapacityLimiter.statisticsN)r�r�r}rB)r�r�r��r�rr�rr�rr}r�r4r5r�)r�rr}r�)r}r2)rgrhrir�r�rr|rOrUr6r�r7r�r�rr�r~r�r|r�rtrmrmrmrnrB�s*
 522  
 523  
 524  
 525  
 526  
 527  
 528  
 529  
 530  
 531  
 532  
 533  rB�_default_thread_limiterzRunVar[CapacityLimiter]c@sHeZdZddd�Zdd	d
 534  �Zddd�Zddd�Zddd�Zddd�ZdS)�_SignalReceiver�signals�tuple[Signals, ...]cCs,||_t�|_t�|_t��|_t�|_	dSr~)
 535  �_signalsrrwr�
 536  _signal_queuer�rrDr��_handled_signals)r{r�rmrmrnr|	s
 537  
 538  z_SignalReceiver.__init__r�r$r}r�cCs*|j�|�|j��s|j�d�dSdSr~)r�rPrDr�r�)r{r�rmrmrn�_delivers
 539  �z_SignalReceiver._delivercCs2t|j�D]}|j�||j|�|j�|�q|Sr~)r�r�rw�add_signal_handlerr�r�r)r{�sigrmrmrnr�sz_SignalReceiver.__enter__r�rr�rr�rcCs|jD]}|j�|�qdSr~)r�rw�remove_signal_handler)r{r�r�r�r�rmrmrnr�s
 540  �z_SignalReceiver.__exit__cCs|Sr~rmr�rmrmrn�	__aiter__%sz_SignalReceiver.__aiter__c�s6�t��IdH|jst��|_|jIdH|j��Sr~)rQr�r�r�rrDr�r�rmrmrn�	__anext__(s�
 541  
 542  z_SignalReceiver.__anext__N)r�r�)r�r$r}r�)r}r�r�)r}r$)	rgrhrir|r�r�r�r�r�rmrmrmrnr�s
 543  
 544  
 545  
 546  
 547  	r�cs(eZdZd	�fdd�Zd
 548  dd�Z�ZS)r�r�r�cs`t�|�}|durd}n|j}|��}|dusJd��t��t|�||��|�t�	|�|_
 549  dS)Nz&created TaskInfo from a completed Task)r�r�r8r�rur|r%�get_name�weakref�refr[)r{r�rr8r�rzrmrnr|7s
 550  zAsyncIOTaskInfo.__init__r}r�cCsX|��}sdS|jr
 551  dSt|jtj�r|j��rdSt�|�}r*|j	}r*|j
 552  SdS)NFT)r[r#r�r$r�rr�r�r�r�r)r{r�rr�rmrmrn�has_pending_cancellationCs��
 553  z(AsyncIOTaskInfo.has_pending_cancellation)r�r�r3)rgrhrir|r�r�rmrmrzrnr�6sr�c@s�eZdZUded<dddd�d>dd�Zd?dd�Zd@dd�ZdAdd�ZdBd!d"�ZdCd#d$�Z	dDd'd(�Z
 554  dEd0d1�ZdFd5d6�ZdGd8d9�Z
 555  dHd<d=�ZdS)I�
 556  TestRunnerzBMemoryObjectSendStream[tuple[Awaitable[Any], asyncio.Future[Any]]]�_send_streamNF)rp�
 557  use_uvlooprqrprrr�r�rqrsr}r�cCs8|r
 558  |dur
 559  ddl}|j}t||d�|_g|_d|_dS)Nrro)�uvloopr�r\�_runnerrM�_runner_task)r{rpr�rqr�rmrmrnr|Zs
 560  zTestRunner.__init__cCs|j��|���|j�|Sr~)r�r�r��set_exception_handler�_exception_handlerr�rmrmrnr�js
 561  zTestRunner.__enter__r�rr�rr�rcCs|j�|||�dSr~)r�r�r�rmrmrnr�oszTestRunner.__exit__rcCrrr~)r�r�r�rmrmrnr�wr�zTestRunner.get_loopr�rr�r�cCs2t|�d�t�r|j�|d�dS|�|�dS)Nr�)r�r�r�rMrP�default_exception_handler)r{r�r�rmrmrnr�zszTestRunner._exception_handlercCs>|jr|jg}|_t|�dkr|d�|rtd|��dSdS)Nr�rz6Multiple exceptions occurred in asynchronous callbacks)rMrrc)r{rarmrmrn�_raise_async_exceptions�s��z"TestRunner._raise_async_exceptions�receive_stream�OMemoryObjectReceiveStream[tuple[Awaitable[T_Retval], asyncio.Future[T_Retval]]]c
 562  �s�ddlm}|�z|j�^|2zR3dHW\}}z|IdH}Wn9ty6}z|��s1|j|j��d}~wtyX}z|��sF|�|�t	|t
 563  |f�sN�WYd}~qd}~ww|��sb|�|�q6Wd�n1snwYWd�dSWd�dS1s�wYdS)Nr)�OutcomeException)Z_pytest.outcomesr�r�rr�r�r�r�r�r�r�r�)r{r�r�r�r��retvalr�rmrmrn�_run_tests_and_fixtures�s0��
 564  ���
 565  ��P�z"TestRunner._run_tests_and_fixturesr�� Callable[P, Awaitable[T_Retval]]r��P.argsrg�P.kwargsr�c�sr�|jstttttjfd�\|_}|���	|�
 566  |��|_||i|��}|����}|j�||f�|IdHSrD)
 567  r�r@r�rr,r�rr�r�rr�r�Zsend_nowait)r{r�r�rgr�r�r�rmrmrn�_call_in_runner_task�s��
 568  ��
 569  zTestRunner._call_in_runner_task�fixture_func�,Callable[..., AsyncGenerator[T_Retval, Any]]�Iterable[T_Retval]ccs��|di|��}|���|�|jd��}|��|Vz|���|�|jd��Wnty7|��YdSw|���|���td��)Nz$Async generator fixture did not stoprm)r�r�r��asendr��StopAsyncIterationr�r�)r{r�rg�asyncgenZfixturevaluermrmrn�run_asyncgen_fixture�s ����zTestRunner.run_asyncgen_fixture�,Callable[..., Coroutine[Any, Any, T_Retval]]cCs(|���|j|fi|���}|��|Sr~)r�r�r�r�)r{r�rgr�rmrmrn�run_fixture�s
 570  �zTestRunner.run_fixture�	test_func�'Callable[..., Coroutine[Any, Any, Any]]c
 571  Cs^z|���|j|fi|���Wnty(}z|j�|�WYd}~nd}~ww|��dSr~)r�r�r�r�rMrPr�)r{r�rgr�rmrmrn�run_test�s���zTestRunner.run_test)rprrr�r�rqrsr}r�)r}r�r�r�)r�rr�r�r}r�r�)r�r�r}r�)r�r�r�r�rgr�r}r�)r�r�rgr�r}r�)r�r�rgr�r}r�)r�r�rgr�r}r�)rgrhrir�r|r�r�r�r�r�r�r�r�r�r�rmrmrmrnr�Ws 
 572  �
 573  
 574  
 575  
 576  
 577  
 578  
 579  
 580  
 581  r�c@sLeZdZed�d
 582  d��Zed�d
 583  d��Zed�dd��Zed�dd��Zed�dd��Zed�dd��Z	ed�dd��Z
 584  ed�dd��Zeej
 585  dd �d�d%d&��Zed�d'd(��Zed�d*d+��Zed�d-d.��Zed�d1d2��Zed3dd4�d�d:d;��Zed�d>d?��Ze		3d�d�dDdE��Zed�dFdG��Zed�dIdJ��Zed�dKdL��Zed�dNdO��Zed�dXdY��Zed�d\d]��Ze	3d�d�ddde��Zed�didj��Zed�dndo��Zed�dpdq��Zed�dwdx��Z ed�d}d~��Z!eddddd��d�d�d���Z"e	d�d�d�d���Z#ed�d�d���Z$ed�d�d���Z%ed�d�d���Z&ed�d�d���Z'ed�d�d���Z(ed�d�d���Z)ed�d�d���Z*ed�d�d���Z+d3S)�rQr��1Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]]r�rWrgr��optionsr}r�c
 586  s�t��d��fdd��}|�dd�}|�dd�}|dur)|�dd�r)d	dl}|j}t||d
 587  ��}	|	�|��Wd�S1s@wYdS)Nr}r�c�sL�ttjt��}|�t���tdd�t|<z���IdHWt|=St|=wr~)r/r�r�r�set_namer�rr�)r��r�r�rmrn�wrapper�s�z#AsyncIOBackend.run.<locals>.wrapperrprqr�Frro)r}r�)rr�r�r�r\r�)
 588  rr�r�rgr�r�rprqr��runnerrmr�rnr��s
 589  
 590  $�zAsyncIOBackend.runrcC�t�Sr~)rr�rmrmrn�
 591  current_token	r.zAsyncIOBackend.current_tokenr�cCs
 592  t���Sr~)rr r�rmrmrnrw	r�zAsyncIOBackend.current_timer�cCstSr~)rr�rmrmrn�cancelled_exception_class	sz(AsyncIOBackend.cancelled_exception_classr�c�s�td�IdHdSr��r	r�rmrmrnr�	��zAsyncIOBackend.checkpointc�sn�t�}|dur
 593  dSzt|j}Wn
 594  tyYdSw|r5|jr)td�IdHn|jr.dS|j}|sdSdSr�)rr�r�rr&r	r�r�)rr�r�rmrmrnr{	s ���z&AsyncIOBackend.checkpoint_if_cancelledc�s@�tdd��td�IdHWd�dS1swYdS)NTror)rLr	r�rmrmrnrR+	s�"�z)AsyncIOBackend.cancel_shielded_checkpoint�delayc�s�t|�IdHdSr~r�)rr�rmrmrnr	0	r�zAsyncIOBackend.sleepFr�r�r�r�rLcCst||d�S)Nr�rKrrmrmrn�create_cancel_scope4	sz"AsyncIOBackend.create_cancel_scopecCs�t�}dur
 595  tjSzt|j}WntytjYSwtj}|r>t||j�}|jr3tj}	|S|j	r9	|S|j
 596  }|s#|Sr~)rrrr�r�r�minr�rr�r�)rr�r�r�rmrmrn�current_effective_deadline:	s(
 597  ����
 598  z)AsyncIOBackend.current_effective_deadline�
 599  abc.TaskGroupcCr�r~)rLr�rmrmrn�create_task_groupQ	r.z AsyncIOBackend.create_task_group�	abc.EventcCr�r~rCr�rmrmrn�create_eventU	r.zAsyncIOBackend.create_eventrv�abc.LockcCs
 600  t|d�S)NrurErwrmrmrn�create_lockY	r�zAsyncIOBackend.create_lockNr�r�rCr�r:�
 601  abc.SemaphorecCst|||d�S)Nr�rIr�rmrmrn�create_semaphore]	szAsyncIOBackend.create_semaphorer��abc.CapacityLimitercC�t|�Sr~rAr�rmrmrn�create_capacity_limiterg	r�z&AsyncIOBackend.create_capacity_limiter�&Callable[[Unpack[PosArgsT]], T_Retval]�abandon_on_cancel�limiter�abc.CapacityLimiter | Nonec	�s��|��IdHz
 602  t��}t��}Wnty+t�}t�}t�|�t�|�Ynw|p1|��4IdH��t|d���}t	j
 603  t�}t�}	|sct
 604  |	||�}
 605  |
 606  ��|�|
 607  �|	j|
 608  jt��d�n&|��}
 609  |��}|r�||djt
 610  jkrxn|��}|j�|j�|��|smt�}
 611  |
 612  �tjjd�|s�|jdur�|}n|j}|
 613  j �!|
 614  ||||f�|IdHWd�Wd�IdHS1s�wYWd�IdHdS1IdHs�wYdS)Nror�r)"r�r�r�r��LookupErrorrr��current_default_thread_limiterrLr�rr�r�rpr�rrfr�r�rr�rwrxr�r�r��remove_done_callbackrr��sniffio�current_async_library_cvarr�rvr�)rr�r�r�r�rsrqr*r�r�Zworker�nowZexpired_workerr�Zworker_scopermrmrn�run_sync_in_worker_threadk	s\�
 615  �
 616  
 617  ����
 618  ��.�z(AsyncIOBackend.run_sync_in_worker_threadcCsHtj}|dur"|jrtdt|�d����|jrdS|j}|dusdSdS)Nr�r�)r8r�r&rr%r�r�)rr*rmrmrn�check_cancelled�	s�zAsyncIOBackend.check_cancelled�tokenc	sRd��fdd�}tt|�}t�}|�tjjd�|tj�}|�t	j
 619  ||�}|��S)	Nr*rLr}r�c
 620  �s��d}ttjt��}td|�t|<|j�|�z%z���IdHWW|j�|�St	y<}z	t
 621  j�	t|��d�d}~ww|j�|�wr,)
 622  r/r�r�rrr�rrrr�
 623  concurrent�futuresr�)r*Z__tracebackhide__r�r�r�rmrn�task_wrapper�	s����z:AsyncIOBackend.run_async_from_thread.<locals>.task_wrapperr�)r*rLr}r�)r/rrr�r�r�r�r8r�r��run_coroutine_threadsafer|)	rr�r�r�r�r�r�r�r�rmr�rn�run_async_from_thread�	s
 624  
 625  �z$AsyncIOBackend.run_async_from_threadcs<t��d���fdd��}t��tt|�}|�|����S)Nr}r�c
 626  s^ztj�d�������WdSty.}z��|�t|t�s#�WYd}~dSd}~ww)Nr�)r�r�r�r�r�r�r�r�r��r�r�r�rmrnr��	s
 627  
 628  ���z4AsyncIOBackend.run_sync_from_thread.<locals>.wrapperr�)rrr/rr�r|)rr�r�r�r�r�rmr�rnr��	s	
 629  
 630  z#AsyncIOBackend.run_sync_from_thread�abc.BlockingPortalcCr�r~)r�r�rmrmrn�create_blocking_portal�	r.z%AsyncIOBackend.create_blocking_portal�command�)StrOrBytesPath | Sequence[StrOrBytesPath]r��int | IO[Any] | Noner�r�r,r�c
 631  �s��|��IdHt|t�rt�|�}t|ttf�r*tj|f|||d�|��IdH}ntj	||||d�|��IdH}|j
 632  rAt|j
 633  �nd}|jrKt
 634  |j�nd}|jrUt
 635  |j�nd}	t||||	�S)N)r�r�r�)r�r�r"�os�fspathr�r�r��create_subprocess_shell�create_subprocess_execr�r�r�r�r�r�)
 636  rrr�r�r�rgr�Zstdin_streamZ
 637  stdout_streamZ
 638  stderr_streamrmrmrn�open_process�	s4�
 639  
 640  
 641  �����zAsyncIOBackend.open_processrqr�cCs&tt|�dd�t��tt|��dS)Nz AnyIO process pool shutdown taskrb)rr�r�rfrr�)rrqrmrmrn�#setup_process_pool_exit_at_shutdown
 642  s��z2AsyncIOBackend.setup_process_pool_exit_at_shutdown�hostr��port�
 643  local_address�IPSockAddrType | NonerCc�sB�tttjtft�jt|||d�IdH�\}}|��t||�S)N)�
 644  local_addr)	r/r�r�r�r�r�create_connectionr�r�)rrrr
 645  r�r�rmrmrn�connect_tcp
 646  s�
 647  ��
 648  zAsyncIOBackend.connect_tcp�path�str | bytes�abc.UNIXSocketStreamc�s��|��IdHt��t�tj����d�	z
 649  ��|�Wt��StyEt��}��	�|j
 650  d�|���fdd��|IdHYntyP��
 651  ��wq)NFTc�
 652  ����Sr~�rrO�r�rrmrnr�1
 653  �
 654  z-AsyncIOBackend.connect_unix.<locals>.<lambda>)r�rr��AF_UNIXrQ�connectr(r�rrr�rfr�r�r%)rrr�rmrrn�connect_unix%
 655  s&�
 656  
 657  ���zAsyncIOBackend.connect_unix�sockr�rOcCr�r~)r=�rrrmrmrn�create_tcp_listener9
 658  r�z"AsyncIOBackend.create_tcp_listenercCr�r~)rMrrmrmrn�create_unix_listener=
 659  r�z#AsyncIOBackend.create_unix_listener�familyr%�remote_address�
 660  reuse_port�UDPSocket | ConnectedUDPSocketc�sN�t�jt||||d�IdH\}}|jr|��|j�|s"t||�St||�S)N)r�remote_addrr r")r�create_datagram_endpointr�r�r�rRr_)rr r
 661  r!r"r�r�rmrmrn�create_udp_socketA
 662  s��
 663  
 664  z AsyncIOBackend.create_udp_socketr�remote_path�str | bytes | None�8abc.UNIXDatagramSocket | abc.ConnectedUNIXDatagramSocketc�s��|��IdHt��|rI	z
 665  ��|�Wt��Sty<t��}���|jd�|���fdd��|IdHYnt	yG��
 666  ��wqt��S)NTcrr~rrOrrmrnr�g
 667  rz<AsyncIOBackend.create_unix_datagram_socket.<locals>.<lambda>)
 668  r�rrr(r�rrr�rfr�r�rlrc)rrr'r�rmrrn�create_unix_datagram_socketY
 669  s&�
 670  ���z*AsyncIOBackend.create_unix_datagram_socketr�r rS�protor7�bytes | str | None�str | int | None�int | AddressFamilyrS�int | SocketKindr,r7�uSequence[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]]c�s �t�j||||||d�IdHS)Nr+)r�getaddrinfo)rrrr rSr,r7rmrmrnr2q
 671  s��zAsyncIOBackend.getaddrinfo�sockaddrrN�tuple[str, str]c�s�t��||�IdHSr~)r�getnameinfo)rr3r7rmrmrnr5�
 672  s�zAsyncIOBackend.getnameinfo�objrVc�s��|��IdHzt��}Wntyi}t�|�Ynwt|t�s(|��}|�|�r1td��t	�}t
 673  ��}z	|�||j�Wnt
 674  y]ddlm}|�}|�||j�|j}Ynw|j}|||<z|��IdHW||�||=dS||�||=w)Nr�r��get_selector)r�rnr�r�r�r�rCr#r:rr�rDrr��$anyio._core._asyncio_selector_threadr8rr�)rr6rmr�r�r8�selectorrrmrmrn�
 675  wait_readable�
 676  s<��
 677  
 678  
 679  �
 680  �zAsyncIOBackend.wait_readablec�s��|��IdHzt��}Wntyi}t�|�Ynwt|t�s(|��}|�|�r1td��t	�}t
 681  ��}z	|�||j�Wnt
 682  y]ddlm}|�}|�||j�|j}Ynw|j}|||<z|��IdHW||=||�dS||=||�w)Nr�rr7)r�rpr�r�r�r�rCr#r:rr�rDrr�r9r8rr�)rr6ror�r�r8r:rrmrmrn�
 683  wait_writable�
 684  s<��
 685  
 686  
 687  ��
 688  zAsyncIOBackend.wait_writablerBcCs4zt��WStytd�}t�|�|YSw)N�()r�r�r�rBr�)rr�rmrmrnr��
 689  s
 690  
 691  �z-AsyncIOBackend.current_default_thread_limiterr�r$�.AbstractContextManager[AsyncIterator[Signals]]cGr�r~)r�)rr�rmrmrn�open_signal_receiver�
 692  sz#AsyncIOBackend.open_signal_receiverr5cCs
 693  tt��Sr~)r�rr�rmrmrn�get_current_task�
 694  r�zAsyncIOBackend.get_current_task�Sequence[TaskInfo]cCsdd�t�D�S)NcSsg|]
 695  }|��st|��qSrm)r�r�)r�r�rmrmrnr��
 696  sz4AsyncIOBackend.get_running_tasks.<locals>.<listcomp>)rr�rmrmrn�get_running_tasks�
 697  r�z AsyncIOBackend.get_running_tasksc�s\�|��IdHt�}	t�D]}||urq|j}|dus!|��r*td�IdHnqdSq)NTg�������?)r�rrr$r�r	)rZ	this_taskr�r)rmrmrn�wait_all_tasks_blocked�
 698  s�
 699  ��z%AsyncIOBackend.wait_all_tasks_blockedr�cCstdi|��S)Nrm)r�)rr�rmrmrn�create_test_runner�
 700  sz!AsyncIOBackend.create_test_runner)
 701  r�r�r�rWrgr�r�r�r}r�)r}rr4)r}r�r�)r�r�r}r�r2)r}r�)r}r�)rvr�r}r�)r�rCr�r:rvr�r}r�)r�r�r}r�)FN)
 702  r�r�r�rWr�r�r�r�r}r�)r�r�r�rWr�rr}r�)r�r�r�rWr�rr}r�)r}r)rrr�rr�rr�rrgr,r}r��rqr�r}r�r~)rr�rrCr
 703  rr}rC)rrr}r)rr�r}rO)
 704  r r%r
 705  rr!rr"r�r}r#)rr�r'r(r}r))rr-rr.r r/rSr0r,rCr7rCr}r1)r)r3rNr7rCr}r4)r6rVr}r�)r}rB)r�r$r}r>)r}r5)r}rA)r�r�r}r�),rgrhri�classmethodr�r�rwr�r�r{rRr	rrr�r�r�r�r�r�r�r�r�r�r�rr	r
 706  rrrrr&r*r2r5r;r<r�r?r@rBrCrDrmrmrmrnrQ�s���	�<#	���""rQ)r�rr}r�)r}r�)r�rr}r�)r�r�r}r�)r�rr}r�)rqr�r[rr}r�rE)��
 707  __future__rr/r��concurrent.futuresr�r�rrr�r
 708  r�r�rrrrrrr	Zasyncio.base_eventsr
 709  �collectionsrr�collections.abcr
 710  rrrrrrrr�
 711  contextlibrrrr�dataclassesr�	functoolsrr�inspectrrrr �ior!r"rvr#r�r$r%r&r'�typesr(r)�typingr*r+r,r-r.r/r0r�r_r2r3r4r5r6Z_core._eventloopr7r8Z_core._exceptionsr9r:r;r<r=r>Z_core._socketsr?Z_core._streamsr@Z_core._synchronizationrBZBaseCapacityLimiterrDZ	BaseEventrFZBaseLockrGrHrJZ
 712  BaseSemaphoreZ_core._tasksrLZBaseCancelScoperMrNrOrPrQZabc._eventlooprRZlowlevelrSZstreams.memoryrTrUZ	_typeshedrVrrrYZtyping_extensionsr\r]r^�enumr_r`rarbZexceptiongrouprc�Enumrdr�r�r�r�r�r�r�r�r�r�r�r�r�rr�Z
 713  TaskStatusrAZeager_task_factoryr`rKrLr�r�Z_Retval_Queue_Typerpr�r�r�ZByteReceiveStreamr�ZByteSendStreamr�r�r�r��Protocolr�r�r�rr%r=rMrRr_rcrlrnrpr�r�r�r�rQZ
 714  backend_classrmrmrmrn�<module>s$	(
 715    
 716  
 717  
 718  
 719  
 720  
 721  
 722  
 723  JN�
 724  9
 725  'U.t<%02$$JQq.!