Reordering

Package: inet.protocolelement.ordering

Reordering

simple module

C++ definition

Reorders out-of-sequence packets based on their sequence numbers. Buffers packets until they can be delivered in the correct order, ensuring sequential processing of packets despite network reordering. Note that this module does not contain a mechanism to recover from packet losses, i.e. a lost packet will cause subsequent packets will be buffered in this module indefinitely.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Used in compound modules

Name Type Description
DataService compound module (no description)
DataService compound module (no description)
ServerHost7 compound module (no description)

Extends

Name Type Description
PacketPusherBase simple module

Base module for various packet pusher modules.

Parameters

Name Type Default value Description
displayStringTextFormat string "processed %p pk (%l)"

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

Properties

Name Value Description
class Reordering
display i=block/rx

Gates

Name Direction Size Description
in input
out output

Source code

//
// Reorders out-of-sequence packets based on their sequence numbers. Buffers
// packets until they can be delivered in the correct order, ensuring sequential
// processing of packets despite network reordering. Note that this module does
// not contain a mechanism to recover from packet losses, i.e. a lost packet
// will cause subsequent packets will be buffered in this module indefinitely.
//
simple Reordering extends PacketPusherBase
{
    parameters:
        @class(Reordering);
        @display("i=block/rx");
}
File: src/inet/protocolelement/ordering/Reordering.ned