o
    ni                     @   sX   d Z ddlmZ ddlmZ ddlmZ er"ddlmZ ddl	m
Z G d	d
 d
eZdS )z^Router - handle message router (relay).

Router to manage responses from a queue with relay.

    )TYPE_CHECKING   )Mailbox   )MessageQueueRouter)Queue)wandb_internal_pb2c                
       sJ   e Zd ZU ded< dddddddedd	f
 fd
dZd fddZ  ZS )MessageRelayRouterzQueue[pb.Result]_relay_queuerequest_queuezQueue[pb.Record]response_queuerelay_queuemailboxreturnNc                    s   || _ t j|||d d S )N)r   r   r   )r
   super__init__)selfr   r   r   r   	__class__ ^/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/wandb/sdk/interface/router_relay.pyr      s   
zMessageRelayRouter.__init__msg	pb.Resultc                    s(   |j jr| j| d S t | d S )N)controlrelay_idr
   putr   _handle_msg_rcv)r   r   r   r   r   r   !   s   z"MessageRelayRouter._handle_msg_rcv)r   r   r   N)__name__
__module____qualname____annotations__r   r   r   __classcell__r   r   r   r   r	      s   
 r	   N)__doc__typingr   lib.mailboxr   router_queuer   queuer   wandb.protor   pbr	   r   r   r   r   <module>   s    