o
    $i^                     @   sJ   d dl mZ d dlmZ erd dlmZmZ d dlmZ G dd dZ	dS )    )SimpleNamespace)TYPE_CHECKING)JobIDNodeIDRuntimeContextc                   @   s   e Zd ZdZdd ZdddZdd	 Zed
d ZedddZ	edddZ
edefddZedefddZedefddZdefddZedefddZdS ) _ClientWorkerPropertyAPIzHEmulates the properties of the ray._private.worker object for the clientc                 C   s   |d usJ || _ d S N)worker)selfr
    r   \/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/ray/util/client/runtime_context.py__init__   s   
z!_ClientWorkerPropertyAPI.__init__returnr   c                 C   s   ddl m} || S )z=Creates a RuntimeContext backed by the properites of this APIr   r   )ray.runtime_contextr   )r   r   r   r   r   build_runtime_context   s   z._ClientWorkerPropertyAPI.build_runtime_contextc                 C   s(   dd l m  m  m} | j|jjS )Nr   )!ray.core.generated.ray_client_pb2core	generatedray_client_pb2r
   get_cluster_infoClusterInfoTypeRUNTIME_CONTEXT)r   r   r   r   r   _fetch_runtime_context   s   z/_ClientWorkerPropertyAPI._fetch_runtime_contextc                 C   s   ddl m} |S )Nr   )SCRIPT_MODE)ray._private.workerr   )r   r   r   r   r   mode   s   z_ClientWorkerPropertyAPI.moder   c                 C      ddl m} ||  jS )Nr   )r   )rayr   r   job_id)r   r   r   r   r   current_job_id$      z'_ClientWorkerPropertyAPI.current_job_idr   c                 C   r   )Nr   )r   )r   r   r   node_id)r   r   r   r   r   current_node_id*   r!   z(_ClientWorkerPropertyAPI.current_node_idc                 C   
   |   jS r	   )r   	namespacer   r   r   r   r%   0      
z"_ClientWorkerPropertyAPI.namespacec                 C   r$   r	   )r   capture_client_tasksr&   r   r   r   -should_capture_child_tasks_in_placement_group4   r'   zF_ClientWorkerPropertyAPI.should_capture_child_tasks_in_placement_groupc                 C   r$   r	   )r   runtime_envr&   r   r   r   r*   8   r'   z$_ClientWorkerPropertyAPI.runtime_envc                 C   s
   | j  S r	   )r
   ping_serverr&   r   r   r   check_connected<   s   
z(_ClientWorkerPropertyAPI.check_connectedc                 C   s   t |  jdS )N)address)r   r   gcs_addressr&   r   r   r   
gcs_client?   s   z#_ClientWorkerPropertyAPI.gcs_clientN)r   r   )r   r   )r   r   )__name__
__module____qualname____doc__r   r   r   propertyr   r    r#   strr%   boolr)   r*   r,   r/   r   r   r   r   r   	   s(    

r   N)
typesr   typingr   r   r   r   r   r   r   r   r   r   r   <module>   s    