
    &`iX                     h    d dl mZmZmZ d dlZd dlmZ d dlmZm	Z	 d dl
mZmZ  G d d          ZdS )    )AnyDictOptionalN)TargetCapacityDirection)DeploymentConfigReplicaConfig)DeploymentInfor   c                   \   e Zd Z	 	 	 	 	 	 	 ddededededee         dee         d	ee         d
ededee	         dee
         fdZdeeef         fdZdeeef         ddfdZ	 	 	 	 ddededed
edd f
dZdee	         dee
         fdZdefdZed             Zedefd            Zd ZdS )r	   NFdeployment_configreplica_configstart_time_msdeployer_job_id
actor_nameversionend_time_msroute_prefixingresstarget_capacitytarget_capacity_directionc                     || _         || _        || _        || _        || _        || _        || _        d | _        || _        |	| _	        |
| _
        || _        d S N)r   r   r   r   r   r   r   _cached_actor_defr   r   r   r   )selfr   r   r   r   r   r   r   r   r   r   r   s               v/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/serve/_private/deployment_info.py__init__zDeploymentInfo.__init__   si     "3,*$.& "&(.)B&&&    returnc                 >    | j                                         }|d= |S )Nr   )__dict__copy)r   
clean_dicts     r   __getstate__zDeploymentInfo.__getstate__.   s$    ]''))
*+r   dc                 "    || _         d | _        d S r   )r   r   )r   r#   s     r   __setstate__zDeploymentInfo.__setstate__3   s    !%r   c                     t          |p| j        |p| j        | j        | j        | j        |p| j        | j        |p| j        | j	        | j
        | j                  S )N)r   r   r   r   r   r   r   r   r   r   r   )r	   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   s        r   updatezDeploymentInfo.update7   sn     /I43I)@T-@, 0+t|(%:):L 0&*&D
 
 
 	
r   new_target_capacitynew_target_capacity_directionc                 "    || _         || _        d S r   )r   r   )r   r(   r)   s      r   set_target_capacityz"DeploymentInfo.set_target_capacityL   s    
  3)F&&&r   c                     | j         |j         k    p2| j        j        |j        j        k    p|j        d u p| j        |j        k    S r   )r   r   ray_actor_optionsr   )r   others     r   config_changedzDeploymentInfo.config_changedT   sU    "e&== -"4#56- }$- |u},	
r   c           	          | j         O| j        J ddlm} t	          j        t          | j        |ft          |j                                      | _         | j         S )Nr   )ReplicaActor)	r   r   ray.serve._private.replicar1   rayremotetypedictr   )r   r1   s     r   	actor_defzDeploymentInfo.actor_def]   st    !)?... @????? &)ZO!O.// & &D" %%r   protoc           
         |j         rt          j        |j                   nd }|j        dk    r|j        nd }t	          j        |j                  }|dk    rd }nt          |          }|t          j        |j	        |r|
                                nd          |j        |j        dk    r|j        nd |j        dk    r|j        nd |j        dk    r|j        nd t          j                                                    ||d	} | di |S )NUNSETT r   )	r   r   r   r   r   r   r   r   r    )r   r   
from_protor   TargetCapacityDirectionProtoNamer   r   r   r   needs_pickler   r   r   r   r3   get_runtime_context
get_job_id)clsr8   r   r   r   datas         r   r>   zDeploymentInfo.from_protoq   sJ    &'(?@@@ 	 493HB3N3N%//TX$@$E+%
 %
! %//(,%%(?)) )%
 "3+6$4EO!..0004  #0.3.>".D.D%**$(-(;(;u}}050AQ0F0F5,,D"688CCEE.)B
 
 s{{T{{r   c                 V   | j         | j        | j        | j        d}| j        r| j                                        |d<   | j        r| j                                        |d<   | j        d|d<   n
| j        |d<   | j        t          j
        |d<   n| j        j        |d<   t          di |S )N)r   r   r   r   r   r   r:   r   r   r=   )r   r   r   r   r   to_protor   r   r   r?   r;   nameDeploymentInfoProto)r   rE   s     r   rG   zDeploymentInfo.to_proto   s    !//|+	
 
 ! 	J(,(>(G(G(I(ID$% 	D%)%8%A%A%C%CD!"'&(D"##&*&:D"#)10L0RD,--040N0SD,-"**T***r   )NNNNFNN)NNNN)__name__
__module____qualname__r   r   intstrr   boolfloatr   r   r   r   r"   r%   r'   r+   r/   propertyr7   classmethodrI   r>   rG   r=   r   r   r	   r	      s        %)!%%) +/GKC C+C &C 	C
 C SMC #C c]C C C "%C $,,C#DC C C CBd38n    
&d38n & & & & & /3(, 
 
+
 &
 	

 
 

 
 
 
*G%e_G (00G'HG G G G
t 
 
 
 
 & & X&& "2 " " " ["H+ + + + +r   r	   )typingr   r   r   r3   ray.serve._private.commonr   ray.serve._private.configr   r   ray.serve.generated.serve_pb2r	   rI   r?   r=   r   r   <module>rW      s    & & & & & & & & & & 



 = = = = = = E E E E E E E E       ]+ ]+ ]+ ]+ ]+ ]+ ]+ ]+ ]+ ]+r   