
    ȅi                         S SK r S SKJr  SSKJrJrJr  SSKJ	r	  \ R                  " \5      rS/rS\S\4S	 jrS\S\4S
 jrS\S\4S jrS\S\4S jrSS jrSS jrS\S\4S jrg)    N)entry_points   )rendezvous_handler_registryRendezvousHandlerRendezvousParameters)create_handlerget_rendezvous_handlerparamsreturnc                 0    SSK Jn  UR                  U 5      $ )Nr   )static_tcp_rendezvous) r   create_rdzv_handler)r
   r   s     g/home/james-whalen/.local/lib/python3.13/site-packages/torch/distributed/elastic/rendezvous/registry.py_create_static_handlerr      s    ' 44V<<    c                 0    SSK Jn  UR                  U 5      $ )Nr   )etcd_rendezvous)r   r   r   )r
   r   s     r   _create_etcd_handlerr      s    !..v66r   c                 :    SSK Jn  U" U 5      u  p#[        X2U 5      $ Nr   )create_backend)etcd_rendezvous_backendr   r   r
   r   backendstores       r   _create_etcd_v2_handlerr   #       7#F+NG%&11r   c                 :    SSK Jn  U" U 5      u  p#[        X2U 5      $ r   )c10d_rendezvous_backendr   r   r   s       r   _create_c10d_handlerr!   +   r   r   c                      [         R                  " S[        5        [         R                  " S[        5        [         R                  " S[        5        [         R                  " S[
        5        g )Netcdzetcd-v2c10dstatic)handler_registryregisterr   r   r!   r    r   r   _register_default_handlersr)   3   sF    f&:;i)@Af&:;h(>?r   c                     [        SS9n U  HF  n XR                     R                  5       n[        R                  " UR                  U" 5       5        MH     g ! [
         a#    [        R                  SUR                  SS9   Mw  f = f)Nztorchrun.handlers)groupz3Exception while registering out of tree plugin %s: T)exc_info)r   nameloadr&   r'   	Exceptionlogwarning)discovered_handler_generatorshandler_generatorget_handlers      r   _register_out_of_tree_handlersr5   :   s    $07J$K!:		78N8NOTTVK%%&7&<&<kmL	 ;
  	KKE!&&  	s   AA)BBc                 .    [         R                  " U 5      $ )a  
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
   s    r   r	   r	   J   s    , **622r   )r   N)loggingimportlib.metadatar   apir   r&   r   r   dynamic_rendezvousr   	getLogger__name__r0   __all__r   r   r   r!   r)   r5   r	   r(   r   r   <module>r>      s     + 
 / !#
$=#7 =<M =7!5 7:K 72$8 2=N 22!5 2:K 2@ 3#7 3<M 3r   