Source code for pcapkit.foundation.reassembly.ipv4

# -*- coding: utf-8 -*-
"""IPv4 Datagram Reassembly
==============================

:mod:`pcapkit.foundation.reassembly.ipv4` contains
:class:`~pcapkit.foundation.reassembly.ipv4.IPv4_Reassembly`
only, which reconstructs fragmented IPv4 packets back to
origin. Please refer to :doc:`ip` for more information.

"""
from typing import TYPE_CHECKING

from pcapkit.foundation.reassembly.ip import IP_Reassembly
from pcapkit.protocols.internet.ipv4 import IPv4

if TYPE_CHECKING:
    from ipaddress import IPv4Address
    from typing import Type

    from typing_extensions import Literal

__all__ = ['IPv4_Reassembly']


[docs]class IPv4_Reassembly(IP_Reassembly['IPv4Address']): """Reassembly for IPv4 payload. Example: >>> from pcapkit.reassembly import IPv4_Reassembly # Initialise instance: >>> ipv4_reassembly = IPv4_Reassembly() # Call reassembly: >>> ipv4_reassembly(packet_dict) # Fetch result: >>> result = ipv4_reassembly.datagram """ ########################################################################## # Properties. ########################################################################## @property def name(self) -> 'Literal["Internet Protocol version 4"]': """Protocol of current packet.""" return 'Internet Protocol version 4' @property def protocol(self) -> 'Type[IPv4]': """Protocol of current reassembly object.""" return IPv4