OriginatorMacDataService

Package: inet.linklayer.ieee80211.mac.originator

compound module OriginatorMacDataService

Implements the MAC data service for the originator (sender) side in non-QoS IEEE 802.11 networks. Processes outgoing frames by assigning sequence numbers and performing fragmentation based on the configured policy. Follows the MAC data plane architecture described in IEEE 802.11 standard to prepare frames for transmission.

See also: Dcf, OriginatorQosMacDataService

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

Dcf

compound module

Implements the DCF (Distributed Coordination Function) for IEEE 802.11.

Extends

Name

Type

Description

Module

compound module

Base module for all INET compound modules.

Parameters

Name

Type

Default value

Description

displayStringTextFormat

string

“”

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

Properties

Name

Value

Description

class

OriginatorMacDataService

display

i=block/fork

Signals

Name

Type

Unit

Description

packetAggregated

inet::Packet

unused

packetFragmented

inet::Packet

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

packetAggregated

packets aggregated

count

unused

packetFragmented

packets fragmented

count

Unassigned submodule parameters

Name

Type

Default value

Description

fragmentationPolicy.displayStringTextFormat

string

“”

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

fragmentationPolicy.fragmentationThreshold

int

1500B

Source code

//
// Implements the MAC data service for the originator (sender) side in non-QoS IEEE 802.11
// networks. Processes outgoing frames by assigning sequence numbers and performing
// fragmentation based on the configured policy. Follows the MAC data plane
// architecture described in IEEE 802.11 standard to prepare frames for transmission.
//
// @see Dcf, OriginatorQosMacDataService
//
module OriginatorMacDataService extends Module
{
    parameters:
        @class(OriginatorMacDataService);
        @display("i=block/fork");
        @signal[packetFragmented](type=inet::Packet);
        @signal[packetAggregated](type=inet::Packet); // unused
        @statistic[packetFragmented](title="packets fragmented"; record=count);
        @statistic[packetAggregated](title="packets aggregated"; record=count); // unused
    submodules:
        fragmentationPolicy: <"BasicFragmentationPolicy"> like IFragmentationPolicy if typename != "" {
            parameters:
                @display("p=100,100");
        }
}

File: src/inet/linklayer/ieee80211/mac/originator/OriginatorMacDataService.ned