o
    h                     @   sH   d dl Z d dl mZ ddlmZ ddlmZmZmZ G dd deZdS )	    N)Optional   )current_async_library   )SOCKET_OPTIONAsyncNetworkBackendAsyncNetworkStreamc                   @   s   e Zd ZdddZ			ddededee dee d	ejej	e
  defd
dZ		ddedee d	ejej	e
  defddZdeddfddZdS )AutoBackendreturnNc                    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   W/var/www/html/flask_server/venv/lib/python3.10/site-packages/httpcore/_backends/auto.py_init_backend	   s   
zAutoBackend._init_backendhostporttimeoutlocal_addresssocket_optionsc                    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secondsc                    s"   |   I d H  | j|I d H S )N)r   r   sleep)r   r   r   r   r   r   1   s   zAutoBackend.sleep)r
   N)NNN)NN)__name__
__module____qualname__r   strintr   floattypingIterabler   r   r   r   r   r   r   r   r   r	      s<    


r	   )	r&   r   _synchronizationr   baser   r   r   r	   r   r   r   r   <module>   s
    