
    vKg                        S SK Jr  S SKrS SKJr  SSKJr  SSKJrJ	r	  SSK
JrJrJr  SSKJrJr  \R"                  S	:X  d	  \(       a   eS
r " S S5      r\ " S S\	5      5       r\ " S S\5      5       rg)    )annotationsN)TYPE_CHECKING   )_core)ReceiveStream
SendStream)_handlekernel32raise_winerror)ConflictDetectorfinalwin32i   c                  F    \ rS rSrSS jr\S	S j5       rS
S jrS
S jrSr	g)_HandleHolder   c                    SU l         [        U[        5      (       d  [        S5      eXl         [        R
                  " U R                   5        g )Nzhandle must be an int)handle
isinstanceint	TypeErrorr   register_with_iocpselfr   s     S/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/trio/_windows_pipes.py__init___HandleHolder.__init__   s9    &#&&344  -    c                     U R                   S:H  $ Nr   r   r   s    r   closed_HandleHolder.closed   s    {{b  r   c                    U R                   (       a  g U R                  nSU l        [        R                  " [	        U5      5      (       d  [        5         g g r    )r#   r   r
   CloseHandler	   r   r   s     r   close_HandleHolder.close   s<    ;;##GFO44 5r   c                $    U R                  5         g N)r'   r"   s    r   __del___HandleHolder.__del__'   s    

r   r!   Nr   r   returnNone)r.   boolr.   r/   )
__name__
__module____qualname____firstlineno__r   propertyr#   r'   r+   __static_attributes__ r   r   r   r      s%    . ! !r   r   c                  J    \ rS rSrSrS
S jrSS jrSS jrSS jrSS jr	Sr
g	)PipeSendStream+   z\Represents a send stream over a Windows named pipe that has been
opened in OVERLAPPED mode.
c                D    [        U5      U l        [        S5      U l        g Nz)another task is currently using this piper   _handle_holderr   _conflict_detectorr   s     r   r   PipeSendStream.__init__1       +F3"27#
r   c                  #    U R                      U R                  R                  (       a  [        R                  " S5      eU(       d'  [        R
                  " 5       I S h  vN    S S S 5        g  [        R                  " U R                  R                  U5      I S h  vN nU[        U5      :X  d   e S S S 5        g  N] N!! [         a  n[        R                  UeS nAff = f! , (       d  f       g = f7f)Nthis pipe is already closed)r@   r?   r#   r   ClosedResourceError
checkpointwrite_overlappedr   BrokenPipeErrorBrokenResourceErrorlen)r   datawrittenexs       r   send_allPipeSendStream.send_all7   s     $$""))//0MNN&&((( %$8 % 6 6t7J7J7Q7QSW XX c$i''' %$
 ) Y" 8//R78 %$sk   C6AC% B>!C%&	C60.CC C#C%5	C6>C% C
C"CC""C%%
C3/C6c                   #    U R                      U R                  R                  (       a  [        R                  " S5      e[        R
                  " 5       I S h  vN   S S S 5        g  N! , (       d  f       g = f7f)NzThis pipe is already closed)r@   r?   r#   r   rE   rF   r"   s    r   wait_send_all_might_not_block,PipeSendStream.wait_send_all_might_not_blockI   sX     $$""))//0MNN ""$$$ %$
 % %$s/   A:A
A)A'A)	A:'A))
A73A:c                8    U R                   R                  5         g r*   r?   r'   r"   s    r   r'   PipeSendStream.closeQ       !!#r   c                j   #    U R                  5         [        R                  " 5       I S h  vN   g  N7fr*   r'   r   rF   r"   s    r   aclosePipeSendStream.acloseT         

      )313r@   r?   Nr-   )rK   bytesr.   r/   r1   )r2   r3   r4   r5   __doc__r   rN   rQ   r'   rY   r7   r8   r   r   r:   r:   +   s     
($%$!r   r:   c                  D    \ rS rSrSrS	S jrS
SS jjrSS jrSS jrSr	g)PipeReceiveStreamY   z3Represents a receive stream over an os.pipe object.c                D    [        U5      U l        [        S5      U l        g r=   r>   r   s     r   r   PipeReceiveStream.__init__]   rB   r   Nc                  #    U R                      U R                  R                  (       a  [        R                  " S5      eUc  [
        nO1[        U[        5      (       d  [        S5      eUS:  a  [        S5      e[        U5      n [        R                  " U R                  R                  U5      I S h  vN nX#S 2	 UsS S S 5        $  N! [         a[    U R                  R                  (       a  [        R                  " S5      S e[        R                  " 5       I S h  vN     S S S 5        gf = f! , (       d  f       g = f7f)NrD   zmax_bytes must be integer >= 1r   zanother task closed this piper   )r@   r?   r#   r   rE   DEFAULT_RECEIVE_SIZEr   r   r   
ValueError	bytearrayreadinto_overlappedr   rH   rF   )r   	max_bytesbuffersizes       r   receive_somePipeReceiveStream.receive_somec   s    $$""))//0MNN 0	!)S11#$DEEq=$%EFFy)F"66''.. , 5MK %$ # &&--337  &&(((E %$$% %$sf   EA8D4.C6C
7C;D4 
E
CAD1 D#!D1&D4'	E0D11D44
E>Ec                8    U R                   R                  5         g r*   rT   r"   s    r   r'   PipeReceiveStream.close   rV   r   c                j   #    U R                  5         [        R                  " 5       I S h  vN   g  N7fr*   rX   r"   s    r   rY   PipeReceiveStream.aclose   r[   r\   r]   r-   r*   )rj   z
int | Noner.   r^   r1   )
r2   r3   r4   r5   r_   r   rm   r'   rY   r7   r8   r   r   ra   ra   Y   s    =
&P$!r   ra   )
__future__r   systypingr    r   _abcr   r   _core._windows_cffir	   r
   r   _utilr   r   platformrf   r   r:   ra   r8   r   r   <module>r{      sz    " 
    + B B *
||wm 33  
 0 *!Z *! *!Z 6! 6! 6!r   