o
    $i                     @   s   d dl mZ d dlmZ d dlmZ d dlmZ eddG dd deZ	ed	dG d
d de	Z
ed	dG dd de	eZed	dG dd de	ZdS )    )Optional)TaskCancelledError)DeploymentID)	PublicAPIstable)	stabilityc                   @   s   e Zd ZdS )RayServeExceptionN)__name__
__module____qualname__ r   r   Q/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/ray/serve/exceptions.pyr      s    r   alphac                       sJ   e Zd ZdZdedef fddZdefddZedefd	d
Z	  Z
S )BackPressureErrorzBRaised when max_queued_requests is exceeded on a DeploymentHandle.num_queued_requestsmax_queued_requestsc                    s&   t  || d| d| d| _d S )Nz9Request dropped due to backpressure (num_queued_requests=z, max_queued_requests=z).)super__init___message)selfr   r   	__class__r   r   r      s   zBackPressureError.__init__returnc                 C      | j S Nr   r   r   r   r   __str__   s   zBackPressureError.__str__c                 C   r   r   r   r   r   r   r   message   s   zBackPressureError.message)r	   r
   r   __doc__intr   strr   propertyr   __classcell__r   r   r   r   r      s    r   c                   @   s,   e Zd ZdZddee fddZdd ZdS )	RequestCancelledErrorz(Raise when a Serve request is cancelled.N
request_idc                 C   
   || _ d S r   _request_id)r   r%   r   r   r   r   %      
zRequestCancelledError.__init__c                 C   s   | j r
d| j  dS dS )NzRequest z was cancelled.zRequest was cancelled.r'   r   r   r   r   r   (   s   zRequestCancelledError.__str__r   )r	   r
   r   r   r   r!   r   r   r   r   r   r   r$   !   s    r$   c                   @   s0   e Zd ZdZdefddZedefddZdS )	DeploymentUnavailableErrorzRaised when a Serve deployment is unavailable to receive requests.

    Currently this happens because the deployment failed to deploy.
    deployment_idc                 C   r&   r   _deployment_id)r   r+   r   r   r   r   6   r)   z#DeploymentUnavailableError.__init__r   c                 C   s   | j  dS )Nz, is unavailable because it failed to deploy.r,   r   r   r   r   r   9   s   z"DeploymentUnavailableError.messageN)	r	   r
   r   r   r   r   r"   r!   r   r   r   r   r   r*   /   s
    r*   N)typingr   ray.exceptionsr   ray.serve._private.commonr   ray.util.annotationsr   	Exceptionr   r   r$   r*   r   r   r   r   <module>   s    