|
INET Framework for OMNeT++/OMNEST
|
This interface represents the whole medium. More...
#include <IRadioMedium.h>
Public Member Functions | |
| virtual const physicalenvironment::IMaterial * | getMaterial () const =0 |
| Returns the material of this medium. More... | |
| virtual const IPropagation * | getPropagation () const =0 |
| Returns the signal propagation model of this medium. More... | |
| virtual const IPathLoss * | getPathLoss () const =0 |
| Returns the signal path loss model of this medium. More... | |
| virtual const IObstacleLoss * | getObstacleLoss () const =0 |
| Returns the signal obstacle loss model of this medium. More... | |
| virtual const IAnalogModel * | getAnalogModel () const =0 |
| Returns the signal analog model of this medium. More... | |
| virtual const IBackgroundNoise * | getBackgroundNoise () const =0 |
| Returns the background noise model of this medium. More... | |
| virtual const physicalenvironment::IPhysicalEnvironment * | getPhysicalEnvironment () const =0 |
| Returns the physical environment model of this 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 medium. More... | |
| virtual void | removeRadio (const IRadio *radio)=0 |
| Removes a radio from the medium. More... | |
| virtual const IRadio * | getRadio (int id) const =0 |
| Returns radio instance from medium by id. More... | |
| virtual IWirelessSignal * | transmitPacket (const IRadio *transmitter, Packet *packet)=0 |
| Returns a new signal containing the signal transmission that represents the provided packet. More... | |
| virtual Packet * | receivePacket (const IRadio *receiver, IWirelessSignal *signal)=0 |
| Returns the packet that was transmitted in the provided signal. More... | |
| virtual const ITransmission * | getTransmission (int id) const =0 |
| Returns transmission instance from medium by id. 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 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::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) } |
This interface represents the whole medium.
It keeps track of radios, signals departures, signal arrivals, and propagating signals.
This interface supports optimistic parallel computation.
|
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.
|
pure virtual |
Returns the signal analog model of this medium.
This function never returns nullptr.
Implemented in inet::physicallayer::RadioMedium.
Referenced by inet::physicallayer::FlatReceiverBase::computeListeningDecision(), inet::physicallayer::ApskLayeredReceiver::computeListeningDecision(), inet::physicallayer::Ieee80211LayeredOfdmReceiver::computeListeningDecision(), inet::physicallayer::ReceiverBase::computeSignalPower(), and inet::L3NetworkConfiguratorBase::computeWirelessLinkWeight().
|
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().
|
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().
|
pure virtual |
Implemented in inet::physicallayer::RadioMedium.
|
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.
|
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().
|
pure virtual |
Returns the material of this medium.
This function never returns nullptr.
Implemented in inet::physicallayer::RadioMedium.
Referenced by inet::physicallayer::DielectricObstacleLoss::computeObjectLoss().
|
pure virtual |
Implemented in inet::physicallayer::RadioMedium.
|
pure virtual |
Implemented in inet::physicallayer::RadioMedium.
|
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.
|
pure virtual |
Returns the signal obstacle loss model of this medium.
This function may return nullptr if there's no obstacle loss model.
Implemented in inet::physicallayer::RadioMedium.
Referenced by inet::physicallayer::UnitDiskAnalogModel::computeReception(), inet::physicallayer::ScalarAnalogModelBase::computeReceptionPower(), inet::physicallayer::FrequencyDependentAttenuationFunction::getValue(), and inet::physicallayer::FrequencyDependentAttenuationFunction::printStructure().
|
pure virtual |
Returns the signal path loss model of this medium.
This function never returns nullptr.
Implemented in inet::physicallayer::RadioMedium.
Referenced by inet::physicallayer::MediumLimitCache::computeMaxRange(), inet::physicallayer::ScalarAnalogModelBase::computeReceptionPower(), inet::physicallayer::FrequencyDependentAttenuationFunction::getValue(), and inet::physicallayer::FrequencyDependentAttenuationFunction::printStructure().
|
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.
|
pure virtual |
Returns the signal propagation model of this medium.
This function never returns nullptr.
Implemented in inet::physicallayer::RadioMedium.
Referenced by inet::physicallayer::MediumLimitCache::computeMaxRange(), inet::L3NetworkConfiguratorBase::computeWirelessLinkWeight(), and inet::physicallayer::FrequencyDependentAttenuationFunction::getValue().
|
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().
|
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().
|
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.
|
pure virtual |
Returns the reception result for the transmission that describes the end result of the reception process.
Implemented in inet::physicallayer::RadioMedium.
|
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.
|
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().
|
pure virtual |
Returns true when the reception is attempted of the transmission part.
Implemented in inet::physicallayer::RadioMedium.
|
pure virtual |
Returns true when the reception is possible of the transmission part.
Implemented in inet::physicallayer::RadioMedium.
|
pure virtual |
Returns true when the reception is successful of the transmission part.
Implemented in inet::physicallayer::RadioMedium.
|
pure virtual |
Returns the listening decision that describes what the receiver detects on the medium.
Implemented in inet::physicallayer::RadioMedium.
|
pure virtual |
Returns the packet that was transmitted in the provided signal.
Implemented in inet::physicallayer::RadioMedium.
|
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.
|
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.
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().