HOME


Mini Shell 1.0
DIR: /proc/self/root/lib/python3/dist-packages/twisted/pair/__pycache__/
Upload File :
Current File : //proc/self/root/lib/python3/dist-packages/twisted/pair/__pycache__/rawudp.cpython-312.pyc
�

Ϫ�f���dZddlZddlmZddlmZddlmZGd�d�Zeej�Gd�d	ej��Zy)
z1
Implementation of raw packet interfaces for UDP
�N)�implementer)�protocol)�rawc��eZdZd�Zy)�	UDPHeaderc�h�tjd|dd�\|_|_|_|_y)Nz!HHHH�)�struct�unpack�source�dest�len�check)�self�datas  �5/usr/lib/python3/dist-packages/twisted/pair/rawudp.py�__init__zUDPHeader.__init__s,��9?����T�"�1�X�:
�6���d�i���4�:�N)�__name__�
__module__�__qualname__r�rrrrs��
rrc��eZdZd�Zd�Zd�Zy)�RawUDPProtocolc��i|_y)N)�	udpProtos)rs rrzRawUDPProtocol.__init__s	����rc��t|tj�std��|dkrtd��|dk\rtd��||jvrg|j|<|j|j|�y)Nz6Added protocol must be an instance of DatagramProtocolrz'Added protocol must be positive or zeroiz"Added protocol must fit in 16 bits)�
isinstancer�DatagramProtocol�	TypeErrorr�append)r�num�protos   r�addProtozRawUDPProtocol.addProtosu���%��!:�!:�;��T�U�U���7��E�F�F��%�<��@�A�A��d�n�n�$�"$�D�N�N�3�����s��"�"�5�)rc��t|�}|jj|jd�D]#}|j	|dd||j
f��%y)Nrr	)rr�getr
�datagramReceivedr)rr�partialrr
r�version�ihl�tos�tot_len�fragment_id�fragment_offset�
dont_fragment�more_fragments�ttl�headerr#s                 rr'zRawUDPProtocol.datagramReceived(sR��"�4����^�^�'�'����R�8�	F�E��"�"�4���8�f�f�m�m�-D�E�	FrN)rrrrr$r'rrrrrs���	*�Frr)�__doc__r
�zope.interfacer�twisted.internetr�twisted.pairrr�IRawDatagramProtocol�AbstractDatagramProtocolrrrr�<module>r9sQ��
��&�%��
�
�
�S�
%�
%�&�"F�X�6�6�"F�'�"Fr