Reordering

Package: inet.protocolelement.ordering

simple module Reordering

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.

inet.protocolelement.ordering.ReorderingReorderingsimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

DataService

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 {numProcessedPackets} pk ({processedTotalLength})”

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