INET Framework for OMNeT++/OMNEST
inet::physicallayer::IRadioMedium Class Referenceabstract

This interface represents the whole medium. More...

#include <IRadioMedium.h>

Inheritance diagram for inet::physicallayer::IRadioMedium:
inet::IPrintableObject inet::physicallayer::RadioMedium

Public Member Functions

virtual const physicalenvironment::IMaterialgetMaterial () const =0
 Returns the material of this medium. More...
 
virtual const IPropagationgetPropagation () const =0
 Returns the signal propagation model of this medium. More...
 
virtual const IPathLossgetPathLoss () const =0
 Returns the signal path loss model of this medium. More...
 
virtual const IObstacleLossgetObstacleLoss () const =0
 Returns the signal obstacle loss model of this medium. More...
 
virtual const IAnalogModelgetAnalogModel () const =0
 Returns the signal analog model of this medium. More...
 
virtual const IBackgroundNoisegetBackgroundNoise () const =0
 Returns the background noise model of this medium. More...
 
virtual const physicalenvironment::IPhysicalEnvironmentgetPhysicalEnvironment () const =0
 Returns the physical environment model of this medium. More...
 
virtual const IMediumLimitCachegetMediumLimitCache () const =0
 
virtual const INeighborCachegetNeighborCache () const =0
 
virtual const ICommunicationCachegetCommunicationCache () const =0
 
virtual void addRadio (const IRadio *radio)=0
 Adds a new radio to the medium. More...
 
virtual void removeRadio (const IRadio *radio)=0
 Removes a radio from the medium. More...
 
virtual const IRadiogetRadio (int id) const =0
 Returns radio instance from medium by id. More...
 
virtual IWirelessSignaltransmitPacket (const IRadio *transmitter, Packet *packet)=0
 Returns a new signal containing the signal transmission that represents the provided packet. More...
 
virtual PacketreceivePacket (const IRadio *receiver, IWirelessSignal *signal)=0
 Returns the packet that was transmitted in the provided signal. More...
 
virtual const ITransmissiongetTransmission (int id) const =0
 Returns transmission instance from medium by id. More...
 
virtual const IListeningDecisionlistenOnMedium (const IRadio *receiver, const IListening *listening) const =0
 Returns the listening decision that describes what the receiver detects on the medium. More...
 
virtual const IArrivalgetArrival (const IRadio *receiver, const ITransmission *transmission) const =0
 Returns the space and time coordinates of the transmission arriving at the provided receiver. More...
 
virtual const IListeninggetListening (const IRadio *receiver, const ITransmission *transmission) const =0
 Returns how the radio is listening on the medium when the transmission arrives at the provided receiver. More...
 
virtual const IReceptiongetReception (const IRadio *receiver, const ITransmission *transmission) const =0
 Returns the reception of the transmission arriving at the provided receiver. More...
 
virtual const IInterferencegetInterference (const IRadio *receiver, const ITransmission *transmission) const =0
 Returns the interference of the transmission arriving at the provided receiver. More...
 
virtual const INoisegetNoise (const IRadio *receiver, const ITransmission *transmission) const =0
 Returns the total noise computed from the interference of the transmission arriving at the provided receiver. More...
 
virtual const ISnirgetSNIR (const IRadio *receiver, const ITransmission *transmission) const =0
 Returns the signal to noise and interference ratio of the transmission arriving at the provided receiver. More...
 
virtual bool isReceptionPossible (const IRadio *receiver, const ITransmission *transmission, IRadioSignal::SignalPart part) const =0
 Returns true when the reception is possible of the transmission part. More...
 
virtual bool isReceptionAttempted (const IRadio *receiver, const ITransmission *transmission, IRadioSignal::SignalPart part) const =0
 Returns true when the reception is attempted of the transmission part. More...
 
virtual bool isReceptionSuccessful (const IRadio *receiver, const ITransmission *transmission, IRadioSignal::SignalPart part) const =0
 Returns true when the reception is successful of the transmission part. More...
 
virtual const IReceptionDecisiongetReceptionDecision (const IRadio *receiver, const IListening *listening, const ITransmission *transmission, IRadioSignal::SignalPart part) const =0
 Returns the reception decision for the transmission part that specifies whether the reception is possible, attempted, and successful. More...
 
virtual const IReceptionResultgetReceptionResult (const IRadio *receiver, const IListening *listening, const ITransmission *transmission) const =0
 Returns the reception result for the transmission that describes the end result of the reception process. More...
 
- Public Member Functions inherited from inet::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const
 Prints this object to the provided output stream. More...
 
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
 

Static Public Attributes

static simsignal_t radioAddedSignal = cComponent::registerSignal("radioAdded")
 This simsignal is emitted when a radio is added to the medium. More...
 
static simsignal_t radioRemovedSignal = cComponent::registerSignal("radioRemoved")
 This simsignal is emitted when a radio is removed from the medium. More...
 
static simsignal_t signalAddedSignal = cComponent::registerSignal("signalAdded")
 This simsignal is emitted when a signal is added to the medium. More...
 
static simsignal_t signalRemovedSignal = cComponent::registerSignal("signalRemoved")
 This simsignal is emitted when a signal is removed from the medium. More...
 
static simsignal_t signalDepartureStartedSignal = cComponent::registerSignal("signalDepartureStarted")
 This simsignal is emitted when a signal departure is started on the medium. More...
 
static simsignal_t signalDepartureEndedSignal = cComponent::registerSignal("signalDepartureEnded")
 This simsignal is emitted when a signal departure is ended on the medium. More...
 
static simsignal_t signalArrivalStartedSignal = cComponent::registerSignal("signalArrivalStarted")
 This simsignal is emitted when a signal arrival is started on the medium. More...
 
static simsignal_t signalArrivalEndedSignal = cComponent::registerSignal("signalArrivalEnded")
 This simsignal is emitted when a signal arrival is ended on the medium. More...
 

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) }
 

Detailed Description

This interface represents the whole medium.

It keeps track of radios, signals departures, signal arrivals, and propagating signals.

This interface supports optimistic parallel computation.

Member Function Documentation

◆ addRadio()

virtual void inet::physicallayer::IRadioMedium::addRadio ( const IRadio radio)
pure virtual

Adds a new radio to the medium.

An exception is thrown if the radio is already added. The radio may immediately start new transmissions and will potentially receive all ongoing and further transmissions.

Implemented in inet::physicallayer::RadioMedium.

◆ getAnalogModel()

◆ getArrival()

virtual const IArrival* inet::physicallayer::IRadioMedium::getArrival ( const IRadio receiver,
const ITransmission transmission 
) const
pure virtual

Returns the space and time coordinates of the transmission arriving at the provided receiver.

This function never returns nullptr as long as the transmission is live on the medium.

Implemented in inet::physicallayer::RadioMedium.

Referenced by inet::physicallayer::WirelessSignal::getArrival().

◆ getBackgroundNoise()

virtual const IBackgroundNoise* inet::physicallayer::IRadioMedium::getBackgroundNoise ( ) const
pure virtual

Returns the background noise model of this medium.

This function may return nullptr if there's no background noise model.

Implemented in inet::physicallayer::RadioMedium.

Referenced by inet::L3NetworkConfiguratorBase::computeWirelessLinkWeight().

◆ getCommunicationCache()

virtual const ICommunicationCache* inet::physicallayer::IRadioMedium::getCommunicationCache ( ) const
pure virtual

◆ getInterference()

virtual const IInterference* inet::physicallayer::IRadioMedium::getInterference ( const IRadio receiver,
const ITransmission transmission 
) const
pure virtual

Returns the interference of the transmission arriving at the provided receiver.

This function never returns nullptr as long as the transmission is live on the medium.

Implemented in inet::physicallayer::RadioMedium.

◆ getListening()

virtual const IListening* inet::physicallayer::IRadioMedium::getListening ( const IRadio receiver,
const ITransmission transmission 
) const
pure virtual

Returns how the radio is listening on the medium when the transmission arrives at the provided receiver.

This function never returns nullptr as long as the transmission is live on the medium.

Implemented in inet::physicallayer::RadioMedium.

Referenced by inet::physicallayer::WirelessSignal::getListening().

◆ getMaterial()

virtual const physicalenvironment::IMaterial* inet::physicallayer::IRadioMedium::getMaterial ( ) const
pure virtual

Returns the material of this medium.

This function never returns nullptr.

Implemented in inet::physicallayer::RadioMedium.

Referenced by inet::physicallayer::DielectricObstacleLoss::computeObjectLoss().

◆ getMediumLimitCache()

virtual const IMediumLimitCache* inet::physicallayer::IRadioMedium::getMediumLimitCache ( ) const
pure virtual

◆ getNeighborCache()

virtual const INeighborCache* inet::physicallayer::IRadioMedium::getNeighborCache ( ) const
pure virtual

◆ getNoise()

virtual const INoise* inet::physicallayer::IRadioMedium::getNoise ( const IRadio receiver,
const ITransmission transmission 
) const
pure virtual

Returns the total noise computed from the interference of the transmission arriving at the provided receiver.

This function never returns nullptr as long as the transmission is live on the medium.

Implemented in inet::physicallayer::RadioMedium.

◆ getObstacleLoss()

virtual const IObstacleLoss* inet::physicallayer::IRadioMedium::getObstacleLoss ( ) const
pure virtual

◆ getPathLoss()

virtual const IPathLoss* inet::physicallayer::IRadioMedium::getPathLoss ( ) const
pure virtual

◆ getPhysicalEnvironment()

virtual const physicalenvironment::IPhysicalEnvironment* inet::physicallayer::IRadioMedium::getPhysicalEnvironment ( ) const
pure virtual

Returns the physical environment model of this medium.

This function may return nullptr if there's no physical environment model.

Implemented in inet::physicallayer::RadioMedium.

◆ getPropagation()

virtual const IPropagation* inet::physicallayer::IRadioMedium::getPropagation ( ) const
pure virtual

◆ getRadio()

virtual const IRadio* inet::physicallayer::IRadioMedium::getRadio ( int  id) const
pure virtual

Returns radio instance from medium by id.

May return a nullptr if no matching radio is registered.

Implemented in inet::physicallayer::RadioMedium.

Referenced by inet::physicallayer::TransmissionBase::getTransmitter().

◆ getReception()

virtual const IReception* inet::physicallayer::IRadioMedium::getReception ( const IRadio receiver,
const ITransmission transmission 
) const
pure virtual

Returns the reception of the transmission arriving at the provided receiver.

This function never returns nullptr as long as the transmission is live on the medium.

Implemented in inet::physicallayer::RadioMedium.

Referenced by inet::physicallayer::WirelessSignal::getReception().

◆ getReceptionDecision()

virtual const IReceptionDecision* inet::physicallayer::IRadioMedium::getReceptionDecision ( const IRadio receiver,
const IListening listening,
const ITransmission transmission,
IRadioSignal::SignalPart  part 
) const
pure virtual

Returns the reception decision for the transmission part that specifies whether the reception is possible, attempted, and successful.

Implemented in inet::physicallayer::RadioMedium.

◆ getReceptionResult()

virtual const IReceptionResult* inet::physicallayer::IRadioMedium::getReceptionResult ( const IRadio receiver,
const IListening listening,
const ITransmission transmission 
) const
pure virtual

Returns the reception result for the transmission that describes the end result of the reception process.

Implemented in inet::physicallayer::RadioMedium.

◆ getSNIR()

virtual const ISnir* inet::physicallayer::IRadioMedium::getSNIR ( const IRadio receiver,
const ITransmission transmission 
) const
pure virtual

Returns the signal to noise and interference ratio of the transmission arriving at the provided receiver.

This function never returns nullptr as long as the transmission is live on the medium.

Implemented in inet::physicallayer::RadioMedium.

◆ getTransmission()

virtual const ITransmission* inet::physicallayer::IRadioMedium::getTransmission ( int  id) const
pure virtual

Returns transmission instance from medium by id.

May return a nullptr if no matching transmission is registered.

Implemented in inet::physicallayer::RadioMedium.

Referenced by inet::physicallayer::WirelessSignal::getTransmission().

◆ isReceptionAttempted()

virtual bool inet::physicallayer::IRadioMedium::isReceptionAttempted ( const IRadio receiver,
const ITransmission transmission,
IRadioSignal::SignalPart  part 
) const
pure virtual

Returns true when the reception is attempted of the transmission part.

Implemented in inet::physicallayer::RadioMedium.

◆ isReceptionPossible()

virtual bool inet::physicallayer::IRadioMedium::isReceptionPossible ( const IRadio receiver,
const ITransmission transmission,
IRadioSignal::SignalPart  part 
) const
pure virtual

Returns true when the reception is possible of the transmission part.

Implemented in inet::physicallayer::RadioMedium.

◆ isReceptionSuccessful()

virtual bool inet::physicallayer::IRadioMedium::isReceptionSuccessful ( const IRadio receiver,
const ITransmission transmission,
IRadioSignal::SignalPart  part 
) const
pure virtual

Returns true when the reception is successful of the transmission part.

Implemented in inet::physicallayer::RadioMedium.

◆ listenOnMedium()

virtual const IListeningDecision* inet::physicallayer::IRadioMedium::listenOnMedium ( const IRadio receiver,
const IListening listening 
) const
pure virtual

Returns the listening decision that describes what the receiver detects on the medium.

Implemented in inet::physicallayer::RadioMedium.

◆ receivePacket()

virtual Packet* inet::physicallayer::IRadioMedium::receivePacket ( const IRadio receiver,
IWirelessSignal signal 
)
pure virtual

Returns the packet that was transmitted in the provided signal.

Implemented in inet::physicallayer::RadioMedium.

◆ removeRadio()

virtual void inet::physicallayer::IRadioMedium::removeRadio ( const IRadio radio)
pure virtual

Removes a radio from the medium.

An exception is thrown if the radio is not yet added. The radio cannot start new transmissions and will not receive any further transmission including the ongoing ones.

Implemented in inet::physicallayer::RadioMedium.

◆ transmitPacket()

virtual IWirelessSignal* inet::physicallayer::IRadioMedium::transmitPacket ( const IRadio transmitter,
Packet packet 
)
pure virtual

Returns a new signal containing the signal transmission that represents the provided packet.

A copy of this signal is sent to all affected radios.

Implemented in inet::physicallayer::RadioMedium.

Member Data Documentation

◆ radioAddedSignal

simsignal_t inet::physicallayer::IRadioMedium::radioAddedSignal = cComponent::registerSignal("radioAdded")
static

This simsignal is emitted when a radio is added to the medium.

The simsignal source is the medium and the emitted value is the radio.

Referenced by inet::physicallayer::RadioMedium::addRadio().

◆ radioRemovedSignal

simsignal_t inet::physicallayer::IRadioMedium::radioRemovedSignal = cComponent::registerSignal("radioRemoved")
static

This simsignal is emitted when a radio is removed from the medium.

The simsignal source is the medium and the emitted value is the radio.

Referenced by inet::physicallayer::RadioMedium::removeRadio().

◆ signalAddedSignal

simsignal_t inet::physicallayer::IRadioMedium::signalAddedSignal = cComponent::registerSignal("signalAdded")
static

This simsignal is emitted when a signal is added to the medium.

The simsignal source is the medium and the emitted value is the signal.

Referenced by inet::physicallayer::RadioMedium::addTransmission().

◆ signalArrivalEndedSignal

simsignal_t inet::physicallayer::IRadioMedium::signalArrivalEndedSignal = cComponent::registerSignal("signalArrivalEnded")
static

This simsignal is emitted when a signal arrival is ended on the medium.

The simsignal source is the medium and the emitted value is the signal.

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

◆ signalArrivalStartedSignal

simsignal_t inet::physicallayer::IRadioMedium::signalArrivalStartedSignal = cComponent::registerSignal("signalArrivalStarted")
static

This simsignal is emitted when a signal arrival is started on the medium.

The simsignal source is the medium and the emitted value is the signal.

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

◆ signalDepartureEndedSignal

simsignal_t inet::physicallayer::IRadioMedium::signalDepartureEndedSignal = cComponent::registerSignal("signalDepartureEnded")
static

This simsignal is emitted when a signal departure is ended on the medium.

The simsignal source is the medium and the emitted value is the signal.

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

◆ signalDepartureStartedSignal

simsignal_t inet::physicallayer::IRadioMedium::signalDepartureStartedSignal = cComponent::registerSignal("signalDepartureStarted")
static

This simsignal is emitted when a signal departure is started on the medium.

The simsignal source is the medium and the emitted value is the signal.

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

◆ signalRemovedSignal

simsignal_t inet::physicallayer::IRadioMedium::signalRemovedSignal = cComponent::registerSignal("signalRemoved")
static

This simsignal is emitted when a signal is removed from the medium.

The simsignal source is the medium and the emitted value is the signal.

Referenced by inet::physicallayer::RadioMedium::removeNonInterferingTransmissions(), and inet::physicallayer::RadioMedium::removeTransmission().


The documentation for this class was generated from the following files: