
    JTh                         S SK r S SKrS SKrS SKJr   " S S5      r " S S\R                  R                  5      r " S S\R                  R                  5      r	g)	    N)ForkingPicklerc                   0    \ rS rSrSrS rS rS rS rSr	g)	ConnectionWrapper   z_Proxy class for _multiprocessing.Connection which uses ForkingPickler for object serialization.c                     Xl         g Nconn)selfr
   s     S/var/www/auris/envauris/lib/python3.13/site-packages/torch/multiprocessing/queue.py__init__ConnectionWrapper.__init__   s    	    c                     [         R                  " 5       n[        U[        R                  5      R                  U5        U R                  UR                  5       5        g r   )ioBytesIOr   pickleHIGHEST_PROTOCOLdump
send_bytesgetvalue)r   objbufs      r   sendConnectionWrapper.send   s:    jjlsF33499#>'r   c                 N    U R                  5       n[        R                  " U5      $ r   )
recv_bytesr   loads)r   r   s     r   recvConnectionWrapper.recv   s    oo||C  r   c                     SU R                   ;   a  [        U R                  U5      $ [        S[	        U 5      R
                   S35      e)Nr
   'z ' object has no attribute 'conn')__dict__getattrr
   AttributeErrortype__name__)r   names     r   __getattr__ConnectionWrapper.__getattr__   s?    T]]"499d++qd!4!4 55UVWWr   r	   N)
r'   
__module____qualname____firstlineno____doc__r   r   r   r)   __static_attributes__ r   r   r   r      s    i(
!Xr   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )Queue   c                    > [         TU ]  " U0 UD6  [        U R                  5      U l        [        U R                  5      U l        U R                  R
                  U l        U R                  R                  U l        g r   )	superr   r   _reader_writerr   _sendr   _recv)r   argskwargs	__class__s      r   r   Queue.__init__   sW    $)&)*;DLL*I*;DLL*I\\&&
\\&&
r   )r6   r9   r8   r7   )r'   r+   r,   r-   r   r/   __classcell__r<   s   @r   r2   r2      s    ' 'r   r2   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )SimpleQueue&   c                    > [        U R                  [        5      (       d4  [        U R                  5      U l        [        U R                  5      U l        [        TU ]  5         g r   )
isinstancer6   r   r7   r5   _make_methods)r   r<   s    r   rE   SimpleQueue._make_methods'   s@    $,,(9::.?.MDL.?.MDLr   )r6   r7   )r'   r+   r,   r-   rE   r/   r>   r?   s   @r   rA   rA   &   s       r   rA   )
r   multiprocessing.queuesmultiprocessingr   multiprocessing.reductionr   r   queuesr2   rA   r0   r   r   <module>rK      sM    	   4X X*'O""(( ' /((44  r   