§
    Ètºfß  ã                   ó¢   — d Z ddlmZmZmZ ddlmZ ddlmZ ddl	m
Z
  G d„ de¦  «        Z G d„ d	e¦  «        Z G d
„ de
ej        ¦  «        ZdS )z+
Test cases for twisted.protocols.stateful
é    )ÚcalcsizeÚpackÚunpack)ÚStatefulProtocol)Ú
test_basic)ÚTestCasec                   óT   — e Zd ZdZdZdZ ee¦  «        Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zd
S )ÚMyInt32StringReceiverz)
    A stateful Int32StringReceiver.
    iŸ† z!Ic                 ó   — | j         dfS ©Né   )Ú
_getHeader©Úselfs    úY/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/test/test_stateful.pyÚgetInitialStatez%MyInt32StringReceiver.getInitialState   s   € ØŒ Ð!Ð!ó    c                 ó8   — | j                              ¦   «          d S ©N)Ú	transportÚloseConnection)r   Úlengths     r   ÚlengthLimitExceededz)MyInt32StringReceiver.lengthLimitExceeded   s   € ØŒ×%Ò%Ñ'Ô'Ð'Ð'Ð'r   c                 ó|   — t          d|¦  «        \  }|| j        k    r|                      |¦  «         d S | j        |fS )Nú!i)r   Ú
MAX_LENGTHr   Ú
_getString)r   Úmsgr   s      r   r   z MyInt32StringReceiver._getHeader   sF   € Ý˜4 Ñ%Ô%‰	ˆØ�D”OÒ#Ð#Ø×$Ò$ VÑ,Ô,Ð,ØˆFØŒ Ð&Ð&r   c                 ó>   — |                       |¦  «         | j        dfS r   )ÚstringReceivedr   ©r   r   s     r   r   z MyInt32StringReceiver._getString&   s#   € Ø×Ò˜CÑ Ô Ð ØŒ Ð!Ð!r   c                 ó   — t           ‚)z 
        Override this.
        )ÚNotImplementedErrorr!   s     r   r    z$MyInt32StringReceiver.stringReceived*   s
   € õ "Ð!r   c                 ó€   — | j                              t          | j        t	          |¦  «        ¦  «        |z   ¦  «         dS )zS
        Send an int32-prefixed string to the other end of the connection.
        N)r   Úwriter   ÚstructFormatÚlen)r   Údatas     r   Ú
sendStringz MyInt32StringReceiver.sendString0   s8   € ð 	Œ×Ò�T $Ô"3µS¸±Y´YÑ?Ô?À$ÑFÑGÔGÐGÐGÐGr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r&   r   ÚprefixLengthr   r   r   r   r    r)   © r   r   r
   r
      s˜   € € € € € ðð ð €JØ€LØ�8˜LÑ)Ô)€Lð"ð "ð "ð(ð (ð (ð'ð 'ð 'ð"ð "ð "ð"ð "ð "ðHð Hð Hð Hð Hr   r
   c                   ó(   — e Zd Zd„ Zd„ ZdZdZd„ ZdS )Ú	TestInt32c                 ó   — g | _         d S r   )Úreceivedr   s    r   ÚconnectionMadezTestInt32.connectionMade8   s   € ØˆŒˆˆr   c                 ó:   — | j                              |¦  «         d S r   )r3   Úappend)r   Úss     r   r    zTestInt32.stringReceived;   s   € ØŒ×Ò˜QÑÔÐÐÐr   é2   r   c                 ó   — d| _         d S )Né   )Úclosed)r   Úreasons     r   ÚconnectionLostzTestInt32.connectionLostA   s   € ØˆŒˆˆr   N)r*   r+   r,   r4   r    r   r;   r=   r/   r   r   r1   r1   7   sM   € € € € € ðð ð ð ð  ð  ð €JØ€Fðð ð ð ð r   r1   c                   ó.   — e Zd ZeZddgZdgZg d¢Zd„ ZdS )Ú
Int32Testsó   as   bbbbbbbbbbbbbbbbs
      aaaaaa)s      s   hello therer   c                 ó  — |                       ¦   «         }d}| j        dz  D ]%}|t          dt          |¦  «        ¦  «        |z   z  }Œ&|                     |¦  «         |                      |j        | j        dz  ¦  «         d S )Nr   r   r   )ÚgetProtocolÚstringsr   r'   ÚdataReceivedÚassertEqualr3   )r   ÚrÚbigr7   s       r   Útest_bigReceivezInt32Tests.test_bigReceiveK   s†   € Ø×ÒÑÔˆØˆØ” Ñ!ð 	*ð 	*ˆAØ•4˜�c !™fœfÑ%Ô%¨Ñ)Ñ)ˆCˆCØ	�Š�sÑÔÐØ×Ò˜œ T¤\°AÑ%5Ñ6Ô6Ð6Ð6Ð6r   N)	r*   r+   r,   r1   ÚprotocolrC   ÚillegalStringsÚpartialStringsrH   r/   r   r   r?   r?   E   sE   € € € € € Ø€HØ�YÐ€GØ/Ð0€NØ;Ð;Ð;€Nð7ð 7ð 7ð 7ð 7r   r?   N)r-   Ústructr   r   r   Útwisted.protocols.statefulr   Útwisted.protocols.testr   Útwisted.trial.unittestr   r
   r1   ÚIntNTestCaseMixinr?   r/   r   r   ú<module>rQ      sý   ðð
ð ð *Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø -Ð -Ð -Ð -Ð -Ð -Ø +Ð +Ð +Ð +Ð +Ð +ð$Hð $Hð $Hð $Hð $HÐ,ñ $Hô $Hð $HðNð ð ð ð Ð%ñ ô ð ð7ð 7ð 7ð 7ð 7�˜:Ô7ñ 7ô 7ð 7ð 7ð 7r   