Source code for pcapkit.foundation.reassembly
# -*- coding: utf-8 -*-
# pylint: disable=unused-import
"""Fragmented Packets Reassembly
===================================
.. module:: pcapkit.foundation.reassembly
:mod:`pcapkit.foundation.reassembly`, based on algorithms described
in :rfc:`791`, :rfc:`815` and :rfc:`6347`, implements datagram
reassembly of IP packets, TCP segments and DTLS handshake messages.
"""
# Reassembly for DTLS handshake messages
from pcapkit.foundation.reassembly.dtls import DTLS as DTLS_Reassembly
from pcapkit.foundation.reassembly.ip import IP as IP_Reassembly
# Reassembly for IP
from pcapkit.foundation.reassembly.ipv4 import IPv4 as IPv4_Reassembly
from pcapkit.foundation.reassembly.ipv6 import IPv6 as IPv6_Reassembly
# Base Class for Reassembly
from pcapkit.foundation.reassembly.reassembly import Reassembly
# Reassembly for TCP
from pcapkit.foundation.reassembly.tcp import TCP as TCP_Reassembly
__all__ = [
'IPv4_Reassembly', 'IPv6_Reassembly', # IP Reassembly
'TCP_Reassembly', # TCP Reassembly
'DTLS_Reassembly', # DTLS Reassembly
'ReassemblyManager', # Reassembly Manager, defined below
]
from typing import TYPE_CHECKING
from pcapkit.corekit.infoclass import Info, info_final
if TYPE_CHECKING:
from typing import Optional
[docs]
@info_final
class ReassemblyManager(Info):
"""Reassembly Manager."""
#: IPv4 reassembly.
ipv4: 'IPv4_Reassembly'
#: IPv6 reassembly.
ipv6: 'IPv6_Reassembly'
#: TCP reassembly.
tcp: 'TCP_Reassembly'
#: DTLS handshake-message reassembly.
#:
#: .. versionadded:: 1.6.0
dtls: 'DTLS_Reassembly'
if TYPE_CHECKING:
def __init__(self, ipv4: 'Optional[IPv4_Reassembly]', ipv6: 'Optional[IPv6_Reassembly]', tcp: 'Optional[TCP_Reassembly]', dtls: 'Optional[DTLS_Reassembly]') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,line-too-long