o
    MK&h~                     @  sH   d dl mZ d dlZddlmZ ddlmZmZmZ G dd deZ	dS )	    )annotationsN   )current_async_library   )SOCKET_OPTIONAsyncNetworkBackendAsyncNetworkStreamc                   @  sB   e Zd ZdddZ			ddddZ		ddddZdddZdS ) AutoBackendreturnNonec                   sN   t | ds%t }|dkrddlm} | | _d S ddlm} | | _d S d S )N_backendtrior   )TrioBackend)AnyIOBackend)hasattrr   r   r   r   anyior   )selfbackendr   r    r   J/var/www/html/venv/lib/python3.10/site-packages/httpcore/_backends/auto.py_init_backend
   s   
zAutoBackend._init_backendNhoststrportinttimeoutfloat | Nonelocal_address
str | Nonesocket_options%typing.Iterable[SOCKET_OPTION] | Noner   c                   s,   |   I d H  | jj|||||dI d H S )N)r   r   r   )r   r   connect_tcp)r   r   r   r   r   r   r   r   r   r!      s   zAutoBackend.connect_tcppathc                   s(   |   I d H  | jj|||dI d H S )N)r   r   )r   r   connect_unix_socket)r   r"   r   r   r   r   r   r#   '   s
   zAutoBackend.connect_unix_socketsecondsfloatc                   s"   |   I d H  | j|I d H S )N)r   r   sleep)r   r$   r   r   r   r&   2   s   zAutoBackend.sleep)r
   r   )NNN)r   r   r   r   r   r   r   r   r   r    r
   r   )NN)r"   r   r   r   r   r    r
   r   )r$   r%   r
   r   )__name__
__module____qualname__r   r!   r#   r&   r   r   r   r   r	   	   s    
r	   )

__future__r   typing_synchronizationr   baser   r   r   r	   r   r   r   r   <module>   s
    