o
    HÆ&iû  ã                   @   s–   d dl mZmZ d dl mZ d dlmZ dgZdedefdd„Zdedefd	d
„Z	dedefdd„Z
dedefdd„Zddd„Zdedefdd„ZdS )é   )ÚRendezvousHandlerÚRendezvousParameters)Úrendezvous_handler_registry)Úcreate_handlerÚget_rendezvous_handlerÚparamsÚreturnc                 C   ó   ddl m} | | ¡S )Nr   )Ústatic_tcp_rendezvous)Ú r
   Úcreate_rdzv_handler)r   r
   © r   úXC:\wamp64\www\opt\env\Lib\site-packages\torch/distributed/elastic/rendezvous/registry.pyÚ_create_static_handler   ó   
r   c                 C   r	   )Nr   )Úetcd_rendezvous)r   r   r   )r   r   r   r   r   Ú_create_etcd_handler   r   r   c                 C   ó$   ddl m} || ƒ\}}t||| ƒS ©Nr   )Úcreate_backend)Zetcd_rendezvous_backendr   r   ©r   r   ÚbackendÚstorer   r   r   Ú_create_etcd_v2_handler   ó   r   c                 C   r   r   )Zc10d_rendezvous_backendr   r   r   r   r   r   Ú_create_c10d_handler!   r   r   Nc                   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 )a6  
    Obtain a reference to a :py:class`RendezvousHandler`.

    Custom rendezvous handlers can be registered by

    ::

      from torch.distributed.elastic.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   
)r   N)Úapir   r   r   r   Zdynamic_rendezvousr   Ú__all__r   r   r   r   r   r   r   r   r   r   Ú<module>   s   
