o
    MK&h  ã                   @  s2   d dl mZ d dlZd dlZd dlZd	dd„ZdS )
é    )ÚannotationsNÚsockúsocket.socket | NoneÚreturnÚboolc                 C  s†   | du rdn|   ¡ }|du s|dk rdS tjdks!ttddƒdu r1t |gg g d¡\}}}t|ƒS t ¡ }| |tj¡ t| d¡ƒS )zß
    Return whether a socket, as identifed by its file descriptor, is readable.
    "A socket is readable" means that the read buffer isn't empty, i.e. that calling
    .recv() on it would immediately return some data.
    Nr   TÚwin32Úpoll)	ÚfilenoÚsysÚplatformÚgetattrÚselectr   r   ÚregisterÚPOLLIN)r   Úsock_fdÚrreadyÚ_Úp© r   úB/var/www/html/venv/lib/python3.10/site-packages/httpcore/_utils.pyÚis_socket_readable   s   	r   )r   r   r   r   )Ú
__future__r   r   Úsocketr
   r   r   r   r   r   Ú<module>   s
    