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