o
    i                     @   s@   d dl mZmZ d dlmZ G dd deZG dd deZdS )    )ABCabstractmethod)FailureDetectorc                   @   sJ   e Zd ZedededdfddZededdfddZedd	d
ZdS )AsyncFailureDetector	exceptioncmdreturnNc                       dS )z:Register a failure that occurred during command execution.N selfr   r   r
   r
   Z/home/ubuntu/.local/lib/python3.10/site-packages/redis/asyncio/multidb/failure_detector.pyregister_failure      z%AsyncFailureDetector.register_failurec                    r	   )zRegister a command execution.Nr
   r   r   r
   r
   r   register_command_execution   r   z/AsyncFailureDetector.register_command_executionc                 C   s   dS )z*Set the command executor for this failure.Nr
   r   command_executorr
   r
   r   set_command_executor   s   z)AsyncFailureDetector.set_command_executorr   N)	__name__
__module____qualname__r   	Exceptiontupler   r   r   r
   r
   r
   r   r      s    r   c                   @   sT   e Zd ZdZdeddfddZdededdfd	d
ZdeddfddZ	dddZ
dS )FailureDetectorAsyncWrapperz1
    Async wrapper for the failure detector.
    failure_detectorr   Nc                 C   s
   || _ d S N)_failure_detector)r   r   r
   r
   r   __init__   s   
z$FailureDetectorAsyncWrapper.__init__r   r   c                    s   | j || d S r   )r   r   r   r
   r
   r   r      s   z,FailureDetectorAsyncWrapper.register_failurec                    s   | j | d S r   )r   r   r   r
   r
   r   r   "   s   z6FailureDetectorAsyncWrapper.register_command_executionc                 C   s   | j | d S r   )r   r   r   r
   r
   r   r   %   s   z0FailureDetectorAsyncWrapper.set_command_executorr   )r   r   r   __doc__r   r   r   r   r   r   r   r
   r
   r
   r   r      s    r   N)abcr   r   redis.multidb.failure_detectorr   r   r   r
   r
   r
   r   <module>   s    