+
    8i                        R t ^ RIHt ^ RIt^ RIt^ RIHtHtHt ]	! ]R4      t
]! ]R]4      tR R lt ! R R	4      tR# )
zSelect / poll helper)annotationsN)AnyOptionalcastpollerrorc                    V ^8  d   QhRRRR/# )   excBaseExceptionreturnzOptional[int] )formats   "T/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/socket_checker.py__annotate__r      s      }      c                    \        V R 4      '       d   \        \        V P                  4      # V P                  '       d"   \        \        V P                  ^ ,          4      # R# )errnoN)hasattrr   intr   args)r
   s   &r   _errno_from_exceptionr      sA    sGC##
xxxC!%%r   c                  >    ] tR t^"tR R ltR	R R lltR R ltRtR# )
SocketCheckerc                   V ^8  d   QhRR/# )r	   r   Noner   )r   s   "r   r   SocketChecker.__annotate__#   s        $  r   c                	h    V  \         '       d   \        P                  ! 4       V n        R # R V n        R # )N)
_HAVE_POLLselectr   _poller)selfs   &r   __init__SocketChecker.__init__#   s    :!;;=DLDLr   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	r	   sockr   readboolwritetimeoutzOptional[float]r   r   )r   s   "r   r   r   *   s4     ( ((#(48(KZ(	(r   c                L     V P                   '       d   \        P                  \        P                  ,          pV'       d-   V\        P                  ,          \        P
                  ,          pV'       d   V\        P                  ,          pV P                   P                  W4        Vf   RMVR,          pV P                   P                  V4      p\        V4      V P                   P                  V4       # V'       d   V.M. pV'       d   V.M. p	\        P                  ! WV.V4      p\        V4      #   T P                   P                  T4       i ; i  \        \        3 d<   p
\        T
4      \        P                   \        P"                  39   d    Rp
?
EK  h Rp
?
ii ; i)zSelect for reads or writes with a timeout in seconds (or None).

Returns True if the socket is readable/writable, False on timeout.
Ni  )r    r   POLLERRPOLLHUPPOLLINPOLLPRIPOLLOUTregisterr   r'   
unregisterany_SelectErrorOSErrorr   r   EINTREAGAIN)r!   r%   r&   r(   r)   masktimeout_resrlistwlistr
   s   &&&&&      r   r   SocketChecker.select*   s*    <<<!>>FNN:D#fmm3fnnD#fnn4LL))$56 ,3?4$"ll//9
  $Cy//5&*TFE&+TFE --tfgFC s8O //5 !'* (-%++u||1LLsX   E ,E 3E 62E )4D7 E 9E E (E 7EE F#(.FFF#c                    V ^8  d   QhRRRR/# )r	   r%   r   r   r'   r   )r   s   "r   r   r   T   s      # $ r   c                     V P                  VRR7      #   \        \        3 d    h \         d     R# \         d     R# i ; i)z?Return True if we know socket has been closed, False otherwise.T)r&   )r   RuntimeErrorKeyError
ValueError	Exception)r!   r%   s   &&r   socket_closedSocketChecker.socket_closedT   sM    	;;t$;//h' 	
  	  	 	s    AAAAA)r    N)FF    )__name__
__module____qualname____firstlineno__r"   r   rC   __static_attributes__r   r   r   r   r   "   s     (T r   r   )__doc__
__future__r   r   r   typingr   r   r   r   r   getattrr4   r3   r   r   r   r   r   <module>rO      sD     "   & &VV$
vw0D Dr   