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

This interface represents the whole radio medium. More...

#include <IRadioMedium.h>

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

Public Member Functions

virtual const IMaterial * getMaterial () const =0
 Returns the material of the radio medium. More...
 
virtual const IPropagation * getPropagation () const =0
 Returns the radio signal propagation model of this radio medium. More...
 
virtual const IPathLoss * getPathLoss () const =0
 Returns the radio signal path loss model of this radio medium. More...
 
virtual const IObstacleLoss * getObstacleLoss () const =0
 Returns the radio signal obstacle loss model of this radio medium. More...
 
virtual const IAnalogModel * getAnalogModel () const =0
 Returns the radio signal analog model of this radio medium. More...
 
virtual const IBackgroundNoise * getBackgroundNoise () const =0
 Returns the background noise model of this radio medium. More...
 
virtual const IPhysicalEnvironment * getPhysicalEnvironment () const =0
 Returns the physical environment model of this radio medium. More...
 
virtual const IMediumLimitCache * getMediumLimitCache () const =0
 
virtual const INeighborCache * getNeighborCache () const =0
 
virtual const ICommunicationCache * getCommunicationCache () const =0
 
virtual void addRadio (const IRadio *radio)=0
 Adds a new radio to the radio medium. More...
 
virtual void removeRadio (const IRadio *radio)=0
 Removes a radio from the radio medium. More...
 
virtual IRadioFrame * transmitPacket (const IRadio *transmitter, cPacket *macFrame)=0
 Returns a new radio frame containing the radio signal transmission that represents the provided MAC frame. More...
 
virtual cPacket * receivePacket (const IRadio *receiver, IRadioFrame *radioFrame)=0
 Returns the MAC frame that was transmitted in the provided radio frame. More...
 
virtual const IListeningDecision * listenOnMedium (const IRadio *receiver, const IListening *listening) const =0
 Returns the listening decision that describes what the receiver detects on the radio medium. More...
 
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. More...
 
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 receiver. More...
 
virtual const IReception * getReception (const IRadio *receiver, const ITransmission *transmission) const =0
 Returns the reception of the transmission arriving at the provided receiver. More...
 
virtual const IInterference * getInterference (const IRadio *receiver, const ITransmission *transmission) const =0
 Returns the interference of the transmission arriving at the provided receiver. More...
 
virtual const INoise * getNoise (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 ISNIR * getSNIR (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 IReceptionDecision * getReceptionDecision (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 IReceptionResult * getReceptionResult (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::physicallayer::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level) const
 Prints this object to the provided output stream. More...
 
virtual std::string getInfoStringRepresentation () const
 
virtual std::string getDetailStringRepresentation () const
 
virtual std::string getDebugStringRepresentation () const
 
virtual std::string getTraceStringRepresentation () const
 
virtual std::string getCompleteStringRepresentation () const
 

Static Public Attributes

static simsignal_t radioAddedSignal = cComponent::registerSignal("radioAdded")
 
static simsignal_t radioRemovedSignal = cComponent::registerSignal("radioRemoved")
 
static simsignal_t transmissionAddedSignal = cComponent::registerSignal("transmissionAdded")
 
static simsignal_t transmissionRemovedSignal = cComponent::registerSignal("transmissionRemoved")
 
static simsignal_t transmissionStartedSignal = cComponent::registerSignal("transmissionStarted")
 
static simsignal_t transmissionEndedSignal = cComponent::registerSignal("transmissionEnded")
 
static simsignal_t receptionStartedSignal = cComponent::registerSignal("receptionStarted")
 
static simsignal_t receptionEndedSignal = cComponent::registerSignal("receptionEnded")
 

Additional Inherited Members

- Public Types inherited from inet::physicallayer::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 

Detailed Description

This interface represents the whole radio medium.

It keeps track of all radio signal sources, all radio signal transmissions, and all radio signal receptions.

This interface supports optimistic parallel computation of reception decisions and related information.

Member Function Documentation

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

Adds a new radio to the radio 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.

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

virtual const IAnalogModel* inet::physicallayer::IRadioMedium::getAnalogModel ( ) const
pure virtual
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 radio medium.

Implemented in inet::physicallayer::RadioMedium.

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

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

Returns the background noise model of this radio medium.

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

Implemented in inet::physicallayer::RadioMedium.

virtual const ICommunicationCache* inet::physicallayer::IRadioMedium::getCommunicationCache ( ) const
pure virtual
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 radio medium.

Implemented in inet::physicallayer::RadioMedium.

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 radio medium.

Implemented in inet::physicallayer::RadioMedium.

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

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

Returns the material of the radio medium.

This function never returns nullptr.

Implemented in inet::physicallayer::RadioMedium.

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

virtual const INeighborCache* inet::physicallayer::IRadioMedium::getNeighborCache ( ) const
pure virtual
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 radio medium.

Implemented in inet::physicallayer::RadioMedium.

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

Returns the radio signal obstacle loss model of this radio medium.

This function may return nullptr if there's no obstacle loss model.

Implemented in inet::physicallayer::RadioMedium.

Referenced by inet::physicallayer::IdealAnalogModel::computeReception(), inet::physicallayer::ScalarAnalogModelBase::computeReceptionPower(), and inet::physicallayer::DimensionalAnalogModelBase::computeReceptionPower().

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

Returns the physical environment model of this radio medium.

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

Implemented in inet::physicallayer::RadioMedium.

virtual const IPropagation* inet::physicallayer::IRadioMedium::getPropagation ( ) const
pure virtual
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 radio medium.

Implemented in inet::physicallayer::RadioMedium.

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

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.

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

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.

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 radio medium.

Implemented in inet::physicallayer::RadioMedium.

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.

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

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.

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.

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

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 radio medium.

Implemented in inet::physicallayer::RadioMedium.

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

virtual cPacket* inet::physicallayer::IRadioMedium::receivePacket ( const IRadio *  receiver,
IRadioFrame *  radioFrame 
)
pure virtual

Returns the MAC frame that was transmitted in the provided radio frame.

The MAC frame control info will be an instance of the ReceptionIndication class.

Implemented in inet::physicallayer::RadioMedium.

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

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

Removes a radio from the radio 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.

virtual IRadioFrame* inet::physicallayer::IRadioMedium::transmitPacket ( const IRadio *  transmitter,
cPacket *  macFrame 
)
pure virtual

Returns a new radio frame containing the radio signal transmission that represents the provided MAC frame.

A copy of this radio frame is sent to all affected radios. The MAC frame control info must be an instance of the TransmissionRequest class.

Implemented in inet::physicallayer::RadioMedium.

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

Member Data Documentation

simsignal_t inet::physicallayer::IRadioMedium::radioRemovedSignal = cComponent::registerSignal("radioRemoved")
static
simsignal_t inet::physicallayer::IRadioMedium::receptionEndedSignal = cComponent::registerSignal("receptionEnded")
static
simsignal_t inet::physicallayer::IRadioMedium::receptionStartedSignal = cComponent::registerSignal("receptionStarted")
static
simsignal_t inet::physicallayer::IRadioMedium::transmissionAddedSignal = cComponent::registerSignal("transmissionAdded")
static
simsignal_t inet::physicallayer::IRadioMedium::transmissionEndedSignal = cComponent::registerSignal("transmissionEnded")
static
simsignal_t inet::physicallayer::IRadioMedium::transmissionStartedSignal = cComponent::registerSignal("transmissionStarted")
static

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