
    jx                     X    d dl mZ d dlmZ  G d d          ZeZd Zed             ZdS )    )contextmanager)perf_counterc                   p    e Zd Zd Zed             Zd Zd Zd Zd Z	d Z
d Zd	 Zed
             Zd ZdS )Deadlinec                     ||t          d          k    rt          d          | _        nt                      |z   | _        || _        d S )Ninf)float	_deadliner   _original_timeoutselftimeouts     Y/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/neo4j/_deadline.py__init__zDeadline.__init__   sD    ?gu55"5\\DNN)^^g5DN!(    c                     | j         S Nr   r   s    r   original_timeoutzDeadline.original_timeout   s    %%r   c                 2    |                                  dk    S )Nr   )
to_timeoutr   s    r   expiredzDeadline.expired!   s      A%%r   c                 v    | j         t          d          k    rd S | j         t                      z
  }|dk    r|ndS )Nr   r   )r
   r	   r   r   s     r   r   zDeadline.to_timeout$   s<    >U5\\))4.<>>1!A++ww1,r   c                 Z    t          |t                    r| j        |j        k    S t          S r   
isinstancer   r
   NotImplementedr   others     r   __eq__zDeadline.__eq__*   )    eX&& 	5>U_44r   c                 Z    t          |t                    r| j        |j        k    S t          S r   r   r   s     r   __gt__zDeadline.__gt__/   )    eX&& 	4>EO33r   c                 Z    t          |t                    r| j        |j        k    S t          S r   r   r   s     r   __ge__zDeadline.__ge__4   r"   r   c                 Z    t          |t                    r| j        |j        k     S t          S r   r   r   s     r   __lt__zDeadline.__lt__9   r%   r   c                 Z    t          |t                    r| j        |j        k    S t          S r   r   r   s     r   __le__zDeadline.__le__>   r"   r   c                 <    t          ||           r|S  | |          S r   )r   )clsr   s     r   from_timeout_or_deadlinez!Deadline.from_timeout_or_deadlineC   s'    gs## 	Ns7||r   c                     d| j          dS )NzDeadline(timeout=)r   r   s    r   __str__zDeadline.__str__I   s    <4#9<<<<r   N)__name__
__module____qualname__r   propertyr   r   r   r!   r$   r'   r)   r+   classmethodr.   r1    r   r   r   r      s        ) ) ) & & X&& & &- - -  
  
  
  
  
   [
= = = = =r   r   c                  T    t          t          j        |           }t          |          S r   )mapr   r.   merge_deadlines)deadline	deadliness     r   merge_deadlines_and_timeoutsr=   P   s"    H5x@@I9%%%r   c              #   6  K   | j                                         }||d V  d S t          d ||fD                       }| j                             |           	 d V  | j                             |           d S # | j                             |           w xY w)Nc              3      K   | ]}||V  	d S r   r7   ).0ds     r   	<genexpr>z&connection_deadline.<locals>.<genexpr>]   s"      CCqQ]]]]]CCr   )socketget_deadliner:   set_deadline)
connectionr;   original_deadlines      r   connection_deadlinerH   U   s      ")6688-9CCX01CCC H ""8,,,:&&'899999
&&'89999s   A< <BN)	
contextlibr   timer   r   minr:   r=   rH   r7   r   r   <module>rL      s   " & % % % % %      5= 5= 5= 5= 5= 5= 5= 5=p & & &
 : : : : :r   