
     f                     2    d dl mZ d dlmZmZ dedefdZdS )   )socket)SocketListenerSocketStreamsocket_listenerreturnc                   K   | j         j        }| j                                         }|t          j        t          j        fv r@t          |          }|d         dk    rd|d<   |d         dk    rd|d<   t          |          }t          j         |          }|                    |           d{V  t          |          S )a  Connect to the given :class:`~trio.SocketListener`.

    This is particularly useful in tests when you want to let a server pick
    its own port, and then connect to it::

        listeners = await trio.open_tcp_listeners(0)
        client = await trio.testing.open_stream_to_socket_listener(listeners[0])

    Args:
      socket_listener (~trio.SocketListener): The
          :class:`~trio.SocketListener` to connect to.

    Returns:
      SocketStream: a stream connected to the given listener.

        z0.0.0.0z	127.0.0.1z::z::1)familyN)
r   r
   getsocknametsocketAF_INETAF_INET6listtupleconnectr   )r   r
   sockaddrsocks       X/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/trio/testing/_network.pyopen_stream_to_socket_listenerr      s      & #*F%1133H'/7#3444>>A;)##%HQKA;$HQK??>(((D
,,x
 
            N) r   r   _highlevel_socketr   r   r    r   r   <module>r      s]                < < < < < < < <#     r   