+
    üÐjý  ã                   óê  € R t ^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
Ht ]! ]4       ! R R]P                  4      4       t]R8X  dª   ]P                  ! ]P                   ^,          4      P#                  4        ]
P$                  ! ]! ]P                   ^,          R	4      4       ^ R
IHt ]! 4       t]P,                  ! ]4       ]P.                  ! 4        ]P0                  ! ]P2                  4       R# R# )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                   ó@   a € ] tR t^t o RtRtR tR tR tR t	Rt
V tR# )Ú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                ó<   € V P                   P                  R4       R# )z-
Signal the parent process that we're ready.
ó   xN)Ú	transportÚwrite©Úselfs   &ÚC/usr/lib/python3/dist-packages/twisted/test/stdio_test_halfclose.pyÚconnectionMadeÚ HalfCloseProtocol.connectionMade   s   € ð 	�‰×Ñ˜TÖ"ó    c                ó>   € ^ V n         \        P                  ! 4        R# )z^
This is the desired event.  Once it has happened, stop the reactor so
the process will exit.
N)ÚexitCodeÚreactorÚstopr   s   &r   ÚreadConnectionLostÚ$HalfCloseProtocol.readConnectionLost%   s   € ð
 ˆŒÜ�ŠŽr   c                óˆ   € V P                   f   ^V n         \        P                  ! VR4       \        P                  ! 4        R# )zt
This may only be invoked after C{readConnectionLost}.  If it happens
otherwise, mark it as an error and shut down.
Nz!Unexpected call to connectionLost)r   r   Úerrr   r   )r   Úreasons   &&r   ÚconnectionLostÚ HalfCloseProtocol.connectionLost-   s-   € ð
 �=‰=Ò ØˆDŒMÜ�GŠG�FÐ?Ô@Ü�ŠŽr   c                ó   € R # )N© r   s   &r   ÚwriteConnectionLostÚ%HalfCloseProtocol.writeConnectionLost7   s   € ár   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   r!   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r	   r	      s*   ø‡ € ñð €Hò#òò÷ð r   r	   Ú__main__Ú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>r<      sÅ   ðñ
ó å &ç ,Ý >ß 'ñ Ð#Ó$ô#˜×)Ñ)ó #ó %ð#ðL ˆzÔØ×Ò�S—X‘X˜a•[Ó!×)Ñ)Ô+Ø×Ò‘T˜#Ÿ(™( 1�+ tÓ,Ô-Ý(á)Ó+ÐØ	×ÒÐ&Ô'Ø‡K‚K„MØ‡H‚HÐ×'Ñ'Ö(ñ r   