
    ,i                     L    d dl mZmZ d dlmZ  G d de      Z G d de      Zy)    )ABCabstractmethod)FailureDetectorc                   V    e Zd Zedededdfd       Zededdfd       Zedd       Zy)	AsyncFailureDetector	exceptioncmdreturnNc                    K   yw)z:Register a failure that occurred during command execution.N selfr   r	   s      k/var/www/html/langgraph-service/venv/lib/python3.12/site-packages/redis/asyncio/multidb/failure_detector.pyregister_failurez%AsyncFailureDetector.register_failure         	   c                    K   yw)zRegister a command execution.Nr   r   r	   s     r   register_command_executionz/AsyncFailureDetector.register_command_execution   r   r   c                      y)z*Set the command executor for this failure.Nr   r   command_executors     r   set_command_executorz)AsyncFailureDetector.set_command_executor   s     	    r
   N)	__name__
__module____qualname__r   	Exceptiontupler   r   r   r   r   r   r   r      s_    	  $   E d    r   r   c                   L    e Zd ZdZdeddfdZdededdfdZdeddfd	Z	dd
Z
y)FailureDetectorAsyncWrapperz1
    Async wrapper for the failure detector.
    failure_detectorr
   Nc                     || _         y N)_failure_detector)r   r#   s     r   __init__z$FailureDetectorAsyncWrapper.__init__   s
    !1r   r   r	   c                 D   K   | j                   j                  ||       y wr%   )r&   r   r   s      r   r   z,FailureDetectorAsyncWrapper.register_failure   s     //	3?s    c                 B   K   | j                   j                  |       y wr%   )r&   r   r   s     r   r   z6FailureDetectorAsyncWrapper.register_command_execution"   s     99#>s   c                 :    | j                   j                  |       y r%   )r&   r   r   s     r   r   z0FailureDetectorAsyncWrapper.set_command_executor%   s    334DEr   r   )r   r   r   __doc__r   r'   r   r    r   r   r   r   r   r   r"   r"      sQ    2 2T 2@	 @ @$ @?E ?d ?Fr   r"   N)abcr   r   redis.multidb.failure_detectorr   r   r"   r   r   r   <module>r.      s&    # :3 "F"6 Fr   