
    ^hB                         S r SSKrSSKrSSKJr  SSKJrJr  SSK	J
r
  SSKJrJr  SS	KJrJr  S
\R"                  S\R$                  4S jr " S S\5      r " S S\5      rg)z&A kernel manager with a tornado IOLoop    N)ioloop)InstanceType)	ZMQStream   )AsyncKernelManagerKernelManager   )AsyncIOLoopKernelRestarterIOLoopKernelRestarterfreturnc                    ^  S[         R                  S[         R                  S[         R                  S[         R                  4U 4S jjnU$ )z!Convert a socket to a zmq stream.selfargskwargsr   c                 l  > S nU R                   R                  [        R                  La5  U R                   R                  n[        R                  U R                   l         T" U /UQ70 UD6nU(       a  X0R                   l        [	        X@R
                  5      $ ! U(       a  X0R                   l        f f = fN)context_socket_classzmqSocketr   loop)r   r   r   save_socket_classsocketr   s        W/home/james-whalen/.local/lib/python3.13/site-packages/jupyter_client/ioloop/manager.pywrappedas_zmqstream.<locals>.wrapped   s     <<%%SZZ7 $ : :),DLL&	?t-d-f-F ->*++ !->* !s   !B B3)tAny)r   r   s   ` r   as_zmqstreamr!      s;    ,aee ,AEE ,QUU ,quu , N    c                   R   \ rS rSr% Sr\" S5      rS\R                  4S jr	\
" \\SSS9r\" S	SS
9r\R                  \S'   SS jrSS jr\" \R*                  5      r\" \R,                  5      r\" \R.                  5      r\" \R0                  5      r\" \R2                  5      rSrg)IOLoopKernelManager#   zAn io loop kernel manager.tornado.ioloop.IOLoopr   c                 >    [         R                  R                  5       $ r   r   IOLoopcurrentr   s    r   _loop_default!IOLoopKernelManager._loop_default(       }}$$&&r"   zType of KernelRestarter to use. Must be a subclass of IOLoopKernelRestarter.
Override this to customize how kernel restarts are managed.Tdefault_valueklasshelpconfigz+jupyter_client.ioloop.IOLoopKernelRestarter
allow_none
_restarterNc                     U R                   (       ac  U R                  (       aQ  U R                  c)  U R                  X R                  X R
                  S9U l        U R                  R                  5         gggzStart the restarter.N)kernel_managerr   parentlogautorestart
has_kernelr6   restarter_classr   r;   startr+   s    r   start_restarter#IOLoopKernelManager.start_restarter7   Y    &"&"6"6#'ii(( #7 # OO!!# !0r"   c                 x    U R                   (       a)  U R                  b  U R                  R                  5         gggzStop the restarter.Nr=   r6   stopr+   s    r   stop_restarter"IOLoopKernelManager.stop_restarter@   ,     ;OO  " !<r"   r6   r   N)__name__
__module____qualname____firstlineno____doc__r   r   r   r)   r,   r   r   r?   r6   r   r    __annotations__rA   rH   r!   r	   connect_shellconnect_controlconnect_iopubconnect_stdin
connect_hb__static_attributes__ r"   r   r$   r$   #   s    $+,D'v}} ' +#J 	O !!N[_`J`$#
 !!<!<=M"=#@#@AO !<!<=M !<!<=Mm667Jr"   r$   c                   R   \ rS rSr% Sr\" S5      rS\R                  4S jr	\
" \\SSS9r\" S	SS
9r\R                  \S'   SS jrSS jr\" \R*                  5      r\" \R,                  5      r\" \R.                  5      r\" \R0                  5      r\" \R2                  5      rSrg)AsyncIOLoopKernelManagerL   zAn async ioloop kernel manager.r&   r   c                 >    [         R                  R                  5       $ r   r(   r+   s    r   r,   &AsyncIOLoopKernelManager._loop_defaultQ   r.   r"   zType of KernelRestarter to use. Must be a subclass of AsyncIOLoopKernelManager.
Override this to customize how kernel restarts are managed.Tr/   z0jupyter_client.ioloop.AsyncIOLoopKernelRestarterr4   r6   Nc                     U R                   (       ac  U R                  (       aQ  U R                  c)  U R                  X R                  X R
                  S9U l        U R                  R                  5         gggr8   r<   r+   s    r   rA   (AsyncIOLoopKernelManager.start_restarterb   rC   r"   c                 x    U R                   (       a)  U R                  b  U R                  R                  5         gggrE   rF   r+   s    r   rH   'AsyncIOLoopKernelManager.stop_restarterk   rJ   r"   rK   rL   )rM   rN   rO   rP   rQ   r   r   r   r)   r,   r   r   r?   r6   r   r    rR   rA   rH   r!   r   rS   rT   rU   rV   rW   rX   rY   r"   r   r[   r[   L   s    )+,D'v}} ' 0(J 	O !:tJ $#
 !!3!A!ABM"#5#E#EFO !3!A!ABM !3!A!ABM0;;<Jr"   r[   )rQ   typingr   r   tornador   	traitletsr   r   zmq.eventloop.zmqstreamr   managerr   r	   	restarterr   r   r    Callabler!   r$   r[   rY   r"   r   <module>rj      sT    ,  
  $ - 7 HAEE ajj (&8- &8R(=1 (=r"   