Simple Module BasicDecider

Package: inet.linklayer.mfcore
File: src/linklayer/mfcore/BasicDecider.ned

C++ definition

Module to decide whether a frame is received correctly or is lost due to bit errors, interference...

The decider module only handles messages from lower layers. All messages from upper layers are directly passed to the snrEval layer and cannot be processed in the decider module

This is the basic decider module which does not really decide anything. It only provides the basic functionality which all decider modules should have, namely message de- &encapsulation (For further information about the functionality of the physical layer modules and the formats used for communication in between them have a look at the manual

Every own decider module class should be derived from this class and only the handle*Msg functions may be redefined for your own needs. The other functions should usually NOT be changed.

All decider modules should assume bits as a unit for the length fields.

This component has been taken over from Mobility Framework 1.0a5.

Author: Marc Löbbers, Daniel Willkomm

BasicDecider

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
NicCsma compound module

The CsmaNic contains a csma-like MAC layer. The SnrEval module is used as the mac needs a RadioState to be published. However as still the BasicDecider is used all messages will be delivered to the MAC and no packets get lost

Parameters:

Name Type Default value Description
coreDebug bool false

debug switch for the core framework

Properties:

Name Value Description
display i=block/process_s

Gates:

Name Direction Size Description
uppergateOut output

to MAC layer

lowergateIn input

from snrEval sub-module

Source code:

//
// Module to decide whether a frame is received correctly or is
// lost due to bit errors, interference...
//
// The decider module only handles messages from lower layers. All
// messages from upper layers are directly passed to the snrEval layer
// and cannot be processed in the decider module
//
// This is the basic decider module which does not really decide
// anything. It only provides the basic functionality which all
// decider modules should have, namely message de- &encapsulation
// (For further information about the functionality of the physical
// layer modules and the formats used for communication in between
// them have a look at the manual
//
// Every own decider module class should be derived from this class
// and only the handle*Msg functions may be redefined for your own
// needs. The other functions should usually NOT be changed.
//
// All decider modules should assume bits as a unit for the length
// fields.
//
// This component has been taken over from Mobility Framework 1.0a5.
//
// @author Marc Löbbers, Daniel Willkomm
//
simple BasicDecider
{
    parameters:
        bool coreDebug = default(false); // debug switch for the core framework
        @display("i=block/process_s");
    gates:
        output uppergateOut; // to MAC layer
        input lowergateIn; // from snrEval sub-module
}