OriginatorQosMacDataService

Package: inet.linklayer.ieee80211.mac.originator

OriginatorQosMacDataService

compound module

(no description)

msduAggregationPolicy : like IMsduAggregationPolicy

BasicMsduAggregationPolicy: Implements a basic MSDU aggregation policy, controlled by parameters such as the minimum number of...

IMsduAggregationPolicy: Interface for MSDU aggregation policies.

Source:
msduAggregationPolicy: <default("BasicMsduAggregationPolicy")> like IMsduAggregationPolicy if typename != "" {
    parameters:
        @display("p=100,100");
} mpduAggregationPolicy : like IMpduAggregationPolicy

BasicMpduAggregationPolicy: Implements an MPDU aggregation policy which never aggregates frames.

IMpduAggregationPolicy: Interface for MPDU aggregation policies.

Source:
mpduAggregationPolicy: <default("BasicMpduAggregationPolicy")> like IMpduAggregationPolicy if typename != "" {
    parameters:
        @display("p=100,300");
} fragmentationPolicy : like IFragmentationPolicy

BasicFragmentationPolicy: Implements a basic fragmentation policy, which employs a fragmentation frame size threshold.

IFragmentationPolicy: Interface for fragmentation policies.

Source:
fragmentationPolicy: <default("BasicFragmentationPolicy")> like IFragmentationPolicy if typename != "" {
    parameters:
        @display("p=100,200");
}

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Used in compound modules

Name Type Description
Hcf compound module

Implements the HCF (Hybrid Coordination Function) for IEEE 802.11.

Properties

Name Value Description
class OriginatorQosMacDataService
display i=block/fork

Signals

Name Type Unit
packetAggregated inet::Packet
packetFragmented inet::Packet

Statistics

Name Title Source Record Unit Interpolation Mode
packetAggregated packets aggregated count
packetFragmented packets fragmented count

Direct method calls (observed)

call tofunctioninfo
BasicMsduAggregationPolicyinet::ieee80211::BasicMsduAggregationPolicy::computeAggregateFramescomputeAggregateFrames
BasicFragmentationPolicyinet::ieee80211::BasicFragmentationPolicy::computeFragmentSizescomputeFragmentSizes
PendingQueueinet::queueing::PacketQueue::pullPacketpullPacket
PendingQueueinet::queueing::PacketQueue::removePacketremovePacket

Called methods (observed)

functioninfocall from
inet::ieee80211::OriginatorQosMacDataService::extractFramesToTransmitextractFramesToTransmitHcf

Packet operations (observed)

chunkTypepacketAction
peekData, peekDataAt
ByteCountChunkinsertAtBack
SequenceChunkinsertAtBack
SliceChunkinsertAtBack
Ieee80211AddbaRequestinsertAtFront
Ieee80211AddbaResponseinsertAtFront
Ieee80211DataHeaderinsertAtFront, peekAtFront, popAtFront
Ieee80211DataOrMgmtHeaderpopAtFront, removeAtFront
Ieee80211MacTrailerinsertAtBack, popAtBack
Ieee80211MgmtHeaderinsertAtFront
Ieee80211MsduSubframeHeaderinsertAtBack

Source code

module OriginatorQosMacDataService
{
    parameters:
        @class("OriginatorQosMacDataService");
        @display("i=block/fork");
        @signal[packetFragmented](type=inet::Packet);
        @signal[packetAggregated](type=inet::Packet);
        @statistic[packetFragmented](title="packets fragmented"; record=count);
        @statistic[packetAggregated](title="packets aggregated"; record=count);
    submodules:
        msduAggregationPolicy: <default("BasicMsduAggregationPolicy")> like IMsduAggregationPolicy if typename != "" {
            parameters:
                @display("p=100,100");
        }
        mpduAggregationPolicy: <default("BasicMpduAggregationPolicy")> like IMpduAggregationPolicy if typename != "" {
            parameters:
                @display("p=100,300");
        }
        fragmentationPolicy: <default("BasicFragmentationPolicy")> like IFragmentationPolicy if typename != "" {
            parameters:
                @display("p=100,200");
        }
}

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