Your IP : 216.73.217.13


Current Path : /lib/python3/dist-packages/twisted/pair/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/twisted/pair/__pycache__/ip.cpython-38.pyc

U


W[#
�@sjdZddlZddlZddlmZddlmZddlmZGdd�d�Z	dZ
eej�Gd	d
�d
ej��Z
dS)z,Support for working directly with IP packets�N)�protocol)�raw)�implementerc@seZdZdd�ZdS)�IPHeaderc
Cs�t�d|dd��\
}|_|_|_}|_|_|_}}t�	|�|_
t�	|�|_|d@|_|d@d?d>|_
|d@|_|d@d	k|_|d
@d	k|_dS)Nz
!BBHHHBBH4s4s������i�i@ri )�structZunpack�tos�tot_len�fragment_id�ttlrZcheck�socketZ	inet_ntoa�saddr�daddr�version�ihl�fragment_offset�
dont_fragment�more_fragments)�self�dataZ
ihlversionZfrag_offrr�r�1/usr/lib/python3/dist-packages/twisted/pair/ip.py�__init__s�

zIPHeader.__init__N)�__name__�
__module__�__qualname__rrrrrrsrlc@s$eZdZdd�Zdd�Zdd�ZdS)�
IPProtocolcCs
i|_dS)N)�ipProtos)rrrrr$szIPProtocol.__init__cCsRt�|�}|dkrtd��|tkr*td��||jkr>g|j|<|j|�|�dS)Nrz'Added protocol must be positive or zeroz"Added protocol must fit in 32 bits)rZIRawDatagramProtocol�	TypeError�MAX_SIZEr!�append)rZnum�protorrr�addProto's


zIPProtocol.addProtocCsht|�}|j�|jd�D]J}|j|dd�||j|j|j|j|j|j	|j
|j|j|j
|j|jd�qdS)Nrr)r�partial�source�destrrrrr
rrrrr)rr!�getr�datagramReceivedrrrrrr
rrrrr)rrr'r)r(r�headerr%rrrr+1s"�zIPProtocol.datagramReceivedN)rrrrr&r+rrrrr "s
r )�__doc__rrZtwisted.internetrZtwisted.pairrZzope.interfacerrr#ZIRawPacketProtocolZAbstractDatagramProtocolr rrrr�<module>s