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