o
    ni$                     @   sd   d Z ddlmZmZ ddlmZ ddlmZmZ ddl	m
Z
mZ er(ddlmZ G d	d
 d
e
ZdS )zZRouter - handle message router (sock).

Router to manage responses from a socket client.

    )TYPE_CHECKINGOptional   )Mailbox)
SockClientSockClientClosedError   )MessageRouterMessageRouterClosedError)wandb_internal_pb2c                       sX   e Zd ZU eed< eed< dededdf fddZded	 fd
dZdddZ	  Z
S )MessageSockRouter_sock_client_mailboxsock_clientmailboxreturnNc                    s   || _ t j|d d S )N)r   )r   super__init__)selfr   r   	__class__ ]/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/wandb/sdk/interface/router_sock.pyr      s   zMessageSockRouter.__init__z	pb.Resultc                 C   s8   z	| j jdd}W n	 ty   tw |sd S |j}|S )Nr   )timeout)r   read_server_responser   r
   result_communicate)r   respmsgr   r   r   _read_message   s   zMessageSockRouter._read_messagerecord	pb.Recordc                 C   s   | j | d S )N)r   send_record_communicate)r   r   r   r   r   _send_message#   s   zMessageSockRouter._send_message)r   r    r   N)__name__
__module____qualname__r   __annotations__r   r   r   r   r"   __classcell__r   r   r   r   r      s   
 
r   N)__doc__typingr   r   lib.mailboxr   lib.sock_clientr   r   routerr	   r
   wandb.protor   pbr   r   r   r   r   <module>   s    