INET Framework for OMNeT++/OMNEST
|
#include <MediumLimitCache.h>
Public Member Functions | |
MediumLimitCache () | |
virtual std::ostream & | printToStream (std::ostream &stream, int level) const override |
Prints this object to the provided output stream. More... | |
virtual void | addRadio (const IRadio *radio) override |
Notifies the cache when a radio is added to the medium. More... | |
virtual void | removeRadio (const IRadio *radio) override |
Notifies the cache when a radio is removed from the medium. More... | |
Query limits | |
virtual Coord | getMinConstraintArea () const override |
Returns the minimum possible position among the radios, the coordinate values are in the range (-infinity, +infinity) or NaN if unspecified. More... | |
virtual Coord | getMaxConstraintArea () const override |
Returns the maximum possible position among the radios, the coordinate values are in the range (-infinity, +infinity) or NaN if unspecified. More... | |
virtual mps | getMaxSpeed () const override |
Returns the maximum possible speed among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More... | |
virtual W | getMaxTransmissionPower () const override |
Returns the maximum possible transmission power among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More... | |
virtual W | getMinInterferencePower () const override |
Returns the minimum possible interference power among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More... | |
virtual W | getMinReceptionPower () const override |
Returns the minimum possible reception power among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More... | |
virtual double | getMaxAntennaGain () const override |
Returns the maximum possible antenna gain among the radios, the value is in the range [1, +infinity) or NaN if unspecified. More... | |
virtual const simtime_t & | getMinInterferenceTime () const override |
Returns the minimum required signal interference time among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More... | |
virtual const simtime_t & | getMaxTransmissionDuration () const override |
Returns the maximum possible transmission durations among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More... | |
virtual m | getMaxCommunicationRange () const override |
Returns the maximum possible communication range among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More... | |
virtual m | getMaxInterferenceRange () const override |
Returns the maximum possible interference range among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More... | |
virtual m | getMaxCommunicationRange (const IRadio *radio) const override |
Returns the maximum possible communication range for a given radio, the value is in the range [0, +infinity) or NaN if unspecified. More... | |
virtual m | getMaxInterferenceRange (const IRadio *radio) const override |
Returns the maximum possible interference range for a given radio, the value is in the range [0, +infinity) or NaN if unspecified. More... | |
Public Member Functions inherited from inet::physicallayer::IPrintableObject | |
virtual | ~IPrintableObject () |
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 |
Protected Member Functions | |
virtual int | numInitStages () const override |
virtual void | initialize (int stage) override |
Compute limits | |
virtual Coord | computeMinConstraintArea () const |
virtual Coord | computeMaxConstreaintArea () const |
virtual mps | computeMaxSpeed () const |
virtual W | computeMaxTransmissionPower () const |
virtual W | computeMinInterferencePower () const |
virtual W | computeMinReceptionPower () const |
virtual double | computeMaxAntennaGain () const |
virtual const simtime_t | computeMinInterferenceTime () const |
virtual const simtime_t | computeMaxTransmissionDuration () const |
virtual m | computeMaxRange (W maxTransmissionPower, W minReceptionPower) const |
virtual m | computeMaxCommunicationRange () const |
virtual m | computeMaxInterferenceRange () const |
virtual void | updateLimits () |
Protected Attributes | |
const IRadioMedium * | radioMedium |
The corresponding radio medium is never nullptr. More... | |
std::vector< const IRadio * > | radios |
The list of communicating radios on the medium. More... | |
Various radio medium limits. | |
Coord | minConstraintArea |
The constraint area minimum among the radios is in the range [-infinity, +infinity] or NaN if unspecified. More... | |
Coord | maxConstraintArea |
The constraint area maximum among the radios is in the range [-infinity, +infinity] or NaN if unspecified. More... | |
mps | maxSpeed |
The maximum speed among the radios is in the range [0, +infinity) or NaN if unspecified. More... | |
W | maxTransmissionPower |
The maximum transmission power among the radio transmitters is in the range [0, +infinity) or NaN if unspecified. More... | |
W | minInterferencePower |
The minimum interference power among the radio receivers is in the range [0, +infinity) or NaN if unspecified. More... | |
W | minReceptionPower |
The minimum reception power among the radio receivers is in the range [0, +infinity) or NaN if unspecified. More... | |
double | maxAntennaGain |
The maximum gain among the radio antennas is in the range [1, +infinity). More... | |
simtime_t | minInterferenceTime |
The minimum overlapping in time needed to consider two transmissions interfering. More... | |
simtime_t | maxTransmissionDuration |
The maximum transmission duration of a radio signal. More... | |
m | maxCommunicationRange |
The maximum communication range where a transmission can still be potentially successfully received is in the range [0, +infinity) or NaN if unspecified. More... | |
m | maxInterferenceRange |
The maximum interference range where a transmission is still considered to some effect on other transmissions is in the range [0, +infinity) or NaN if unspecified. More... | |
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 } |
inet::physicallayer::MediumLimitCache::MediumLimitCache | ( | ) |
|
overridevirtual |
Notifies the cache when a radio is added to the medium.
Implements inet::physicallayer::IMediumLimitCache.
|
protectedvirtual |
Referenced by updateLimits().
|
protectedvirtual |
Referenced by updateLimits().
|
protectedvirtual |
Referenced by updateLimits().
|
protectedvirtual |
Referenced by updateLimits().
|
protectedvirtual |
Referenced by computeMaxCommunicationRange(), computeMaxInterferenceRange(), getMaxCommunicationRange(), and getMaxInterferenceRange().
|
protectedvirtual |
Referenced by updateLimits().
|
protectedvirtual |
Referenced by updateLimits().
|
protectedvirtual |
Referenced by updateLimits().
|
protectedvirtual |
Referenced by updateLimits().
|
protectedvirtual |
Referenced by updateLimits().
|
protectedvirtual |
Referenced by updateLimits().
|
protectedvirtual |
Referenced by updateLimits().
|
inlineoverridevirtual |
Returns the maximum possible antenna gain among the radios, the value is in the range [1, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
inlineoverridevirtual |
Returns the maximum possible communication range among the radios, the value is in the range [0, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
overridevirtual |
Returns the maximum possible communication range for a given radio, the value is in the range [0, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
inlineoverridevirtual |
Returns the maximum possible position among the radios, the coordinate values are in the range (-infinity, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
inlineoverridevirtual |
Returns the maximum possible interference range among the radios, the value is in the range [0, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
overridevirtual |
Returns the maximum possible interference range for a given radio, the value is in the range [0, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
inlineoverridevirtual |
Returns the maximum possible speed among the radios, the value is in the range [0, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
inlineoverridevirtual |
Returns the maximum possible transmission durations among the radios, the value is in the range [0, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
inlineoverridevirtual |
Returns the maximum possible transmission power among the radios, the value is in the range [0, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
inlineoverridevirtual |
Returns the minimum possible position among the radios, the coordinate values are in the range (-infinity, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
inlineoverridevirtual |
Returns the minimum possible interference power among the radios, the value is in the range [0, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
inlineoverridevirtual |
Returns the minimum required signal interference time among the radios, the value is in the range [0, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
inlineoverridevirtual |
Returns the minimum possible reception power among the radios, the value is in the range [0, +infinity) or NaN if unspecified.
Implements inet::physicallayer::IMediumLimitCache.
|
overrideprotectedvirtual |
|
inlineoverrideprotectedvirtual |
|
overridevirtual |
Prints this object to the provided output stream.
Function calls to operator<< with pointers or references either const or not are all forwarded to this function.
Reimplemented from inet::physicallayer::IPrintableObject.
|
overridevirtual |
Notifies the cache when a radio is removed from the medium.
Implements inet::physicallayer::IMediumLimitCache.
|
protectedvirtual |
Referenced by addRadio(), and removeRadio().
|
protected |
The maximum gain among the radio antennas is in the range [1, +infinity).
Referenced by computeMaxAntennaGain(), computeMaxRange(), initialize(), printToStream(), and updateLimits().
|
protected |
The maximum communication range where a transmission can still be potentially successfully received is in the range [0, +infinity) or NaN if unspecified.
Referenced by getMaxCommunicationRange(), initialize(), printToStream(), and updateLimits().
|
protected |
The constraint area maximum among the radios is in the range [-infinity, +infinity] or NaN if unspecified.
Referenced by computeMaxConstreaintArea(), initialize(), printToStream(), and updateLimits().
|
protected |
The maximum interference range where a transmission is still considered to some effect on other transmissions is in the range [0, +infinity) or NaN if unspecified.
Referenced by getMaxInterferenceRange(), initialize(), printToStream(), and updateLimits().
|
protected |
The maximum speed among the radios is in the range [0, +infinity) or NaN if unspecified.
Referenced by computeMaxSpeed(), initialize(), printToStream(), and updateLimits().
|
protected |
The maximum transmission duration of a radio signal.
Referenced by initialize(), printToStream(), and updateLimits().
|
protected |
The maximum transmission power among the radio transmitters is in the range [0, +infinity) or NaN if unspecified.
Referenced by computeMaxCommunicationRange(), computeMaxInterferenceRange(), computeMaxTransmissionPower(), initialize(), printToStream(), and updateLimits().
|
protected |
The constraint area minimum among the radios is in the range [-infinity, +infinity] or NaN if unspecified.
Referenced by computeMinConstraintArea(), initialize(), printToStream(), and updateLimits().
|
protected |
The minimum interference power among the radio receivers is in the range [0, +infinity) or NaN if unspecified.
Referenced by computeMaxInterferenceRange(), computeMinInterferencePower(), getMaxInterferenceRange(), initialize(), printToStream(), and updateLimits().
|
protected |
The minimum overlapping in time needed to consider two transmissions interfering.
Referenced by initialize(), printToStream(), and updateLimits().
|
protected |
The minimum reception power among the radio receivers is in the range [0, +infinity) or NaN if unspecified.
Referenced by computeMaxCommunicationRange(), computeMinReceptionPower(), getMaxCommunicationRange(), initialize(), printToStream(), and updateLimits().
|
protected |
The corresponding radio medium is never nullptr.
Referenced by computeMaxRange(), and initialize().
|
protected |
The list of communicating radios on the medium.
Referenced by addRadio(), computeMaxAntennaGain(), computeMaxConstreaintArea(), computeMaxSpeed(), computeMaxTransmissionPower(), computeMinConstraintArea(), computeMinInterferencePower(), computeMinReceptionPower(), and removeRadio().