o
    xi                     @  s   d dl mZ d dlZd dlmZ d dlm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 d dlmZ edZG dd deZdS )    )annotationsN)TYPE_CHECKING)override)wandb_server_pb2)asyncio_manager   )InterfaceShared)wandb_internal_pb2)ServiceClient)MailboxHandlewandbc                      sX   e Zd Zd fd	d
ZdddZedddddZedddZedddZ  Z	S )InterfaceSockasyncerasyncio_manager.AsyncioManagerclientr
   	stream_idstrreturnNonec                   s    t    || _|| _|| _d S N)super__init___asyncer_client
_stream_id)selfr   r   r   	__class__ V/home/ubuntu/.local/lib/python3.10/site-packages/wandb/sdk/interface/interface_sock.pyr      s   

zInterfaceSock.__init__record	pb.Recordc                 C  s   | j |j_d S r   )r   _infor   r   r    r   r   r   _assign"   s   zInterfaceSock._assignF)nowaitr%   boolc                  sV    | t   j| |rj fdd d S j fdd d S )Nc                        j  S r   r   publishr   requestr   r   r   <lambda>,       z(InterfaceSock._publish.<locals>.<lambda>c                     r'   r   r(   r   r*   r   r   r,   .   r-   )r$   spbServerRequestrecord_publishCopyFromr   run_soonrun)r   r    r%   r   r*   r   _publish%   s   
zInterfaceSock._publishMailboxHandle[pb.Result]c                   s   j  fddS )Nc                     s
     S r   )deliver_asyncr   r    r   r   r   r,   2   s   
 z(InterfaceSock._deliver.<locals>.<lambda>)r   r3   r#   r   r7   r   _deliver0   s   zInterfaceSock._deliverc                   s@   |  | t }|j| | j|I d H }|dd S )Nc                 S  s   | j S r   )result_communicate)responser   r   r   r,   ;   s    z-InterfaceSock.deliver_async.<locals>.<lambda>)r$   r.   r/   r0   r1   r   delivermap)r   r    r+   handler   r   r   r6   4   s   
zInterfaceSock.deliver_async)r   r   r   r
   r   r   r   r   )r    r!   r   r   )r    r!   r%   r&   r   r   )r    r!   r   r5   )
__name__
__module____qualname__r   r$   r   r4   r8   r6   __classcell__r   r   r   r   r      s    

r   )
__future__r   loggingtypingr   typing_extensionsr   wandb.protor   r.   wandb.sdk.libr   interface_sharedr   r	   pb$wandb.sdk.lib.service.service_clientr
   wandb.sdk.mailboxr   	getLoggerloggerr   r   r   r   r   <module>   s    
