INET Framework for OMNeT++/OMNEST
inet::physicallayer::PhysicalLayerBase Class Reference

#include <PhysicalLayerBase.h>

Inheritance diagram for inet::physicallayer::PhysicalLayerBase:
inet::LayeredProtocolBase inet::IPhysicalLayer inet::OperationalBase inet::OperationalMixin< cSimpleModule > inet::ILifecycle inet::physicallayer::Radio inet::physicallayer::ShortcutRadio inet::physicallayer::NarrowbandRadioBase inet::physicallayer::UnitDiskRadio inet::physicallayer::FlatRadioBase inet::physicallayer::ApskRadio inet::physicallayer::Ieee80211OfdmRadio inet::physicallayer::Ieee80211Radio

Protected Member Functions

virtual void initialize (int stage) override
 
virtual void handleSignal (WirelessSignal *signal)
 
virtual void handleLowerMessage (cMessage *message) override
 
virtual void sendUp (cMessage *message)
 
virtual bool isUpperMessage (cMessage *message) const override
 
virtual bool isLowerMessage (cMessage *message) const override
 
virtual bool isInitializeStage (int stage) const override
 
virtual bool isModuleStartStage (int stage) const override
 
virtual bool isModuleStopStage (int stage) const override
 
- Protected Member Functions inherited from inet::LayeredProtocolBase
virtual void handleMessageWhenUp (cMessage *message) override
 
virtual void handleSelfMessage (cMessage *message)
 
virtual void handleUpperMessage (cMessage *message)
 
virtual void handleUpperCommand (cMessage *message)
 
virtual void handleLowerCommand (cMessage *message)
 
virtual void handleUpperPacket (Packet *packet)
 
virtual void handleLowerPacket (Packet *packet)
 
- Protected Member Functions inherited from inet::OperationalMixin< cSimpleModule >
virtual int numInitStages () const override
 
virtual void refreshDisplay () const override
 
virtual void handleMessage (cMessage *msg) override
 
virtual void handleMessageWhenDown (cMessage *msg)
 
virtual bool handleOperationStage (LifecycleOperation *operation, IDoneCallback *doneCallback) override
 Perform one stage of a lifecycle operation. More...
 
virtual void handleStartOperation (LifecycleOperation *operation)=0
 
virtual void handleStopOperation (LifecycleOperation *operation)=0
 
virtual void handleCrashOperation (LifecycleOperation *operation)=0
 
virtual State getInitialOperationalState () const
 Returns initial operational state: OPERATING or NOT_OPERATING. More...
 
virtual void handleActiveOperationTimeout (cMessage *message)
 
virtual bool isUp () const
 utility functions More...
 
virtual bool isDown () const
 
virtual void setOperationalState (State newState)
 
virtual void scheduleOperationTimeout (simtime_t timeout)
 
virtual void setupActiveOperation (LifecycleOperation *operation, IDoneCallback *doneCallback, State)
 
virtual void delayActiveOperationFinish (simtime_t timeout)
 
virtual void startActiveOperationExtraTime (simtime_t delay=SIMTIME_ZERO)
 
virtual void startActiveOperationExtraTimeOrFinish (simtime_t extraTime)
 
virtual void finishActiveOperation ()
 

Protected Attributes

int upperLayerInGateId = -1
 
int upperLayerOutGateId = -1
 
int radioInGateId = -1
 
- Protected Attributes inherited from inet::OperationalMixin< cSimpleModule >
State operationalState
 
simtime_t lastChange
 
Operation activeOperation
 
cMessage * activeOperationTimeout
 
cMessage * activeOperationExtraTimer
 

Additional Inherited Members

- Public Member Functions inherited from inet::OperationalMixin< cSimpleModule >
virtual ~OperationalMixin ()
 }@ More...
 
- Public Member Functions inherited from inet::ILifecycle
virtual ~ILifecycle ()
 
- Public Member Functions inherited from inet::IPhysicalLayer
virtual ~IPhysicalLayer ()
 
- Protected Types inherited from inet::OperationalMixin< cSimpleModule >
enum  State
 

Member Function Documentation

◆ handleLowerMessage()

void inet::physicallayer::PhysicalLayerBase::handleLowerMessage ( cMessage *  message)
overrideprotectedvirtual

Reimplemented from inet::LayeredProtocolBase.

27 {
28  if (!message->isPacket())
29  handleLowerCommand(message);
30  else {
31  emit(packetReceivedFromLowerSignal, message);
32  handleSignal(check_and_cast<WirelessSignal *>(message));
33  }
34 }

◆ handleSignal()

void inet::physicallayer::PhysicalLayerBase::handleSignal ( WirelessSignal signal)
protectedvirtual

Reimplemented in inet::physicallayer::Radio.

37 {
38  throw cRuntimeError("Signal '%s' is not handled.", signal->getName());
39 }

Referenced by handleLowerMessage().

◆ initialize()

void inet::physicallayer::PhysicalLayerBase::initialize ( int  stage)
overrideprotectedvirtual

◆ isInitializeStage()

virtual bool inet::physicallayer::PhysicalLayerBase::isInitializeStage ( int  stage) const
inlineoverrideprotectedvirtual

◆ isLowerMessage()

bool inet::physicallayer::PhysicalLayerBase::isLowerMessage ( cMessage *  message) const
overrideprotectedvirtual

Implements inet::LayeredProtocolBase.

54 {
55  return message->getArrivalGateId() == radioInGateId;
56 }

◆ isModuleStartStage()

virtual bool inet::physicallayer::PhysicalLayerBase::isModuleStartStage ( int  stage) const
inlineoverrideprotectedvirtual

◆ isModuleStopStage()

virtual bool inet::physicallayer::PhysicalLayerBase::isModuleStopStage ( int  stage) const
inlineoverrideprotectedvirtual

◆ isUpperMessage()

bool inet::physicallayer::PhysicalLayerBase::isUpperMessage ( cMessage *  message) const
overrideprotectedvirtual

Implements inet::LayeredProtocolBase.

49 {
50  return message->getArrivalGateId() == upperLayerInGateId;
51 }

◆ sendUp()

void inet::physicallayer::PhysicalLayerBase::sendUp ( cMessage *  message)
protectedvirtual
42 {
43  if (message->isPacket())
44  emit(packetSentToUpperSignal, message);
45  send(message, upperLayerOutGateId);
46 }

Member Data Documentation

◆ radioInGateId

int inet::physicallayer::PhysicalLayerBase::radioInGateId = -1
protected

Referenced by initialize(), and isLowerMessage().

◆ upperLayerInGateId

int inet::physicallayer::PhysicalLayerBase::upperLayerInGateId = -1
protected

Referenced by initialize(), and isUpperMessage().

◆ upperLayerOutGateId

int inet::physicallayer::PhysicalLayerBase::upperLayerOutGateId = -1
protected

Referenced by initialize(), and sendUp().


The documentation for this class was generated from the following files:
inet::OperationalMixin< cSimpleModule >::initialize
virtual void initialize(int stage) override
Definition: OperationalMixinImpl.h:26
inet::LayeredProtocolBase::handleLowerCommand
virtual void handleLowerCommand(cMessage *message)
Definition: LayeredProtocolBase.cc:56
inet::physicallayer::PhysicalLayerBase::upperLayerOutGateId
int upperLayerOutGateId
Definition: PhysicalLayerBase.h:24
inet::ModuleStartOperation::STAGE_PHYSICAL_LAYER
@ STAGE_PHYSICAL_LAYER
Definition: ModuleOperations.h:27
inet::ModuleStopOperation::STAGE_PHYSICAL_LAYER
@ STAGE_PHYSICAL_LAYER
Definition: ModuleOperations.h:55
inet::physicallayer::PhysicalLayerBase::upperLayerInGateId
int upperLayerInGateId
Definition: PhysicalLayerBase.h:23
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::INITSTAGE_PHYSICAL_LAYER
INET_API InitStage INITSTAGE_PHYSICAL_LAYER
Initialization of physical layer protocols includes:
inet::packetReceivedFromLowerSignal
simsignal_t packetReceivedFromLowerSignal
Definition: Simsignals.cc:91
inet::physicallayer::PhysicalLayerBase::handleSignal
virtual void handleSignal(WirelessSignal *signal)
Definition: PhysicalLayerBase.cc:36
inet::packetSentToUpperSignal
simsignal_t packetSentToUpperSignal
Definition: Simsignals.cc:87
inet::physicallayer::PhysicalLayerBase::radioInGateId
int radioInGateId
Definition: PhysicalLayerBase.h:25