
    Mh%                       U d dl 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j        dk    rd dlm Z  nd dlm Z  erJd dl!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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z<  ed          Z= ed          Z>ee?e@ddf         ZAdeBd<    G d d e!          ZCdS )"    )annotationsN)ABCMetaabstractmethod)AsyncIterator	AwaitableCallableSequence)AbstractContextManager)PathLike)Signals)AddressFamily
SocketKindsocket)IOTYPE_CHECKINGAnyTypeVarUnionoverload)      )TypeVarTupleUnpack)r   
   )	TypeAlias)	HasFileno   )CapacityLimiterEventLock	Semaphore)CancelScope)TaskInfo)BlockingPortal   )ConnectedUDPSocketConnectedUNIXDatagramSocketIPSockAddrTypeSocketListenerSocketStream	UDPSocketUNIXDatagramSocketUNIXSocketStream)Process)	TaskGroup)
TestRunnerT_RetvalPosArgsTzPathLike[str]zPathLike[bytes]r   StrOrBytesPathc                  b   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dd;                        ZeeddD                        ZeeddG                        Zee	 dddN                        ZeeddR                        ZeeddV                        ZeeddW                        Z eedd]                        Z!ee"dda                        Z#ee"ddc                        Z#eeddf                        Z#eedgdgdgdgdhddq                        Z$ee	 dddu                        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-d&S )AsyncBackendfunc1Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]]argstuple[Unpack[PosArgsT]]kwargsdict[str, Any]optionsreturnr1   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 )clsr6   r8   r:   r<   s        T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/anyio/abc/_eventloop.pyrunzAsyncBackend.run9             objectc                    dS )z

        :return:
        Nr?   r@   s    rA   current_tokenzAsyncBackend.current_tokenO   rC   rD   floatc                    dS )zz
        Return the current value of the event loop's internal clock.

        :return: the clock value (seconds)
        Nr?   rG   s    rA   current_timezAsyncBackend.current_timeW   rC   rD   type[BaseException]c                    dS )zFReturn the exception class that is raised in a task if it's cancelled.Nr?   rG   s    rA   cancelled_exception_classz&AsyncBackend.cancelled_exception_class`   rC   rD   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?   rG   s    rA   
checkpointzAsyncBackend.checkpointe   
        rD   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infrQ   rG   s    rA   checkpoint_if_cancelledz$AsyncBackend.checkpoint_if_cancelledo   sS       ))++y88..""""""""""" 98rD   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sleeprG   s    rA   cancel_shielded_checkpointz'AsyncBackend.cancel_shielded_checkpoint{   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@   r]   s     rA   r[   zAsyncBackend.sleep   rR   rD   F)deadlinerY   r_   rY   boolr"   c                   d S Nr?   )r@   r_   rY   s      rA   rZ   z AsyncBackend.create_cancel_scope   	    
 	rD   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?   rG   s    rA   rT   z'AsyncBackend.current_effective_deadline   rC   rD   r/   c                    d S rb   r?   rG   s    rA   create_task_groupzAsyncBackend.create_task_group   	     	rD   r   c                    d S rb   r?   rG   s    rA   create_eventzAsyncBackend.create_event   rg   rD   fast_acquirer    c                   d S rb   r?   )r@   rj   s     rA   create_lockzAsyncBackend.create_lock   rg   rD   N)	max_valuerj   initial_valueintrm   
int | Noner!   c                   d S rb   r?   )r@   rn   rm   rj   s       rA   create_semaphorezAsyncBackend.create_semaphore   s	     	rD   total_tokensr   c                    d S rb   r?   )r@   rs   s     rA   create_capacity_limiterz$AsyncBackend.create_capacity_limiter   rg   rD   &Callable[[Unpack[PosArgsT]], T_Retval]abandon_on_cancellimiterCapacityLimiter | Nonec                
   K   d S rb   r?   )r@   r6   r8   rw   rx   s        rA   run_sync_in_worker_threadz&AsyncBackend.run_sync_in_worker_thread          	rD   c                    d S rb   r?   rG   s    rA   check_cancelledzAsyncBackend.check_cancelled   rg   rD   tokenc                    d S rb   r?   r@   r6   r8   r   s       rA   run_async_from_threadz"AsyncBackend.run_async_from_thread   	     	rD   c                    d S rb   r?   r   s       rA   run_sync_from_threadz!AsyncBackend.run_sync_from_thread   r   rD   r$   c                    d S rb   r?   rG   s    rA   create_blocking_portalz#AsyncBackend.create_blocking_portal   rg   rD   command)StrOrBytesPath | Sequence[StrOrBytesPath]stdinint | IO[Any] | Nonestdoutstderrr   r.   c               
   K   d S rb   r?   )r@   r   r   r   r   r:   s         rA   open_processzAsyncBackend.open_process   s       	rD   workersset[Process]c                    d S rb   r?   )r@   r   s     rA   #setup_process_pool_exit_at_shutdownz0AsyncBackend.setup_process_pool_exit_at_shutdown   rg   rD   hoststrportlocal_addressIPSockAddrType | Noner*   c                
   K   d S rb   r?   )r@   r   r   r   s       rA   connect_tcpzAsyncBackend.connect_tcp         
 	rD   pathstr | bytesr-   c                
   K   d S rb   r?   )r@   r   s     rA   connect_unixzAsyncBackend.connect_unix         	rD   sockr   r)   c                    d S rb   r?   r@   r   s     rA   create_tcp_listenerz AsyncBackend.create_tcp_listener  rg   rD   c                    d S rb   r?   r   s     rA   create_unix_listenerz!AsyncBackend.create_unix_listener  rg   rD   familyr   remote_address
reuse_portUDPSocket | ConnectedUDPSocketc                
   K   d S rb   r?   )r@   r   r   r   r   s        rA   create_udp_socketzAsyncBackend.create_udp_socket  r|   rD   
raw_socketremote_pathr,   c                
   K   d S rb   r?   r@   r   r   s      rA   create_unix_datagram_socketz(AsyncBackend.create_unix_datagram_socket   s       !SrD   r'   c                
   K   d S rb   r?   r   s      rA   r   z(AsyncBackend.create_unix_datagram_socket&  s       '*crD   str | bytes | None0UNIXDatagramSocket | ConnectedUNIXDatagramSocketc                
   K   d S rb   r?   r   s      rA   r   z(AsyncBackend.create_unix_datagram_socket,  r   rD   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 rb   r?   )r@   r   r   r   r   r   r   s          rA   getaddrinfozAsyncBackend.getaddrinfo3  s      ( 	rD   sockaddrr(   tuple[str, str]c                
   K   d S rb   r?   )r@   r   r   s      rA   getnameinfozAsyncBackend.getnameinfoI  r   rD   objHasFileno | intc                
   K   d S rb   r?   r@   r   s     rA   wait_readablezAsyncBackend.wait_readableP  r   rD   c                
   K   d S rb   r?   r   s     rA   wait_writablezAsyncBackend.wait_writableU  r   rD   c                    d S rb   r?   rG   s    rA   current_default_thread_limiterz+AsyncBackend.current_default_thread_limiterZ  rg   rD   signalsr   .AbstractContextManager[AsyncIterator[Signals]]c                    d S rb   r?   )r@   r   s     rA   open_signal_receiverz!AsyncBackend.open_signal_receiver_  rc   rD   r#   c                    d S rb   r?   rG   s    rA   get_current_taskzAsyncBackend.get_current_taskf  rg   rD   Sequence[TaskInfo]c                    d S rb   r?   rG   s    rA   get_running_taskszAsyncBackend.get_running_tasksk  rg   rD   c                
   K   d S rb   r?   rG   s    rA   wait_all_tasks_blockedz#AsyncBackend.wait_all_tasks_blockedp  r   rD   r0   c                    d S rb   r?   )r@   r<   s     rA   create_test_runnerzAsyncBackend.create_test_runneru  rg   rD   )
r6   r7   r8   r9   r:   r;   r<   r;   r=   r1   )r=   rE   )r=   rI   )r=   rL   )r=   rO   )r]   rI   r=   rO   )r_   rI   rY   r`   r=   r"   )r=   r/   )r=   r   )rj   r`   r=   r    )rn   ro   rm   rp   rj   r`   r=   r!   )rs   rI   r=   r   )FN)
r6   rv   r8   r9   rw   r`   rx   ry   r=   r1   )r6   r7   r8   r9   r   rE   r=   r1   )r6   rv   r8   r9   r   rE   r=   r1   )r=   r$   )r   r   r   r   r   r   r   r   r:   r   r=   r.   )r   r   r=   rO   rb   )r   r   r   ro   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   rO   r=   r,   )r   r   r   r   r=   r'   )r   r   r   r   r=   r   )r   r   r   r   r   r   r   r   r   ro   r   ro   r=   r   )r   )r   r(   r   ro   r=   r   )r   r   r=   rO   )r=   r   )r   r   r=   r   )r=   r#   )r=   r   )r<   r;   r=   r0   ).__name__
__module____qualname__classmethodr   rB   rH   rK   rN   rQ   rW   r\   r[   rU   rV   rZ   rT   rf   ri   rl   rr   ru   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?   rD   rA   r5   r5   8   s          ^ [(    ^ [    ^ [ U U U ^ [U    ^ [ 	# 	# 	# [	# 	 	 	 [	    ^ [ "&(5     ^ [
 
 
 
 ^ [
    ^ [    ^ [    ^ [ 
 !%"     ^ [    ^ [ 
 #(*.    ^ [    ^ [    ^ [    ^ [    ^ [ 	 	 	 ^ [	    ^ [ JN    ^ [
    ^ [    ^ [    ^ [    ^ [ ! ! ! X [! * * * X [*    ^ [
  '(!"     ^ [( 45    ^ [
    ^ [    ^ [    ^ [    ^ [
    ^ [    ^ [    ^ [    ^ [  rD   r5   )	metaclass)D
__future__r   rU   sysabcr   r   collections.abcr   r   r   r	   
contextlibr
   osr   signalr   r   r   r   typingr   r   r   r   r   r   version_infor   r   typing_extensionsr   	_typeshedr   _core._synchronizationr   r   r    r!   _core._tasksr"   _core._testingr#   from_threadr$   _socketsr&   r'   r(   r)   r*   r+   r,   r-   _subprocessesr.   _tasksr/   _testingr0   r1   r2   r   bytesr3   __annotations__r5   r?   rD   rA   <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w       ++++++ %######PPPPPPPPPPPP******)))))),,,,,,	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 '&&&&&!!!!!!$$$$$$7:<
##!#uo?P"PQ Q Q Q Q@ @ @ @ @W @ @ @ @ @ @rD   