
    i)                       U d dl mZ d dlZd dlmc mZ d dlZd dl	Z	d dl
mZmZ d dlmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZmZ d d	lmZmZmZmZm Z m!Z! e	j"        d
k    r	d dlm#Z#m$Z$ nd dl%m#Z#m$Z$ erDd dl&m'Z' ddl(m)Z)m*Z*m+Z+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 ddl:m;Z; ddl<m=Z= ddl>m?Z?  e d          Z@ e#d          ZAeBeCz  eeB         z  eeC         z  ZDdeEd<    G d de          ZFdS )    )annotationsN)ABCMetaabstractmethod)AsyncIterator	AwaitableCallableSequence)AbstractContextManager)PathLike)Signals)AddressFamily
SocketKindsocket)IOTYPE_CHECKINGAny	TypeAliasTypeVaroverload)      )TypeVarTupleUnpack)FileDescriptorLike   )CapacityLimiterEventLock	Semaphore)CancelScope)TaskInfo   )ConnectedUDPSocketConnectedUNIXDatagramSocketIPSockAddrTypeSocketListenerSocketStream	UDPSocketUNIXDatagramSocketUNIXSocketStream)Process)	TaskGroup)
TestRunnerT_RetvalPosArgsTr   StrOrBytesPathc                  z   e Zd Zeedd
                        Zeedd                        Zeedd                        Zeedd                        Zeedd                        Z	edd            Z
edd            Zeedd                        Zeeej        dddd                        Zeedd                        Zeedd                         Zeedd"                        Zeedd%                        Zeed&dd'dd-                        Zeedd0                        Zee	 	 ddd5                        Zeedd6                        Zeedd8                        Zeedd9                        ZeeddB                        ZeeddE                        Zee	 dddL                        ZeeddP                        ZeeddT                        ZeeddU                        Zeedd[                        Z ee!dd_                        Z"ee!dda                        Z"eeddd                        Z"eedededededfddo                        Z#ee	 ddds                        Z$eeddv                        Z%eeddw                        Z&eeddx                        Z'eeddy                        Z(eeddz                        Z)eedd{                        Z*eedd}                        Z+eedd                        Z,eedd                        Z-eedd                        Z.eedd                        Z/eedd                        Z0eedd                        Z1eedd                        Z2eedd                        Z3eedd                        Z4d&S )AsyncBackendfunc1Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]]argstuple[Unpack[PosArgsT]]kwargsdict[str, Any]optionsreturnr.   c                    dS )a  
        Run the given coroutine function in an asynchronous event loop.

        The current thread must not be already running an event loop.

        :param func: a coroutine function
        :param args: positional arguments to ``func``
        :param kwargs: positional arguments to ``func``
        :param options: keyword arguments to call the backend ``run()`` implementation
            with
        :return: the return value of the coroutine function
        N )clsr3   r5   r7   r9   s        S/root/projects/qq-shell/venv/lib64/python3.11/site-packages/anyio/abc/_eventloop.pyrunzAsyncBackend.run3             objectc                    dS )z
        Return an object that allows other threads to run code inside the event loop.

        :return: a token object, specific to the event loop running in the current
            thread
        Nr<   r=   s    r>   current_tokenzAsyncBackend.current_tokenI   r@   rA   floatc                    dS )zz
        Return the current value of the event loop's internal clock.

        :return: the clock value (seconds)
        Nr<   rD   s    r>   current_timezAsyncBackend.current_timeS   r@   rA   type[BaseException]c                    dS )zFReturn the exception class that is raised in a task if it's cancelled.Nr<   rD   s    r>   cancelled_exception_classz&AsyncBackend.cancelled_exception_class\   r@   rA   Nonec                
   K   dS )z
        Check if the task has been cancelled, and allow rescheduling of other tasks.

        This is effectively the same as running :meth:`checkpoint_if_cancelled` and then
        :meth:`cancel_shielded_checkpoint`.
        Nr<   rD   s    r>   
checkpointzAsyncBackend.checkpointa   
        rA   c                   K   |                                  t          j         k    r|                                  d{V  dS dS )z
        Check if the current task group has been cancelled.

        This will check if the task has been cancelled, but will not allow other tasks
        to be scheduled if not.

        N)current_effective_deadlinemathinfrN   rD   s    r>   checkpoint_if_cancelledz$AsyncBackend.checkpoint_if_cancelledk   sS       ))++y88..""""""""""" 98rA   c                   K   |                      d          5  |                     d           d{V  ddd           dS # 1 swxY w Y   dS )z
        Allow the rescheduling of other tasks.

        This will give other tasks the opportunity to run, but without checking if the
        current task group has been cancelled, unlike with :meth:`checkpoint`.

        T)shieldr   N)create_cancel_scopesleeprD   s    r>   cancel_shielded_checkpointz'AsyncBackend.cancel_shielded_checkpointw   s       $$D$11 	 	))A,,	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA	Adelayc                
   K   dS )zt
        Pause the current task for the specified duration.

        :param delay: the duration, in seconds
        Nr<   )r=   rZ   s     r>   rX   zAsyncBackend.sleep   rO   rA   F)deadlinerV   r\   rV   boolr    c                   d S Nr<   )r=   r\   rV   s      r>   rW   z AsyncBackend.create_cancel_scope   	    
 	rA   c                    dS )aQ  
        Return the nearest deadline among all the cancel scopes effective for the
        current task.

        :return:
            - a clock value from the event loop's internal clock
            - ``inf`` if there is no deadline in effect
            - ``-inf`` if the current scope has been cancelled
        :rtype: float
        Nr<   rD   s    r>   rQ   z'AsyncBackend.current_effective_deadline   r@   rA   r,   c                    d S r_   r<   rD   s    r>   create_task_groupzAsyncBackend.create_task_group   	     	rA   r   c                    d S r_   r<   rD   s    r>   create_eventzAsyncBackend.create_event   rd   rA   fast_acquirer   c                   d S r_   r<   )r=   rg   s     r>   create_lockzAsyncBackend.create_lock   rd   rA   N)	max_valuerg   initial_valueintrj   
int | Noner   c                   d S r_   r<   )r=   rk   rj   rg   s       r>   create_semaphorezAsyncBackend.create_semaphore   s	     	rA   total_tokensr   c                    d S r_   r<   )r=   rp   s     r>   create_capacity_limiterz$AsyncBackend.create_capacity_limiter   rd   rA   &Callable[[Unpack[PosArgsT]], T_Retval]abandon_on_cancellimiterCapacityLimiter | Nonec                
   K   d S r_   r<   )r=   r3   r5   rt   ru   s        r>   run_sync_in_worker_threadz&AsyncBackend.run_sync_in_worker_thread          	rA   c                    d S r_   r<   rD   s    r>   check_cancelledzAsyncBackend.check_cancelled   rd   rA   tokenc                    d S r_   r<   r=   r3   r5   r|   s       r>   run_async_from_threadz"AsyncBackend.run_async_from_thread   	     	rA   c                    d S r_   r<   r~   s       r>   run_sync_from_threadz!AsyncBackend.run_sync_from_thread   r   rA   command)StrOrBytesPath | Sequence[StrOrBytesPath]stdinint | IO[Any] | Nonestdoutstderrr   r+   c               
   K   d S r_   r<   )r=   r   r   r   r   r7   s         r>   open_processzAsyncBackend.open_process   s       	rA   workersset[Process]c                    d S r_   r<   )r=   r   s     r>   #setup_process_pool_exit_at_shutdownz0AsyncBackend.setup_process_pool_exit_at_shutdown   rd   rA   hoststrportlocal_addressIPSockAddrType | Noner'   c                
   K   d S r_   r<   )r=   r   r   r   s       r>   connect_tcpzAsyncBackend.connect_tcp         
 	rA   pathstr | bytesr*   c                
   K   d S r_   r<   )r=   r   s     r>   connect_unixzAsyncBackend.connect_unix          	rA   sockr   r&   c                    d S r_   r<   r=   r   s     r>   create_tcp_listenerz AsyncBackend.create_tcp_listener  rd   rA   c                    d S r_   r<   r   s     r>   create_unix_listenerz!AsyncBackend.create_unix_listener  rd   rA   familyr   remote_address
reuse_portUDPSocket | ConnectedUDPSocketc                
   K   d S r_   r<   )r=   r   r   r   r   s        r>   create_udp_socketzAsyncBackend.create_udp_socket  ry   rA   
raw_socketremote_pathr)   c                
   K   d S r_   r<   r=   r   r   s      r>   create_unix_datagram_socketz(AsyncBackend.create_unix_datagram_socket  s       !SrA   r$   c                
   K   d S r_   r<   r   s      r>   r   z(AsyncBackend.create_unix_datagram_socket  s       '*crA   str | bytes | None0UNIXDatagramSocket | ConnectedUNIXDatagramSocketc                
   K   d S r_   r<   r   s      r>   r   z(AsyncBackend.create_unix_datagram_socket#  r   rA   r   )r   typeprotoflagsbytes | str | Nonestr | int | Noneint | AddressFamilyr   int | SocketKindr   r   uSequence[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]]c               
   K   d S r_   r<   )r=   r   r   r   r   r   r   s          r>   getaddrinfozAsyncBackend.getaddrinfo*  s      ( 	rA   sockaddrr%   tuple[str, str]c                
   K   d S r_   r<   )r=   r   r   s      r>   getnameinfozAsyncBackend.getnameinfo@  r   rA   objr   c                
   K   d S r_   r<   r=   r   s     r>   wait_readablezAsyncBackend.wait_readableG  r   rA   c                
   K   d S r_   r<   r   s     r>   wait_writablezAsyncBackend.wait_writableL  r   rA   c                    d S r_   r<   r   s     r>   notify_closingzAsyncBackend.notify_closingQ  rd   rA   c                
   K   d S r_   r<   r   s     r>   wrap_listener_socketz!AsyncBackend.wrap_listener_socketV  r   rA   c                
   K   d S r_   r<   r   s     r>   wrap_stream_socketzAsyncBackend.wrap_stream_socket[  r   rA   c                
   K   d S r_   r<   r   s     r>   wrap_unix_stream_socketz$AsyncBackend.wrap_unix_stream_socket`  r   rA   r(   c                
   K   d S r_   r<   r   s     r>   wrap_udp_socketzAsyncBackend.wrap_udp_sockete  r   rA   r#   c                
   K   d S r_   r<   r   s     r>   wrap_connected_udp_socketz&AsyncBackend.wrap_connected_udp_socketj  r   rA   c                
   K   d S r_   r<   r   s     r>   wrap_unix_datagram_socketz&AsyncBackend.wrap_unix_datagram_socketo  r   rA   c                
   K   d S r_   r<   r   s     r>   #wrap_connected_unix_datagram_socketz0AsyncBackend.wrap_connected_unix_datagram_sockett  r   rA   c                    d S r_   r<   rD   s    r>   current_default_thread_limiterz+AsyncBackend.current_default_thread_limiter{  rd   rA   signalsr   .AbstractContextManager[AsyncIterator[Signals]]c                    d S r_   r<   )r=   r   s     r>   open_signal_receiverz!AsyncBackend.open_signal_receiver  r`   rA   r!   c                    d S r_   r<   rD   s    r>   get_current_taskzAsyncBackend.get_current_task  rd   rA   Sequence[TaskInfo]c                    d S r_   r<   rD   s    r>   get_running_taskszAsyncBackend.get_running_tasks  rd   rA   c                
   K   d S r_   r<   rD   s    r>   wait_all_tasks_blockedz#AsyncBackend.wait_all_tasks_blocked  r   rA   r-   c                    d S r_   r<   )r=   r9   s     r>   create_test_runnerzAsyncBackend.create_test_runner  rd   rA   )
r3   r4   r5   r6   r7   r8   r9   r8   r:   r.   )r:   rB   )r:   rF   )r:   rI   )r:   rL   )rZ   rF   r:   rL   )r\   rF   rV   r]   r:   r    )r:   r,   )r:   r   )rg   r]   r:   r   )rk   rl   rj   rm   rg   r]   r:   r   )rp   rF   r:   r   )FN)
r3   rs   r5   r6   rt   r]   ru   rv   r:   r.   )r3   r4   r5   r6   r|   rB   r:   r.   )r3   rs   r5   r6   r|   rB   r:   r.   )r   r   r   r   r   r   r   r   r7   r   r:   r+   )r   r   r:   rL   r_   )r   r   r   rl   r   r   r:   r'   )r   r   r:   r*   )r   r   r:   r&   )
r   r   r   r   r   r   r   r]   r:   r   )r   r   r   rL   r:   r)   )r   r   r   r   r:   r$   )r   r   r   r   r:   r   )r   r   r   r   r   r   r   r   r   rl   r   rl   r:   r   )r   )r   r%   r   rl   r:   r   )r   r   r:   rL   )r   r   r:   r'   )r   r   r:   r*   )r   r   r:   r(   )r   r   r:   r#   )r   r   r:   r)   )r   r   r:   r$   )r:   r   )r   r   r:   r   )r:   r!   )r:   r   )r9   r8   r:   r-   )5__name__
__module____qualname__classmethodr   r?   rE   rH   rK   rN   rT   rY   rX   rR   rS   rW   rQ   rc   rf   ri   ro   rr   rx   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r<   rA   r>   r2   r2   2   s          ^ [(    ^ [    ^ [ U U U ^ [U    ^ [ 	# 	# 	# [	# 	 	 	 [	    ^ [ "&(5     ^ [
 
 
 
 ^ [
    ^ [    ^ [    ^ [ 
 !%"     ^ [    ^ [ 
 #(*.    ^ [    ^ [    ^ [    ^ [ 	 	 	 ^ [	    ^ [ JN    ^ [
    ^ [    ^ [    ^ [    ^ [ ! ! ! X [! * * * X [*    ^ [
  '(!"     ^ [( 45    ^ [
    ^ [    ^ [    ^ [    ^ [    ^ [    ^ [    ^ [    ^ [    ^ [    ^ [
    ^ [    ^ [
    ^ [    ^ [    ^ [    ^ [  rA   r2   )	metaclass)G
__future__r   builtins@py_builtins_pytest.assertion.rewrite	assertionrewrite
@pytest_arrR   sysabcr   r   collections.abcr   r   r   r	   
contextlibr
   osr   signalr   r   r   r   typingr   r   r   r   r   r   version_infor   r   typing_extensions	_typeshedr   _core._synchronizationr   r   r   r   _core._tasksr    _core._testingr!   _socketsr#   r$   r%   r&   r'   r(   r)   r*   _subprocessesr+   _tasksr,   _testingr-   r.   r/   r   bytesr0   __annotations__r2   r<   rA   r>   <module>r     s   " " " " " " "               



 ' ' ' ' ' ' ' ' H H H H H H H H H H H H - - - - - -             4 4 4 4 4 4 4 4 4 4                w+++++++++66666666 %,,,,,,PPPPPPPPPPPP******))))))	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 '&&&&&!!!!!!$$$$$$7:<
##%K(3-7(5/I I I I Ig g g g gW g g g g g grA   