
    Q}bgq'                       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
 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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rFd dlmZ ddl 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,m-Z-m.Z.m/Z/m0Z0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7  ed          Z8 ed          Z9 G d de          Z:dS )    )annotationsN)ABCMetaabstractmethod)AsyncIterator	AwaitableMapping)PathLike)Signals)AddressFamily
SocketKindsocket)IOTYPE_CHECKINGAnyCallableContextManagerSequenceTypeVaroverload)      )TypeVarTupleUnpack)Literal   )CapacityLimiterEvent)CancelScope)TaskInfo)BlockingPortal   )ConnectedUDPSocketConnectedUNIXDatagramSocketIPSockAddrTypeSocketListenerSocketStream	UDPSocketUNIXDatagramSocketUNIXSocketStream)Process)	TaskGroup)
TestRunnerT_RetvalPosArgsTc                  x   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	 	 ddd+                        Zeedd,                        Zeedd.                        Zeedd/                        Zeedd1                        Zeed&d&dd2ddA                        Zeed&d&dd2ddD                        Zeed&d&dd2ddF                        ZeeddI                        Zee	 dddQ                        ZeeddT                        ZeeddX                        ZeeddY                        Zeedd_                        Z eeddc                        Z!eedde                        Z!eeddh                        Z!eedididididjdds                        Z"ee	 dddw                        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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 )clsr1   r3   r5   r7   s        g/home/e360mart.nyusoft.in/public_html/e360mart_env/lib/python3.11/site-packages/anyio/abc/_eventloop.pyrunzAsyncBackend.run4             objectc                    dS )z

        :return:
        Nr:   r;   s    r<   current_tokenzAsyncBackend.current_tokenJ   r>   r?   floatc                    dS )zz
        Return the current value of the event loop's internal clock.

        :return: the clock value (seconds)
        Nr:   rB   s    r<   current_timezAsyncBackend.current_timeR   r>   r?   type[BaseException]c                    dS )zFReturn the exception class that is raised in a task if it's cancelled.Nr:   rB   s    r<   cancelled_exception_classz&AsyncBackend.cancelled_exception_class[   r>   r?   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:   rB   s    r<   
checkpointzAsyncBackend.checkpoint`   
        r?   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infrL   rB   s    r<   checkpoint_if_cancelledz$AsyncBackend.checkpoint_if_cancelledj   sS       ))++y88..""""""""""" 98r?   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sleeprB   s    r<   cancel_shielded_checkpointz'AsyncBackend.cancel_shielded_checkpointv   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;   rX   s     r<   rV   zAsyncBackend.sleep   rM   r?   F)deadlinerT   rZ   rT   boolr   c                   d S Nr:   )r;   rZ   rT   s      r<   rU   z AsyncBackend.create_cancel_scope   	    
 	r?   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:   rB   s    r<   rO   z'AsyncBackend.current_effective_deadline   r>   r?   r+   c                    d S r]   r:   rB   s    r<   create_task_groupzAsyncBackend.create_task_group   	     	r?   r   c                    d S r]   r:   rB   s    r<   create_eventzAsyncBackend.create_event   rb   r?   total_tokensr   c                    d S r]   r:   )r;   re   s     r<   create_capacity_limiterz$AsyncBackend.create_capacity_limiter   rb   r?   N&Callable[[Unpack[PosArgsT]], T_Retval]abandon_on_cancellimiterCapacityLimiter | Nonec                
   K   d S r]   r:   )r;   r1   r3   ri   rj   s        r<   run_sync_in_worker_threadz&AsyncBackend.run_sync_in_worker_thread          	r?   c                    d S r]   r:   rB   s    r<   check_cancelledzAsyncBackend.check_cancelled   rb   r?   tokenc                    d S r]   r:   r;   r1   r3   rq   s       r<   run_async_from_threadz"AsyncBackend.run_async_from_thread   	     	r?   c                    d S r]   r:   rs   s       r<   run_sync_from_threadz!AsyncBackend.run_sync_from_thread   ru   r?   r    c                    d S r]   r:   rB   s    r<   create_blocking_portalz#AsyncBackend.create_blocking_portal   rb   r?   )cwdenvstart_new_sessioncommandstr | bytesshellLiteral[True]stdinint | IO[Any] | Nonestdoutstderrrz   "str | bytes | PathLike[str] | Noner{   Mapping[str, str] | Noner|   r*   c               
   K   d S r]   r:   	r;   r}   r   r   r   r   rz   r{   r|   s	            r<   open_processzAsyncBackend.open_process          	r?   Sequence[str | bytes]Literal[False]c               
   K   d S r]   r:   r   s	            r<   r   zAsyncBackend.open_process   r   r?   #str | bytes | Sequence[str | bytes]c               
   K   d S r]   r:   r   s	            r<   r   zAsyncBackend.open_process   r   r?   workersset[Process]c                    d S r]   r:   )r;   r   s     r<   #setup_process_pool_exit_at_shutdownz0AsyncBackend.setup_process_pool_exit_at_shutdown  rb   r?   hoststrportintlocal_addressIPSockAddrType | Noner&   c                
   K   d S r]   r:   )r;   r   r   r   s       r<   connect_tcpzAsyncBackend.connect_tcp        
 	r?   pathr)   c                
   K   d S r]   r:   )r;   r   s     r<   connect_unixzAsyncBackend.connect_unix         	r?   sockr   r%   c                    d S r]   r:   r;   r   s     r<   create_tcp_listenerz AsyncBackend.create_tcp_listener  rb   r?   c                    d S r]   r:   r   s     r<   create_unix_listenerz!AsyncBackend.create_unix_listener  rb   r?   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#  rn   r?   
raw_socketremote_pathr(   c                
   K   d S r]   r:   r;   r   r   s      r<   create_unix_datagram_socketz(AsyncBackend.create_unix_datagram_socket.        
 	r?   r#   c                
   K   d S r]   r:   r   s      r<   r   z(AsyncBackend.create_unix_datagram_socket5  r   r?   str | bytes | None0UNIXDatagramSocket | ConnectedUNIXDatagramSocketc                
   K   d S r]   r:   r   s      r<   r   z(AsyncBackend.create_unix_datagram_socket<  r   r?   r   )r   typeprotoflagsbytes | str | Nonestr | int | Noneint | AddressFamilyr   int | SocketKindr   r   ]list[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int]]]c               
   K   d S r]   r:   )r;   r   r   r   r   r   r   s          r<   getaddrinfozAsyncBackend.getaddrinfoC  s      ( 	r?   sockaddrr$   tuple[str, str]c                
   K   d S r]   r:   )r;   r   r   s      r<   getnameinfozAsyncBackend.getnameinfoY  r   r?   c                
   K   d S r]   r:   r   s     r<   wait_socket_readablez!AsyncBackend.wait_socket_readable`  r   r?   c                
   K   d S r]   r:   r   s     r<   wait_socket_writablez!AsyncBackend.wait_socket_writablee  r   r?   c                    d S r]   r:   rB   s    r<   current_default_thread_limiterz+AsyncBackend.current_default_thread_limiterj  rb   r?   signalsr
   &ContextManager[AsyncIterator[Signals]]c                    d S r]   r:   )r;   r   s     r<   open_signal_receiverz!AsyncBackend.open_signal_receivero  r^   r?   r   c                    d S r]   r:   rB   s    r<   get_current_taskzAsyncBackend.get_current_taskv  rb   r?   list[TaskInfo]c                    d S r]   r:   rB   s    r<   get_running_taskszAsyncBackend.get_running_tasks{  rb   r?   c                
   K   d S r]   r:   rB   s    r<   wait_all_tasks_blockedz#AsyncBackend.wait_all_tasks_blocked  r   r?   r,   c                    d S r]   r:   )r;   r7   s     r<   create_test_runnerzAsyncBackend.create_test_runner  rb   r?   )
r1   r2   r3   r4   r5   r6   r7   r6   r8   r-   )r8   r@   )r8   rD   )r8   rG   )r8   rJ   )rX   rD   r8   rJ   )rZ   rD   rT   r[   r8   r   )r8   r+   )r8   r   )re   rD   r8   r   )FN)
r1   rh   r3   r4   ri   r[   rj   rk   r8   r-   )r1   r2   r3   r4   rq   r@   r8   r-   )r1   rh   r3   r4   rq   r@   r8   r-   )r8   r    )r}   r~   r   r   r   r   r   r   r   r   rz   r   r{   r   r|   r[   r8   r*   )r}   r   r   r   r   r   r   r   r   r   rz   r   r{   r   r|   r[   r8   r*   )r}   r   r   r[   r   r   r   r   r   r   rz   r   r{   r   r|   r[   r8   r*   )r   r   r8   rJ   r]   )r   r   r   r   r   r   r8   r&   )r   r~   r8   r)   )r   r   r8   r%   )
r   r   r   r   r   r   r   r[   r8   r   )r   r   r   rJ   r8   r(   )r   r   r   r~   r8   r#   )r   r   r   r   r8   r   )r   r   r   r   r   r   r   r   r   r   r   r   r8   r   )r   )r   r$   r   r   r8   r   )r   r   r8   rJ   )r8   r   )r   r
   r8   r   )r8   r   )r8   r   )r7   r6   r8   r,   ),__name__
__module____qualname__classmethodr   r=   rC   rF   rI   rL   rR   rW   rV   rP   rQ   rU   rO   ra   rd   rg   rm   rp   rt   rw   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r:   r?   r<   r0   r0   3   s          ^ [(    ^ [    ^ [ U U U ^ [U    ^ [ 	# 	# 	# [	# 	 	 	 [	    ^ [ "&(5     ^ [
 
 
 
 ^ [
    ^ [    ^ [    ^ [ 
 #(*.    ^ [    ^ [    ^ [    ^ [    ^ [  37(,"'     X [  37(,"'     X [  37(,"'     ^ [    ^ [ JN    ^ [
    ^ [    ^ [    ^ [    ^ [    X [
    X [
    ^ [
  '(!"     ^ [( 45    ^ [
    ^ [    ^ [    ^ [    ^ [
    ^ [    ^ [    ^ [    ^ [  r?   r0   )	metaclass);
__future__r   rP   sysabcr   r   collections.abcr   r   r   osr	   signalr
   r   r   r   typingr   r   r   r   r   r   r   r   version_infor   r   typing_extensionsr   _core._synchronizationr   r   _core._tasksr   _core._testingr   from_threadr    _socketsr"   r#   r$   r%   r&   r'   r(   r)   _subprocessesr*   _tasksr+   _testingr,   r-   r.   r0   r:   r?   r<   <module>r      s   " " " " " "  



 ' ' ' ' ' ' ' ' = = = = = = = = = =             4 4 4 4 4 4 4 4 4 4	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 w+++++++++66666666 %????????******)))))),,,,,,	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 '&&&&&!!!!!!$$$$$$7:<
##U U U U UW U U U U U Ur?   