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

#include <WirelessSignal.h>

Inheritance diagram for inet::physicallayer::WirelessSignal:
inet::physicallayer::Signal inet::physicallayer::IWirelessSignal inet::IPrintableObject inet::IPhysicalLayerFrame inet::IPrintableObject

Public Member Functions

 WirelessSignal (const ITransmission *transmission)
 
 WirelessSignal (const WirelessSignal &other)
 
virtual WirelessSignaldup () const override
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints this object to the provided output stream. More...
 
virtual const IRadiogetTransmitter () const
 
virtual const IRadiogetReceiver () const
 
virtual const ITransmissiongetTransmission () const override
 Returns the radio signal transmission that this signal represents. More...
 
virtual const IArrivalgetArrival () const override
 This function may return nullptr if this is not yet computed. More...
 
virtual const IListeninggetListening () const override
 This function may return nullptr if this is not yet computed. More...
 
virtual const IReceptiongetReception () const override
 This function may return nullptr if this is not yet computed. More...
 
- Public Member Functions inherited from inet::physicallayer::Signal
 Signal (const char *name=nullptr, short kind=0, int64_t bitLength=0)
 
 Signal (const Signal &other)
 
virtual const char * getFullName () const override
 
virtual std::string str () const override
 
- Public Member Functions inherited from inet::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string printToString () const
 
virtual std::string printToString (int level, int evFlags=0) const
 
virtual std::string getInfoStringRepresentation (int evFlags=0) const
 
virtual std::string getDetailStringRepresentation (int evFlags=0) const
 
virtual std::string getDebugStringRepresentation (int evFlags=0) const
 
virtual std::string getTraceStringRepresentation (int evFlags=0) const
 
virtual std::string getCompleteStringRepresentation (int evFlags=0) const
 
- Public Member Functions inherited from inet::IPhysicalLayerFrame
virtual ~IPhysicalLayerFrame ()
 

Protected Member Functions

bool isDup () const
 

Protected Attributes

const int transmissionId
 
const ITransmissiontransmission
 
const IRadioMediumradioMedium
 
const IRadioreceiver = nullptr
 
const IArrivalarrival = nullptr
 
const IListeninglistening = nullptr
 
const IReceptionreception = nullptr
 

Additional Inherited Members

- Public Types inherited from inet::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 
enum  PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0), PRINT_FLAG_MULTILINE = (1 << 1) }
 

Constructor & Destructor Documentation

◆ WirelessSignal() [1/2]

inet::physicallayer::WirelessSignal::WirelessSignal ( const ITransmission transmission)

◆ WirelessSignal() [2/2]

inet::physicallayer::WirelessSignal::WirelessSignal ( const WirelessSignal other)
23  :
24  Signal(other),
25  transmissionId(other.transmissionId),
26  transmission(nullptr),
27  radioMedium(other.radioMedium)
28 {
29 }

Member Function Documentation

◆ dup()

virtual WirelessSignal* inet::physicallayer::WirelessSignal::dup ( ) const
inlineoverridevirtual

Reimplemented from inet::physicallayer::Signal.

35 { return new WirelessSignal(*this); }

◆ getArrival()

const IArrival * inet::physicallayer::WirelessSignal::getArrival ( ) const
overridevirtual

This function may return nullptr if this is not yet computed.

Implements inet::physicallayer::IWirelessSignal.

58 {
59  if (!isDup()) {
60  if (arrival == nullptr)
62  return arrival;
63  }
64  else {
66  return transmission != nullptr ? radioMedium->getArrival(getReceiver(), transmission) : nullptr;
67  }
68 }

Referenced by inet::physicallayer::Radio::continueReception(), inet::physicallayer::Radio::endReception(), and inet::physicallayer::Radio::startReception().

◆ getListening()

const IListening * inet::physicallayer::WirelessSignal::getListening ( ) const
overridevirtual

This function may return nullptr if this is not yet computed.

Implements inet::physicallayer::IWirelessSignal.

71 {
72  if (!isDup()) {
73  if (listening == nullptr)
75  return listening;
76  }
77  else {
79  return transmission != nullptr ? radioMedium->getListening(getReceiver(), transmission) : nullptr;
80  }
81 }

◆ getReceiver()

const IRadio * inet::physicallayer::WirelessSignal::getReceiver ( ) const
virtual
43 {
44  if (receiver == nullptr)
45  receiver = check_and_cast<const IRadio *>(getArrivalModule());
46  return receiver;
47 }

Referenced by getArrival(), getListening(), and getReception().

◆ getReception()

const IReception * inet::physicallayer::WirelessSignal::getReception ( ) const
overridevirtual

This function may return nullptr if this is not yet computed.

Implements inet::physicallayer::IWirelessSignal.

84 {
85  if (!isDup()) {
86  if (reception == nullptr)
88  return reception;
89  }
90  else {
92  return transmission != nullptr ? radioMedium->getReception(getReceiver(), transmission) : nullptr;
93  }
94 }

Referenced by inet::physicallayer::Radio::abortReception().

◆ getTransmission()

const ITransmission * inet::physicallayer::WirelessSignal::getTransmission ( ) const
overridevirtual

◆ getTransmitter()

const IRadio * inet::physicallayer::WirelessSignal::getTransmitter ( ) const
virtual
37 {
39  return transmission != nullptr ? transmission->getTransmitter() : nullptr;
40 }

◆ isDup()

bool inet::physicallayer::WirelessSignal::isDup ( ) const
inlineprotected
29 { return transmission == nullptr; }

Referenced by getArrival(), getListening(), getReception(), and getTransmission().

◆ printToStream()

std::ostream & inet::physicallayer::WirelessSignal::printToStream ( std::ostream &  stream,
int  level,
int  evFlags = 0 
) const
overridevirtual

Prints this object to the provided output stream.

Reimplemented from inet::physicallayer::Signal.

32 {
33  return stream << (cPacket *)this;
34 }

Member Data Documentation

◆ arrival

const IArrival* inet::physicallayer::WirelessSignal::arrival = nullptr
mutableprotected

Referenced by getArrival().

◆ listening

const IListening* inet::physicallayer::WirelessSignal::listening = nullptr
mutableprotected

Referenced by getListening().

◆ radioMedium

const IRadioMedium* inet::physicallayer::WirelessSignal::radioMedium
protected

◆ receiver

const IRadio* inet::physicallayer::WirelessSignal::receiver = nullptr
mutableprotected

Referenced by getReceiver().

◆ reception

const IReception* inet::physicallayer::WirelessSignal::reception = nullptr
mutableprotected

Referenced by getReception().

◆ transmission

const ITransmission* inet::physicallayer::WirelessSignal::transmission
protected

◆ transmissionId

const int inet::physicallayer::WirelessSignal::transmissionId
protected

Referenced by getTransmission().


The documentation for this class was generated from the following files:
inet::physicallayer::WirelessSignal::WirelessSignal
WirelessSignal(const ITransmission *transmission)
Definition: WirelessSignal.cc:16
inet::physicallayer::Signal::Signal
Signal(const char *name=nullptr, short kind=0, int64_t bitLength=0)
Definition: Signal.cc:20
inet::physicallayer::WirelessSignal::reception
const IReception * reception
Definition: WirelessSignal.h:26
inet::physicallayer::IRadio::getMedium
virtual const IRadioMedium * getMedium() const =0
Returns the radio medium where this radio is transmitting and receiving radio signals.
inet::physicallayer::WirelessSignal::transmission
const ITransmission * transmission
Definition: WirelessSignal.h:21
inet::physicallayer::IRadioMedium::getArrival
virtual const IArrival * getArrival(const IRadio *receiver, const ITransmission *transmission) const =0
Returns the space and time coordinates of the transmission arriving at the provided receiver.
inet::physicallayer::ITransmission::getTransmitter
virtual const IRadio * getTransmitter() const =0
Returns the transmitter that transmitted this radio signal on the radio channel.
inet::physicallayer::WirelessSignal::radioMedium
const IRadioMedium * radioMedium
Definition: WirelessSignal.h:22
inet::physicallayer::IRadioMedium::getReception
virtual const IReception * getReception(const IRadio *receiver, const ITransmission *transmission) const =0
Returns the reception of the transmission arriving at the provided receiver.
inet::physicallayer::WirelessSignal::arrival
const IArrival * arrival
Definition: WirelessSignal.h:24
inet::physicallayer::WirelessSignal::transmissionId
const int transmissionId
Definition: WirelessSignal.h:20
inet::physicallayer::WirelessSignal::getTransmission
virtual const ITransmission * getTransmission() const override
Returns the radio signal transmission that this signal represents.
Definition: WirelessSignal.cc:49
inet::physicallayer::WirelessSignal::listening
const IListening * listening
Definition: WirelessSignal.h:25
inet::physicallayer::WirelessSignal::getReceiver
virtual const IRadio * getReceiver() const
Definition: WirelessSignal.cc:42
inet::physicallayer::IRadioMedium::getTransmission
virtual const ITransmission * getTransmission(int id) const =0
Returns transmission instance from medium by id.
inet::physicallayer::ITransmission::getId
virtual int getId() const =0
Returns an identifier for this transmission which is globally unique for the whole lifetime of the si...
inet::physicallayer::WirelessSignal::isDup
bool isDup() const
Definition: WirelessSignal.h:29
inet::physicallayer::IRadioMedium::getListening
virtual const IListening * getListening(const IRadio *receiver, const ITransmission *transmission) const =0
Returns how the radio is listening on the medium when the transmission arrives at the provided receiv...
inet::physicallayer::WirelessSignal::receiver
const IRadio * receiver
Definition: WirelessSignal.h:23