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 IMaterialgetMaterial () const =0
 Returns the material of the radio medium. More...
 
virtual const IPropagationgetPropagation () const =0
 Returns the radio signal propagation model of this radio medium. More...
 
virtual const IPathLossgetPathLoss () const =0
 Returns the radio signal path loss model of this radio medium. More...
 
virtual const IObstacleLossgetObstacleLoss () const =0
 Returns the radio signal obstacle loss model of this radio medium. More...
 
virtual const IAnalogModelgetAnalogModel () const =0
 Returns the radio signal analog model of this radio medium. More...
 
virtual const IBackgroundNoisegetBackgroundNoise () const =0
 Returns the background noise model of this radio medium. More...
 
virtual const IPhysicalEnvironmentgetPhysicalEnvironment () const =0
 Returns the physical environment model of this radio 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 radio medium. More...
 
virtual void removeRadio (const IRadio *radio)=0
 Removes a radio from the radio medium. More...
 
virtual IRadioFrametransmitPacket (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 IListeningDecisionlistenOnMedium (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 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::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: