o
    $i3                  	   @   s   d dl Z d dlZd dlZd dlmZ d dlZd dlmZ edZedZ	G dd de j
Z	dd	ed
ededefddZded	edefddZd	ededefddZd	edededejfddZdS )    N)TypeVar)validate_socket_filepathKVc                   @   s   e Zd ZdZdZdZdS )ResponseTypehttpstream	websocketN)__name__
__module____qualname__HTTPSTREAM	WEBSOCKET r   r   ]/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/ray/dashboard/subprocesses/utils.pyr      s    r    module_namelogging_filename	extensionreturnc                 C   s2   |sdS t j|\}}|s|}| d|  | S )a  
    Parse logging_filename = STEM EXTENSION,
    return STEM _ MODULE_NAME _ EXTENSION

    If logging_filename is empty, return empty string.
    If extension is empty, use the extension from logging_filename.

    Example:
    module_name = "TestModule"
    logging_filename = "dashboard.log"
    STEM = "dashboard"
    EXTENSION = ".log"
    return "dashboard_TestModule.log"
    r   _)ospathsplitext)r   r   r   stemextr   r   r   module_logging_filename   s   r   
socket_dirc                 C   s   t j| d| }t| |S )Ndash_)r   r   joinr   )r   r   socket_pathr   r   r   get_socket_path-   s   r"   session_namec                 C   s   d|  d | S )Nz\\.\pipe\dash_r   r   )r   r#   r   r   r   get_named_pipe_path3   s   r$   c                 C   s@   t jdkrt| |}t|}n
t|| }t|}tj|dS )zG
    Get the aiohttp http client session to the subprocess module.
    win32)	connector)sysplatformr$   aiohttpNamedPipeConnectorr"   UnixConnectorClientSession)r   r   r#   named_pipe_pathr&   r!   r   r   r   get_http_session_to_module7   s   



r.   )r   )enumr   r'   typingr   r)   ray._private.utilsr   r   r   Enumr   strr   r"   r$   r,   r.   r   r   r   r   <module>   s<    
