Package: inet.linklayer.ieee80211.mac.channelaccess
Dcaf
compound moduleImplements the DCAF (Distributed Channel Access Function) for IEEE 802.11.
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. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
difsn | int | -1 | |
cwMin | int | -1 | |
cwMax | int | -1 | |
rxModule | string |
Properties
Name | Value | Description |
---|---|---|
class | Dcaf | |
display | i=block/star |
Signals
Name | Type | Unit |
---|---|---|
channelOwnershipChanged | bool |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
channelOwnershipChanged | channel ownership | count, vector? | sample-hold |
Direct method calls (observed)
call to | function | info |
---|---|---|
Contention | inet::ieee80211::Contention::mediumStateChanged | medium BUSY |
Contention | inet::ieee80211::Contention::mediumStateChanged | medium FREE |
Contention | inet::ieee80211::Contention::startContention | startContention |
Dcf | inet::ieee80211::Dcf::channelGranted | channelGranted |
Called methods (observed)
function | info | call from |
---|---|---|
inet::ieee80211::Dcaf::channelAccessGranted | channelAccessGranted | Contention |
inet::ieee80211::Dcaf::incrementCw | incrementCw | Dcf |
inet::ieee80211::Dcaf::receiveSignal | modesetChanged | Ieee80211Mac |
inet::ieee80211::Dcaf::releaseChannel | releaseChannel | Dcf |
inet::ieee80211::Dcaf::requestChannel | requestChannel | Dcf |
inet::ieee80211::Dcaf::resetCw | resetCw | Dcf |
Unassigned submodule parameters
Name | Type | Default value | Description |
---|---|---|---|
inProgressFrames.pendingQueueModule | string | "^.pendingQueue" | |
inProgressFrames.originatorMacDataServiceModule | string | "^.^.originatorMacDataService" | |
inProgressFrames.ackHandlerModule | string | "^.^.ackHandler" |
Source code
// // Implements the DCAF (Distributed Channel Access Function) for IEEE 802.11. // module Dcaf { parameters: int difsn = default(-1); int cwMin = default(-1); int cwMax = default(-1); string rxModule; @class("Dcaf"); @display("i=block/star"); @signal[channelOwnershipChanged](type=bool); @statistic[channelOwnershipChanged](title="channel ownership"; record=count,vector?; interpolationmode=sample-hold); submodules: pendingQueue: <default("PendingQueue")> like IPacketQueue { parameters: @display("p=100,100"); } inProgressFrames: InProgressFrames { parameters: pendingQueueModule = default("^.pendingQueue"); originatorMacDataServiceModule = default("^.^.originatorMacDataService"); ackHandlerModule = default("^.^.ackHandler"); @display("p=100,200"); } contention: <default("Contention")> like IContention { parameters: @display("p=100,300"); } }File: src/inet/linklayer/ieee80211/mac/channelaccess/Dcaf.ned