File: //usr/local/lib/python3.10/dist-packages/aiohappyeyeballs/__pycache__/utils.cpython-310.pyc
o
���g� �
@ s, d Z ddlZddlZddlmZmZmZmZmZ ddl m
Z
deeeeeeef eeeef eeef f deee
fdd �Z
dd
ee
dee ddfdd
�Zdeeeef eeeeef f deeejef eejeeef f fdd�Zd
ee
deeeef eeeeef f ddfdd�ZdS )z'Utility functions for aiohappyeyeballs.� N)�Dict�List�Optional�Tuple�Union� )�AddrInfoType�addr�returnc C s� | du rdS | d }| d }d|v }|r6d}d}t | �}|dkr$| d }|dkr,| d }||||f} tj}n||f} tj}|tjtjd| fgS ) z7Convert an address tuple to a list of addr_info tuples.Nr r �:� � � � )�len�socket�AF_INET6�AF_INET�SOCK_STREAM�IPPROTO_TCP)r �host�port�is_ipv6�flowinfo�scopeid�addr_len�family� r �A/usr/local/lib/python3.10/dist-packages/aiohappyeyeballs/utils.py�addr_to_addr_infos
s$ r �
addr_infos�
interleavec C st i }|du rd}g }| D ]!}|d }||vrd||<