o
    ©¼–iæ
  ã                   @  sB  d dl mZ d dlZd dlZd dlmZmZmZmZ ddl	m
Z
 G dd„ deƒZeG dd	„ d	eeƒƒZeeee f ZdIdd„ZdJdd„ZdKdd„ZdLdd„ZdMdd„ZdNdd„ZdOd#d$„ZdPd%d&„ZdQd)d*„ZdRd+d,„ZdSd/d0„ZdTd1d2„ZdUd5d6„ZdVd7d8„ZdWd;d<„ZdXd=d>„Z dYd@dA„Z!dXdBdC„Z"dZdEdF„Z#dTdGdH„Z$dS )[é    )ÚannotationsN)ÚClassVarÚProtocolÚcastÚruntime_checkableé   )Úutilsc                   @  s   e Zd ZU ded< dS )ÚMessagezClassVar[int]ÚMSG_IDN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© r   r   ú\/var/www/html/livekit_bhavya/venv/lib/python3.10/site-packages/livekit/agents/ipc/channel.pyr	   
   s   
 r	   c                   @  s    e Zd Zd
dd„Zd
dd„Zd	S )ÚDataMessageÚbú
io.BytesIOÚreturnÚNonec                 C  ó   d S ©Nr   ©Úselfr   r   r   r   Úwrite   ó    zDataMessage.writec                 C  r   r   r   r   r   r   r   Úread   r   zDataMessage.readN)r   r   r   r   )r   r   r   r   r   r   r   r   r   r      s    
r   ÚdataÚbytesÚmessagesÚMessagesDictr   c                 C  s4   t  | ¡}t|ƒ}|| ƒ }t|tƒr| |¡ |S r   )ÚioÚBytesIOÚread_intÚ
isinstancer   r   )r   r   ÚbioÚmsg_idÚmsgr   r   r   Ú_read_message   s   



r(   r'   c                 C  s0   t  ¡ }t|| jƒ t| tƒr|  |¡ | ¡ S r   )r!   r"   Ú	write_intr
   r$   r   r   Úgetvalue)r'   r%   r   r   r   Ú_write_message"   s
   

r+   Údplxú"utils.aio.duplex_unix._AsyncDuplexc                 Ã  s   t |  ¡ I d H |ƒS r   ©r(   Ú
recv_bytes©r,   r   r   r   r   Úarecv_message,   s   €r1   r   c                 Ã  s   |   t|ƒ¡I d H  d S r   ©Ú
send_bytesr+   ©r,   r'   r   r   r   Úasend_message2   s   €r5   úutils.aio.duplex_unix._Duplexc                 C  s   t |  ¡ |ƒS r   r.   r0   r   r   r   Úrecv_message6   s   r7   c                 C  s   |   t|ƒ¡ d S r   r2   r4   r   r   r   Úsend_message:   ó   r8   r   r   Úbufc                 C  s$   |   t|ƒ dd¡¡ |   |¡ d S ©Né   Úbig)r   ÚlenÚto_bytes)r   r:   r   r   r   Úwrite_bytes>   s   r@   c                 C  s   t  |  d¡d¡}|  |¡S r;   ©ÚintÚ
from_bytesr   ©r   Úlengthr   r   r   Ú
read_bytesC   s   
rF   ÚsÚstrc                 C  s.   |  d¡}|  t|ƒ dd¡¡ |  |¡ d S )Núutf-8r<   r=   )Úencoder   r>   r?   )r   rG   Úencodedr   r   r   Úwrite_stringH   s   
rL   c                 C  s"   t  |  d¡d¡}|  |¡ d¡S )Nr<   r=   rI   )rB   rC   r   ÚdecoderD   r   r   r   Úread_stringN   s   rN   ÚirB   c                 C  s   |   |jdddd¡ d S ©Nr<   r=   T)Úsigned©r   r?   )r   rO   r   r   r   r)   S   s   r)   c                 C  s   t j|  d¡dddS rP   rA   ©r   r   r   r   r#   W   ó   r#   ÚbiÚboolc                 C  ó   |   | dd¡¡ d S ©Né   r=   rR   )r   rU   r   r   r   Ú
write_bool[   rT   rZ   c                 C  ó   t  |  d¡d¡S rX   )rV   rC   r   rS   r   r   r   Ú	read_bool_   r9   r\   ÚfÚfloatc                 C  ó   |   t d|¡¡ d S )Nr]   ©r   ÚstructÚpack)r   r]   r   r   r   Úwrite_floatc   rT   rc   c                 C  ó   t tt d|  d¡¡d ƒS )Nr]   r<   r   ©r   r^   ra   Úunpackr   rS   r   r   r   Ú
read_floatg   ó   rg   Údc                 C  r_   )Nri   r`   )r   ri   r   r   r   Úwrite_doublek   rT   rj   c                 C  rd   )Nri   é   r   re   rS   r   r   r   Úread_doubleo   rh   rl   Úlongc                 C  rW   ©Nrk   r=   rR   )r   rm   r   r   r   Ú
write_longs   rT   ro   c                 C  r[   rn   rA   rS   r   r   r   Ú	read_longw   r9   rp   )r   r   r   r    r   r	   )r'   r	   r   r   )r,   r-   r   r    r   r	   )r,   r-   r'   r	   r   r   )r,   r6   r   r    r   r	   )r,   r6   r'   r	   r   r   )r   r   r:   r   r   r   )r   r   r   r   )r   r   rG   rH   r   r   )r   r   r   rH   )r   r   rO   rB   r   r   )r   r   r   rB   )r   r   rU   rV   r   r   )r   r   r   rV   )r   r   r]   r^   r   r   )r   r   r   r^   )r   r   ri   r^   r   r   )r   r   rm   rB   r   r   )%Ú
__future__r   r!   ra   Útypingr   r   r   r   Ú r   r	   r   ÚdictrB   Útyper    r(   r+   r1   r5   r7   r8   r@   rF   rL   rN   r)   r#   rZ   r\   rc   rg   rj   rl   ro   rp   r   r   r   r   Ú<module>   s:    




















