OriginatorMacDataService

Package: inet.linklayer.ieee80211.mac.originator

OriginatorMacDataService

compound module

(no description)

fragmentationPolicy : like IFragmentationPolicy

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

IFragmentationPolicy: Interface for fragmentation policies.

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

Usage diagram

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

Used in compound modules

Name Type Description
Dcf compound module

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

Properties

Name Value Description
class OriginatorMacDataService
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
BasicFragmentationPolicyinet::ieee80211::BasicFragmentationPolicy::computeFragmentSizescomputeFragmentSizes
PendingQueueinet::queueing::PacketQueue::pullPacketpullPacket

Called methods (observed)

functioninfocall from
inet::ieee80211::OriginatorMacDataService::extractFramesToTransmitextractFramesToTransmitDcf

Packet operations (observed)

chunkTypepacketAction
peekDataAt
ByteCountChunkinsertAtBack
SequenceChunkinsertAtBack
SliceChunkinsertAtBack
Ieee80211DataHeaderinsertAtFront
Ieee80211DataOrMgmtHeaderpopAtFront, removeAtFront
Ieee80211MacTrailerinsertAtBack, popAtBack
Ieee80211MgmtHeaderinsertAtFront

Source code

module OriginatorMacDataService
{
    parameters:
        @class("OriginatorMacDataService");
        @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:
        fragmentationPolicy: <"BasicFragmentationPolicy"> like IFragmentationPolicy if typename != "" {
            parameters:
                @display("p=100,100");
        }
}

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