
    /j
                    d   S SK Jr  S SKrS SKrS SKJrJrJrJr  SSK	J
r
   " S S\5      r\ " S S	\\5      5       r\\\\   4   rSS
 jrSS jr      S S jrS!S jrS"S jrS#S jrS$S jrS%S jrS&S jrS'S jrS(S jrS)S jrS*S jrS+S jrS,S jrS-S jr S.S jr!S-S jr"S/S jr#S)S jr$g)0    )annotationsN)ClassVarProtocolcastruntime_checkable   )utilsc                       \ rS rSr% S\S'   Srg)Message
   zClassVar[int]MSG_ID N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r       K/app/agent/.venv/lib/python3.13/site-packages/livekit/agents/ipc/channel.pyr   r   
   s    r   r   c                  (    \ rS rSrSS jrSS jrSrg)DataMessage   c                    g Nr   selfbs     r   writeDataMessage.write   s    Cr   c                    g r   r   r   s     r   readDataMessage.read   s    3r   r   N)r   
io.BytesIOreturnNone)r   r   r   r   r   r"   r   r   r   r   r   r      s    /.r   r   c                    [         R                  " U 5      n[        U5      nX   " 5       n[        U[        5      (       a  UR                  U5        U$ r   )ioBytesIOread_int
isinstancer   r"   )datamessagesbiomsg_idmsgs        r   _read_messager1      sA    
**T
Cc]F


C#{##Jr   c                    [         R                  " 5       n[        XR                  5        [	        U [
        5      (       a  U R                  U5        UR                  5       $ r   )r(   r)   	write_intr   r+   r   r   getvalue)r0   r.   s     r   _write_messager5   "   s=    
**,Cc::#{##		#<<>r   c                R   #    [        U R                  5       I S h  vN U5      $  N	7fr   r1   
recv_bytesdplxr-   s     r   arecv_messager;   ,   s!      t00(;;0s   '%
'c                T   #    U R                  [        U5      5      I S h  vN   g  N7fr   
send_bytesr5   r:   r0   s     r   asend_messager@   2   s     
//.-
...s   (&(c                6    [        U R                  5       U5      $ r   r7   r9   s     r   recv_messagerB   6   s    *H55r   c                8    U R                  [        U5      5        g r   r=   r?   s     r   send_messagerD   :   s    OON3'(r   c                z    U R                  [        U5      R                  SS5      5        U R                  U5        g N   big)r   lento_bytes)r   bufs     r   write_bytesrL   >   s*    GGCHa'(GGCLr   c                n    [         R                  U R                  S5      S5      nU R                  U5      $ rF   int
from_bytesr"   r   lengths     r   
read_bytesrS   C   s(    ^^AFF1Iu-F66&>r   c                    UR                  S5      nU R                  [        U5      R                  SS5      5        U R                  U5        g )Nutf-8rG   rH   )encoder   rI   rJ   )r   sencodeds      r   write_stringrY   H   s9    hhwGGGCL!!!U+,GGGr   c                    [         R                  U R                  S5      S5      nU R                  U5      R                  S5      $ )NrG   rH   rU   )rO   rP   r"   decoderQ   s     r   read_stringr\   N   s3    ^^AFF1Iu-F66&>  ))r   c                D    U R                  UR                  SSSS95        g NrG   rH   T)signedr   rJ   )r   is     r   r3   r3   S   s    GGAJJq%J-.r   c                J    [         R                  U R                  S5      SSS9$ r^   rN   r   s    r   r*   r*   W   s    >>!&&)U4>88r   c                F    U R                  UR                  SS5      5        g N   rH   r`   )r   bis     r   
write_boolrh   [   s    GGBKK5!"r   c                L    [         R                  U R                  S5      S5      $ re   )boolrP   r"   rc   s    r   	read_boolrk   _   s    ??166!9e,,r   c                P    U R                  [        R                  " SU5      5        g )Nfr   structpack)r   rm   s     r   write_floatrq   c       GGFKKQ r   c           	     p    [        [        [        R                  " SU R	                  S5      5      S   5      $ )Nrm   rG   r   r   floatro   unpackr"   rc   s    r   
read_floatrw   g   '    v}}S!&&)4Q788r   c                P    U R                  [        R                  " SU5      5        g )Ndrn   )r   rz   s     r   write_doubler{   k   rr   r   c           	     p    [        [        [        R                  " SU R	                  S5      5      S   5      $ )Nrz      r   rt   rc   s    r   read_doubler~   o   rx   r   c                F    U R                  UR                  SS5      5        g Nr}   rH   r`   )r   longs     r   
write_longr   s   s    GGDMM!U#$r   c                L    [         R                  U R                  S5      S5      $ r   rN   rc   s    r   	read_longr   w   s    >>!&&)U++r   )r,   bytesr-   MessagesDictr%   r   )r0   r   r%   r   )r:   "utils.aio.duplex_unix._AsyncDuplexr-   r   r%   r   )r:   r   r0   r   r%   r&   )r:   utils.aio.duplex_unix._Duplexr-   r   r%   r   )r:   r   r0   r   r%   r&   )r   r$   rK   r   r%   r&   )r   r$   r%   r   )r   r$   rW   strr%   r&   )r   r$   r%   r   )r   r$   ra   rO   r%   r&   )r   r$   r%   rO   )r   r$   rg   rj   r%   r&   )r   r$   r%   rj   )r   r$   rm   ru   r%   r&   )r   r$   r%   ru   )r   r$   rz   ru   r%   r&   )r   r$   r   rO   r%   r&   )%
__future__r   r(   ro   typingr   r   r   r    r	   r   r   dictrO   typer   r1   r5   r;   r@   rB   rD   rL   rS   rY   r\   r3   r*   rh   rk   rq   rw   r{   r~   r   r   r   r   r   <module>r      s    " 	  > > h  /'8 / / Cg&'<
,<8D<</6)

*
/9#-!9!9%,r   