U
    *-e                     @   s   d dl mZmZ d dl mZ d dlmZ dgZeedddZeeddd	Z	eedd
dZ
eedddZddddZeedddZdS )   )RendezvousHandlerRendezvousParameters)rendezvous_handler_registry)create_handlerget_rendezvous_handler)paramsreturnc                 C   s   ddl m} || S )Nr   )static_tcp_rendezvous) r	   create_rdzv_handler)r   r	    r   n/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/torch/distributed/elastic/rendezvous/registry.py_create_static_handler   s    r   c                 C   s   ddl m} || S )Nr   )etcd_rendezvous)r
   r   r   )r   r   r   r   r   _create_etcd_handler   s    r   c                 C   s$   ddl m} || \}}t||| S Nr   )create_backend)Zetcd_rendezvous_backendr   r   r   r   backendstorer   r   r   _create_etcd_v2_handler   s    r   c                 C   s$   ddl m} || \}}t||| S r   )Zc10d_rendezvous_backendr   r   r   r   r   r   _create_c10d_handler!   s    r   N)r   c                   C   s4   t dt t dt t dt t dt d S )NZetcdzetcd-v2Zc10dZstatic)handler_registryregisterr   r   r   r   r   r   r   r   _register_default_handlers)   s    r   c                 C   s
   t | S )aL  
    This method is used to obtain a reference to a :py:class`RendezvousHandler`.
    Custom rendezvous handlers can be registered by

    ::

      from torch.distributed.elastid.rendezvous import rendezvous_handler_registry
      from torch.distributed.elastic.rendezvous.registry import get_rendezvous_handler

      def create_my_rdzv(params: RendezvousParameters):
        return MyCustomRdzv(params)

      rendezvous_handler_registry.register("my_rdzv_backend_name", create_my_rdzv)

      my_rdzv_handler = get_rendezvous_handler("my_rdzv_backend_name", RendezvousParameters)
    )r   r   )r   r   r   r   r   0   s    )apir   r   r   r   Zdynamic_rendezvousr   __all__r   r   r   r   r   r   r   r   r   r   <module>   s   