o
    ni                     @   s   d Z ddlZddlmZ ddlmZmZ ddlmZ	 ddl
mZ dd	lmZ dd
lmZ er4ddlmZ edZG dd deZdS )zInterfaceRelay - Derived from InterfaceQueue using RelayRouter to preserve uuid req/resp.

See interface.py for how interface classes relate to each other.

    N)BaseProcess)TYPE_CHECKINGOptional)wandb_internal_pb2   )Mailbox   )InterfaceQueue)MessageRelayRouter)Queuewandbc                       sv   e Zd ZU eed< ed ed< 					ddeded d	ed ded d
ee deddf fddZdddZ	  Z
S )InterfaceRelay_mailboxzQueue[pb.Result]relay_qNTmailboxrecord_qzQueue[pb.Record]result_qprocessprocess_checkreturnc                    s    || _ t j|||||d d S )N)r   r   r   r   r   )r   super__init__)selfr   r   r   r   r   r   	__class__ a/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/wandb/sdk/interface/interface_relay.pyr      s   	
zInterfaceRelay.__init__c                 C   s<   | j r| jr| jrt| j | j| j| jd| _d S d S d S d S )N)request_queueresponse_queuerelay_queuer   )r   r   r   r
   r   _router)r   r   r   r   _init_router.   s   zInterfaceRelay._init_router)NNNNT)r   N)__name__
__module____qualname__r   __annotations__r   r   boolr   r!   __classcell__r   r   r   r   r      s0   
 r   )__doc__loggingmultiprocessing.processr   typingr   r   wandb.protor   pblib.mailboxr   interface_queuer	   router_relayr
   queuer   	getLoggerloggerr   r   r   r   r   <module>   s    
