Ë
    eQêj÷
  ã            	       óf   — d dl Z d dlmZmZ d dlZdZdZdZeeeeef      Z	eeefdededed	e	fd
„Z
y)é    N)ÚListÚTupleé   é   é	   ÚidleÚintervalÚcountÚreturnc                 ó  — d| fd|fd|ffD ]  \  }}|dk  sŒt        d|z  «      ‚ t        t        j                  j                  j
                  «      }|j                  t        j                  t        j                  df«       t        t        d«      r1|j                  t        j                  t        j                  | f«       n@t        t        d«      r0|j                  t        j                  t        j                  | f«       t        t        d«      r0|j                  t        j                  t        j                  |f«       t        t        d	«      r0|j                  t        j                  t        j                  |f«       |S )
a¨  Build urllib3 socket options that enable TCP keepalive.

    The defaults match what client-go asks the kernel for, so an idle
    watch is probed after ``idle`` seconds and dropped after ``count``
    unanswered probes ``interval`` seconds apart.

    The returned list starts from ``urllib3``'s own default socket
    options, which disable Nagle's algorithm. urllib3 replaces its
    defaults with whatever list it is given rather than merging, so
    building on them keeps that behaviour.

    Options the platform does not define are left out: macOS spells the
    idle time ``TCP_KEEPALIVE``, and Windows only grew the idle and
    interval options in Windows 10 1709.
    r   r	   r
   é   z%s must be at least 1ÚTCP_KEEPIDLEÚTCP_KEEPALIVEÚTCP_KEEPINTVLÚTCP_KEEPCNT)Ú
ValueErrorÚlistÚurllib3Ú
connectionÚHTTPConnectionÚdefault_socket_optionsÚappendÚsocketÚ
SOL_SOCKETÚSO_KEEPALIVEÚhasattrÚIPPROTO_TCPr   r   r   r   )r   r	   r
   ÚnameÚvalueÚoptionss         ú_/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/kubernetes/utils/keepalive.pyÚtcp_keepalive_socket_optionsr"   "   s-  € ð*   ˜¨°XÐ(>Ø  %Ð(ð*ò =‰ˆˆeà�1‹9ÜÐ4°tÑ;Ó<Ð<ð=ô
 ”7×%Ñ%×4Ñ4×KÑKÓL€GØ‡N�N”F×%Ñ%¤v×':Ñ':¸AÐ>Ô?äŒv�~Ô&Ø�‰œ×*Ñ*¬F×,?Ñ,?ÀÐFÕGÜ	”˜Ô	)Ø�‰œ×*Ñ*¬F×,@Ñ,@À$ÐGÔHäŒv�Ô'Ø�‰œ×*Ñ*¬F×,@Ñ,@À(ÐKÔLäŒv�}Ô%Ø�‰œ×*Ñ*¬F×,>Ñ,>ÀÐFÔGà€Nó    )r   Útypingr   r   r   ÚDEFAULT_IDLEÚDEFAULT_INTERVALÚDEFAULT_COUNTÚintÚSocketOptionsr"   © r#   r!   ú<module>r+      sk   ðó ß ã ð €ØÐ Ø€à�U˜3  S˜=Ñ)Ñ*€ð Ø$Øñ(Ø
ð(àð(ð ð(ð ô	(r#   