o
    `۷i                     @   sh   d dl mZmZ d dlmZ daedd ZG dd deZG dd	 d	eZG d
d deZ	dd Z
dS )    )ABCabstractmethod)contextmanagerNc                 c   s"    t }| a zd V  W |a d S |a w N)_current_server)rremote r	   Y/home/ubuntu/vllm_env/lib/python3.10/site-packages/ray/util/client/server/server_stubs.pycurrent_server   s   r   c                   @   s0   e Zd Zdd Zdd Zedd Zdd Zd	S )
ClientReferenceSentinelc                 C   s   || _ || _d S r   )	client_idid)selfr   r   r	   r	   r
   __init__   s   
z ClientReferenceSentinel.__init__c                 C   s,   |   }|d u r| j| j| jffS t|ffS r   )get_remote_obj	__class__r   r   identity)r   
remote_objr	   r	   r
   
__reduce__   s   
z"ClientReferenceSentinel.__reduce__c                 C   s   d S r   r	   )r   r	   r	   r
   r      s   z&ClientReferenceSentinel.get_remote_objc                 C   s6   t d u rd S t j| jd }|d u rd S || jd S r   )r   client_side_ref_mapgetr   r   )r   
client_mapr	   r	   r
   get_real_ref_from_server!   s   z0ClientReferenceSentinel.get_real_ref_from_serverN)__name__
__module____qualname__r   r   r   r   r   r	   r	   r	   r
   r      s    
r   c                   @      e Zd Zdd ZdS )ClientReferenceActorc                 C   $   |   }|d u r
d S t|| jd S r   )r   r   lookup_or_register_actorr   r   real_ref_idr	   r	   r
   r   ,      z#ClientReferenceActor.get_remote_objNr   r   r   r   r	   r	   r	   r
   r   +       r   c                   @   r   )ClientReferenceFunctionc                 C   r   r   )r   r   lookup_or_register_funcr   r!   r	   r	   r
   r   7   r#   z&ClientReferenceFunction.get_remote_objNr$   r	   r	   r	   r
   r&   6   r%   r&   c                 C   s   | S r   r	   )xr	   r	   r
   r   A   s   r   )abcr   r   
contextlibr   r   r   r   r   r&   r   r	   r	   r	   r
   <module>   s    

