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
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 |
---|---|---|
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 |
Name | Type | Default value | Description |
---|---|---|---|
coreDebug | bool | false |
debug switch for the core framework |
Name | Value | Description |
---|---|---|
display | i=block/process_s |
Name | Direction | Size | Description |
---|---|---|---|
uppergateOut | output |
to MAC layer |
|
lowergateIn | input |
from snrEval sub-module |
// // 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 }