§
    Ètºfý  ã                   óÎ  — d Z ddlZddlmZ ddlmZmZ ddlmZ ddl	m
Z
mZ  ee¦  «         G d„ dej        ¦  «        ¦   «         Zed	k    r˜ ej        ej        d
         ¦  «                             ¦   «           e
j         eej        d         d¦  «        ¦  «         ddlmZ  e¦   «         Z ej        e¦  «          ej        ¦   «           ej        ej        ¦  «         dS dS )zÊ
Main program for the child process run by
L{twisted.test.test_stdio.StandardInputOutputTests.test_readConnectionLost} to
test that IHalfCloseableProtocol.readConnectionLost works for stdio transports.
é    N)Úimplementer)ÚprotocolÚstdio)ÚIHalfCloseableProtocol)ÚlogÚreflectc                   ó.   — e Zd ZdZdZd„ Zd„ Zd„ Zd„ ZdS )ÚHalfCloseProtocolzÎ
    A protocol to hook up to stdio and observe its transport being
    half-closed.  If all goes as expected, C{exitCode} will be set to C{0};
    otherwise it will be set to C{1} to indicate failure.
    Nc                 ó:   — | j                              d¦  «         dS )z=
        Signal the parent process that we're ready.
        ó   xN)Ú	transportÚwrite©Úselfs    ú`/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/test/stdio_test_halfclose.pyÚconnectionMadez HalfCloseProtocol.connectionMade   s    € ð 	Œ×Ò˜TÑ"Ô"Ð"Ð"Ð"ó    c                 ó:   — d| _         t          j        ¦   «          dS )zv
        This is the desired event.  Once it has happened, stop the reactor so
        the process will exit.
        r   N)ÚexitCodeÚreactorÚstopr   s    r   ÚreadConnectionLostz$HalfCloseProtocol.readConnectionLost%   s   € ð
 ˆŒÝŒ‰Œˆˆˆr   c                 ór   — | j         €d| _         t          j        |d¦  «         t          j        ¦   «          dS )zŒ
        This may only be invoked after C{readConnectionLost}.  If it happens
        otherwise, mark it as an error and shut down.
        Né   z!Unexpected call to connectionLost)r   r   Úerrr   r   )r   Úreasons     r   ÚconnectionLostz HalfCloseProtocol.connectionLost-   s5   € ð
 Œ=Ð ØˆDŒMÝŒG�FÐ?Ñ@Ô@Ð@ÝŒ‰Œˆˆˆr   c                 ó   — d S )N© r   s    r   ÚwriteConnectionLostz%HalfCloseProtocol.writeConnectionLost7   s   € àˆr   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r    r   r   r   r
   r
      sa   € € € € € ðð ð €Hð#ð #ð #ðð ð ðð ð ðð ð ð ð r   r
   Ú__main__r   é   Úwb)r   )r$   ÚsysÚzope.interfacer   Útwisted.internetr   r   Útwisted.internet.interfacesr   Útwisted.pythonr   r   ÚProtocolr
   r!   ÚnamedAnyÚargvÚinstallÚstartLoggingÚopenr   ÚhalfCloseProtocolÚ
StandardIOÚrunÚexitr   r   r   r   ú<module>r7      sq  ðð
ð ð €
€
€
à &Ð &Ð &Ð &Ð &Ð &à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø >Ð >Ð >Ð >Ð >Ð >Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'ð €Ð#Ñ$Ô$ð#ð #ð #ð #ð #˜Ô)ñ #ô #ñ %Ô$ð#ðL ˆzÒÐØ€GÔ�S”X˜a”[Ñ!Ô!×)Ò)Ñ+Ô+Ð+Ø€CÔ�T�T˜#œ( 1œ+ tÑ,Ô,Ñ-Ô-Ð-Ø(Ð(Ð(Ð(Ð(Ð(à)Ð)Ñ+Ô+ÐØ€EÔÐ&Ñ'Ô'Ð'Ø€G„K�M„M€MØ€C„HÐÔ'Ñ(Ô(Ð(Ð(Ð(ð Ðr   