IRx

Package: inet.linklayer.ieee80211.mac.contract

IRx

module interface

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.

Inheritance diagram

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

Implemented by

Name Type Description
Rx simple module

The default implementation of IRx.

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");
}
File: src/inet/linklayer/ieee80211/mac/contract/IRx.ned