class io.IpDefragmenter

class IpDefragmenter {
    // enums

    enum Defaults;

    // structs

    struct Fragment;

    // classes

    class Chain;

    // fields

    size_t m_fragmentLimit = Defaults.FragmentLimit;
    uint_t m_fragmentTimeout = Defaults.FragmentTimeout;
    size_t m_cleanupPeriod = Defaults.CleanupPeriod;

    // methods

    void reset();

    io.IpHdr const* defragment(
        uint64_t timestamp,
        io.IpHdr const* ipHdr,
        size_t size
    );
};