o
    )f                     @   s   d Z ddlZddlZddlmZ ddlmZ dZeedr(dej	ddfd	d
Z
n
dej	ddfdd
Z
dej	deddfddZdS )z'Helper methods to tune a TCP connection    N)suppress)Optional)tcp_keepalivetcp_nodelaySO_KEEPALIVE	transportreturnc                 C   s,   |  d}|d ur|tjtjd d S d S )Nsocket   )get_extra_info
setsockoptr	   Z
SOL_SOCKETr   )r   sock r   3lib/python3.10/site-packages/aiohttp/tcp_helpers.pyr      s   
r   c                 C   s   d S )Nr   )r   r   r   r   r      s   valuec                 C   st   |  d}|d u rd S |jtjtjfvrd S t|}tt |tj	tj
| W d    d S 1 s3w   Y  d S )Nr	   )r   Zfamilyr	   ZAF_INETZAF_INET6boolr   OSErrorr   ZIPPROTO_TCPZTCP_NODELAY)r   r   r   r   r   r   r      s   

"r   )__doc__Zasyncior	   
contextlibr   typingr   __all__hasattrZ	Transportr   r   r   r   r   r   r   <module>   s    
