
    Vh                        d Z ddlZddlmZmZ ddlmZmZ  G d dej                        Z	e
dk(  r\ ej                  ej                  d         j                          dd	lmZ  ej                   e	               ej                           yy)
z
Main program for the child process run by
L{twisted.test.test_stdio.StandardInputOutputTests.test_producer} to test
that process transports implement IProducer properly.
    N)protocolstdio)logreflectc                   ,    e Zd ZdZdZd Zd Zd Zd Zy)ProducerChildF    c                 v    t        j                  d       t        j                  dt        j                         y )Nz*****OVER*****   )r   msgreactor	callLaterstop)selfreasons     P/home/dcms/DCMS/lib/python3.12/site-packages/twisted/test/stdio_test_producer.pyconnectionLostzProducerChild.connectionLost   s#     !!W\\*r	   c                    | xj                   |z  c_         | j                  rSt        j                  t        j
                         t        j                  d       | j                  j                          y | j                  j                  |       | j                   j                  d      r| j                  j                          y | j                          y )Nz$dataReceived while transport paused!s   
0
)buf_pausedr   startLoggingsysstderrr   	transportloseConnectionwriteendswithpause)r   datas     r   dataReceivedzProducerChild.dataReceived   s    D<<SZZ(GG:;NN))+NN  &xx  *--/

r	   c                     d| _         | j                  j                          t        j                  d| j
                         y )NTg{Gz?)r   r   pauseProducingr   r   unpauser   s    r   r   zProducerChild.pause'   s-    %%'$-r	   c                 F    d| _         | j                  j                          y )NF)r   r   resumeProducingr$   s    r   r#   zProducerChild.unpause,   s    &&(r	   N)	__name__
__module____qualname__r   r   r   r    r   r#    r	   r   r   r      s     G
C+.
)r	   r   __main__r   )r   )__doc__r   twisted.internetr   r   twisted.pythonr   r   Protocolr   r'   namedAnyargvinstallr   
StandardIOrunr*   r	   r   <module>r5      sw   
  , ')H%% )> zGSXXa[!))+(E]_%GKKM r	   