§
    &`ƒik  ã                   óv   — d dl mZ d dlmZ d dlZd dlmZ e G d„ d¦  «        ¦   «         Z G d„ d¦  «        ZdS )	é    )Ú	dataclass)ÚListN)ÚBackendc                   ó2   — e Zd ZU dZeed<   eed<   eed<   dS )ÚCommunicatorz=
    A handle to a communicator that we are a member of.
    ÚnameÚrankÚbackendN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__Úint© ó    ú|/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/experimental/collective/communicator.pyr   r      s9   € € € € € € ðð ð
 €I€IIà
€I€IIð €L€LL€L€Lr   r   c                   óÚ   — e Zd ZdZdeej        j                 dedefd„Z	dej        j        fd„Z
edeej        j                 fd	„¦   «         Zedefd
„¦   «         Zedefd„¦   «         ZdS )ÚCommunicatorHandlezj
    A communicator handle used by the driver to store handles to the
    actors in the communicator.
    Úactorsr   r
   c                 óJ   — || _         || _        t          |¦  «        | _        dS )a„  
        Initializes the CommunicatorHandle with the given actor handles.
        Assumes that the communicator has already been initialized on all actors.

        Args:
            actors: A list of actor handles to be stored.
            name: Name of the communicator.
            backend: Communicator backend. See
                ray.util.collective.types for valid values.
        N)Ú_actorsÚ_namer   Ú_backend)Úselfr   r   r
   s       r   Ú__init__zCommunicatorHandle.__init__   s%   € ð ˆŒØˆŒ
Ý Ñ(Ô(ˆŒˆˆr   Úactorc                 óN   — t          | j        ¦  «        D ]\  }}||k    r|c S ŒdS )Néÿÿÿÿ)Ú	enumerater   )r   r   ÚiÚas       r   Úget_rankzCommunicatorHandle.get_rank,   s;   € Ý˜dœlÑ+Ô+ð 	ð 	‰DˆAˆqØEŠzˆzØð àˆrr   Úreturnc                 ó    — | j         dd…         S )z@
        Return all actor handles in this communicator.
        N)r   ©r   s    r   r   zCommunicatorHandle.actors2   s   € ð
 Œ|˜A˜A˜AŒÐr   c                 ó   — | j         S ©N)r   r'   s    r   r   zCommunicatorHandle.name9   s
   € àŒzÐr   c                 ó   — | j         S r)   )r   r'   s    r   r
   zCommunicatorHandle.backend=   s
   € àŒ}Ðr   N)r   r   r   r   r   Úrayr   ÚActorHandler   r   r$   Úpropertyr   r   r
   r   r   r   r   r      sñ   € € € € € ðð ð
)˜t C¤IÔ$9Ô:ð )À#ð )ÐPSð )ð )ð )ð )ð˜cœiÔ3ð ð ð ð ð ð˜˜SœYÔ2Ô3ð ð ð ñ „Xðð ðcð ð ð ñ „Xðð ð˜ð ð ð ñ „Xðð ð r   r   )	Údataclassesr   Útypingr   r+   Úray.util.collective.typesr   r   r   r   r   r   ú<module>r1      sª   ðØ !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð à 
€
€
€
Ø -Ð -Ð -Ð -Ð -Ð -ð ðð ð ð ð ñ ô ñ „ðð(ð (ð (ð (ð (ñ (ô (ð (ð (ð (r   