Package: inet.linklayer.base
MACProtocolBase
simple moduleModule base for different MAC protocols.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Known subclasses
| Name | Type | Description |
|---|---|---|
| BMacLayer | simple module |
Implementation of B-MAC (called also Berkeley MAC, Low Power Listening or LPL). See C++ documentation for details. |
| CSMA | simple module |
Generic CSMA protocol supporting Mac-ACKs as well as constant, linear or exponential backoff times. |
| CsmaCaMac | simple module |
Implements an imaginary CSMA/CA-based MAC protocol with optional acknowledgements and a retry mechanism. With the appropriate settings, it can approximate basic 802.11b ad-hoc mode operation. |
| IdealMac | simple module |
Implements a trivial MAC layer for use in IdealWirelessNic. |
| LMacLayer | simple module |
Implementation of L-MAC (Lightweight Medium Access Protocol for Wireless Sensor Networks) |
| XMacLayer | simple module |
Implementation of X-MAC. See C++ documentation for details. |
Extends
| Name | Type | Description |
|---|---|---|
| LayeredProtocolBase | simple module |
Module base for different layered protocols. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| interfaceTableModule | string |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/rxtx |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| upperLayerIn | input | ||
| upperLayerOut | output | ||
| lowerLayerIn | input | ||
| lowerLayerOut | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetReceivedFromUpper | cPacket | |
| packetReceivedFromLower | cPacket | |
| packetFromLowerDropped | cPacket | |
| packetFromUpperDropped | cPacket | |
| packetSentToLower | cPacket | |
| packetSentToUpper | cPacket |
Source code
// // Module base for different MAC protocols. // simple MACProtocolBase extends LayeredProtocolBase { parameters: string interfaceTableModule; @display("i=block/rxtx"); gates: input upperLayerIn @labels(INetworkDatagram/down); output upperLayerOut @labels(INetworkDatagram/up); input lowerLayerIn @labels(ILinkLayerFrame/up); output lowerLayerOut @labels(ILinkLayerFrame/down); }File: src/inet/linklayer/base/MACProtocolBase.ned