Module base for different MAC protocols.
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Description |
---|---|---|
LayeredProtocolBase | simple module |
Module base for different layered protocols. |
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) |
Name | Type | Default value | Description |
---|---|---|---|
interfaceTableModule | string |
Name | Value | Description |
---|---|---|
display | i=block/rxtx |
Name | Direction | Size | Description |
---|---|---|---|
upperLayerIn | input | ||
upperLayerOut | output | ||
lowerLayerIn | input | ||
lowerLayerOut | output |
Name | Type | Unit |
---|---|---|
packetReceivedFromUpper | cPacket | |
packetReceivedFromLower | cPacket | |
packetFromLowerDropped | cPacket | |
packetFromUpperDropped | cPacket | |
packetSentToLower | cPacket | |
packetSentToUpper | cPacket |
// // 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); }