INET Framework for OMNeT++/OMNEST
|
#include <RadioState.h>
Public Types | |
enum | State { IDLE, RECV, TRANSMIT, SLEEP } |
Public Member Functions | |
RadioState (int radioModuleId) | |
int | getRadioId () const |
State | getState () const |
void | setState (State s) |
int | getChannelNumber () const |
void | setChannelNumber (int chan) |
double | getBitrate () const |
void | setBitrate (double d) |
std::string | info () const |
Static Public Member Functions | |
static const char * | stateName (State state) |
Private Attributes | |
int | radioId |
State | state |
int | channelNumber |
double | bitrate |
Holds the current state and other properties of the radio. Possible states are:
enum RadioState::State |
RadioState::RadioState | ( | int | radioModuleId | ) | [inline] |
Constructor
: cPolymorphic() { radioId = radioModuleId; state = IDLE; channelNumber = -1; bitrate = -1; }
double RadioState::getBitrate | ( | ) | const [inline] |
function to get the bitrate
Referenced by AbstractRadio::encapsulatePacket(), SnrEval::handleCommand(), AbstractRadio::handleCommand(), and AbstractRadio::setBitrate().
{ return bitrate; }
int RadioState::getChannelNumber | ( | ) | const [inline] |
function to get the channel number (frequency)
Referenced by SnrEval::changeChannel(), AbstractRadio::changeChannel(), SnrEval::handleCommand(), AbstractRadio::handleCommand(), SnrEval::initialize(), and AbstractRadio::initialize().
{ return channelNumber; }
int RadioState::getRadioId | ( | ) | const [inline] |
id of the radio/snrEval module -- identifies the radio in case there're more than one in the host
{ return radioId; }
State RadioState::getState | ( | ) | const [inline] |
Returns radio state
Referenced by SnrEval::changeChannel(), AbstractRadio::changeChannel(), SnrEval::handleCommand(), AbstractRadio::handleCommand(), SnrEval::handleLowerMsgEnd(), GilbertElliotSnr::handleLowerMsgEnd(), AbstractRadio::handleLowerMsgEnd(), SnrEval::handleLowerMsgStart(), GilbertElliotSnr::handleLowerMsgStart(), AbstractRadio::handleLowerMsgStart(), SnrEval::handleUpperMsg(), AbstractRadio::handleUpperMsg(), SnrEval::setBitrate(), and AbstractRadio::setBitrate().
{ return state; }
std::string RadioState::info | ( | ) | const [inline] |
Enables inspection
Referenced by operator<<().
{ std::stringstream out; out << stateName(state) << ", channel #" << channelNumber << ", " << (bitrate/1e6) << "Mbps "; return out.str(); }
void RadioState::setBitrate | ( | double | d | ) | [inline] |
set the bitrate
Referenced by AbstractRadio::initialize(), and AbstractRadio::setBitrate().
{ bitrate = d; }
void RadioState::setChannelNumber | ( | int | chan | ) | [inline] |
set the channel number (frequency)
Referenced by SnrEval::changeChannel(), AbstractRadio::changeChannel(), SnrEval::initialize(), and AbstractRadio::initialize().
{ channelNumber = chan; }
void RadioState::setState | ( | State | s | ) | [inline] |
Sets the radio state
Referenced by SnrEval::handleLowerMsgEnd(), GilbertElliotSnr::handleLowerMsgEnd(), SnrEval::handleLowerMsgStart(), GilbertElliotSnr::handleLowerMsgStart(), SnrEval::handleSelfMsg(), GilbertElliotSnr::handleSelfMsg(), SnrEval::handleUpperMsg(), SnrEval::initialize(), AbstractRadio::initialize(), and AbstractRadio::setRadioState().
{ state = s; }
static const char* RadioState::stateName | ( | State | state | ) | [inline, static] |
double RadioState::bitrate [private] |
int RadioState::channelNumber [private] |
int RadioState::radioId [private] |
State RadioState::state [private] |