o
    ͷ6i0                     @   sp   d dl mZ d dlmZ d dlZddlmZ ddlmZm	Z	m
Z
mZ ddlmZmZmZmZ G d	d
 d
eZdS )    )
SSLContext)OptionalN   )TimeoutDict   )AsyncBackend	AsyncLockAsyncSemaphoreAsyncSocketStream)SyncBackendSyncLockSyncSemaphoreSyncSocketStreamc                
   @   sr   e Zd ZedefddZdededee	 de
def
dd	Zdefd
dZdededefddZdefddZdS )AutoBackendreturnc                 C   sj   t | ds2t }|dkrddlm} | | _| jS |dkr+ddlm} | | _| jS td|| jS )N_backend_implementationasyncior   )AsyncioBackendtrio)TrioBackendz Unsupported concurrency backend )	hasattrsniffiocurrent_async_libraryr   r   r   r   r   RuntimeError)selfbackendr   r    r   \/var/www/hoanhtaovolam_webdjango/env/lib/python3.10/site-packages/httpcore/_backends/auto.pyr      s   
zAutoBackend.backendhostnameportssl_contexttimeoutc                    s   | j ||||I d H S N)r   open_tcp_stream)r   r   r   r    r!   r   r   r   r#      s   zAutoBackend.open_tcp_streamc                 C   
   | j  S r"   )r   create_lockr   r   r   r   r%   (      
zAutoBackend.create_lock	max_value	exc_classc                 C   s   | j j||dS )N)r)   )r   create_semaphore)r   r(   r)   r   r   r   r*   +   s   zAutoBackend.create_semaphorec                 C   r$   r"   )r   timer&   r   r   r   r+   .   r'   zAutoBackend.timeN)__name__
__module____qualname__propertyr   r   bytesintr   r   r   r
   r#   r   r%   typer	   r*   floatr+   r   r   r   r   r      s"    
	r   )sslr   typingr   r   _typesr   baser   r   r	   r
   syncr   r   r   r   r   r   r   r   r   <module>   s    