Module Interface IRx

Package: inet.linklayer.ieee80211.mac.contract
File: src/inet/linklayer/ieee80211/mac/contract/IRx.ned

Interface for Rx processes. The Rx process checks received frames for errors, manages the NAV, and notifies Tx processes about the channel state (free or busy). The channel is free only if it is free according to both the physical (CCA) and the virtual (NAV-based) carrier sense algorithms. Correctly received frames are sent up to UpperMac (see IUpperMac), corrupted frames are discarded. Tx processes are also notified about corrupted and correctly received frames. so they can switch between using DIFS/AIFS and EIFS according to the channel access procedure.

IRx

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Used in compound modules:

Name Type Description
Ieee80211Mac compound module

Implementation of the 802.11b MAC protocol. This module is intended to be used in combination with the Ieee80211Radio module as the physical layer. (The SnrEval80211 and Decider80211 modules should also work if per-packet bitrate setting gets implemented.)

Properties:

Name Value Description
display i=block/rx

Source code:

//
// Interface for Rx processes. The Rx process checks received frames for
// errors, manages the NAV, and notifies Tx processes about the channel state
// (free or busy). The channel is free only if it is free according to both
// the physical (CCA) and the virtual (NAV-based) carrier sense algorithms.
// Correctly received frames are sent up to UpperMac (see IUpperMac), corrupted
// frames are discarded. Tx processes are also notified about corrupted and
// correctly received frames. so they can switch between using DIFS/AIFS and EIFS
// according to the channel access procedure.
//
moduleinterface IRx
{
    parameters:
        @display("i=block/rx");
}