INET Framework for OMNeT++/OMNEST
|
#include <VectorCommunicationCache.h>
Public Member Functions | |
VectorCommunicationCache () | |
virtual | ~VectorCommunicationCache () |
virtual std::ostream & | printToStream (std::ostream &stream, int level) const override |
Prints this object to the provided output stream. More... | |
Medium state change notifications | |
virtual void | addRadio (const IRadio *radio) override |
virtual void | removeRadio (const IRadio *radio) override |
virtual void | addTransmission (const ITransmission *transmission) override |
virtual void | removeTransmission (const ITransmission *transmission) override |
Interference cache | |
virtual void | removeNonInterferingTransmissions () override |
Public Member Functions inherited from inet::physicallayer::CommunicationCacheBase | |
CommunicationCacheBase () | |
virtual | ~CommunicationCacheBase () |
virtual std::vector< const ITransmission * > * | computeInterferingTransmissions (const IRadio *radio, const simtime_t startTime, const simtime_t endTime) override |
virtual const simtime_t | getCachedInterferenceEndTime (const ITransmission *transmission) override |
virtual void | setCachedInterferenceEndTime (const ITransmission *transmission, const simtime_t interferenceEndTime) override |
virtual void | removeCachedInterferenceEndTime (const ITransmission *transmission) override |
virtual const IRadioFrame * | getCachedFrame (const ITransmission *transmission) override |
virtual void | setCachedFrame (const ITransmission *transmission, const IRadioFrame *frame) override |
virtual void | removeCachedFrame (const ITransmission *transmission) override |
virtual const IArrival * | getCachedArrival (const IRadio *receiver, const ITransmission *transmission) override |
virtual void | setCachedArrival (const IRadio *receiver, const ITransmission *transmission, const IArrival *arrival) override |
virtual void | removeCachedArrival (const IRadio *receiver, const ITransmission *transmission) override |
virtual const Interval * | getCachedInterval (const IRadio *receiver, const ITransmission *transmission) override |
virtual void | setCachedInterval (const IRadio *receiver, const ITransmission *transmission, const Interval *interval) override |
virtual void | removeCachedInterval (const IRadio *receiver, const ITransmission *transmission) override |
virtual const IListening * | getCachedListening (const IRadio *receiver, const ITransmission *transmission) override |
virtual void | setCachedListening (const IRadio *receiver, const ITransmission *transmission, const IListening *listening) override |
virtual void | removeCachedListening (const IRadio *receiver, const ITransmission *transmission) override |
virtual const IReception * | getCachedReception (const IRadio *receiver, const ITransmission *transmission) override |
virtual void | setCachedReception (const IRadio *receiver, const ITransmission *transmission, const IReception *reception) override |
virtual void | removeCachedReception (const IRadio *receiver, const ITransmission *transmission) override |
virtual const IInterference * | getCachedInterference (const IRadio *receiver, const ITransmission *transmission) override |
virtual void | setCachedInterference (const IRadio *receiver, const ITransmission *transmission, const IInterference *interference) override |
virtual void | removeCachedInterference (const IRadio *receiver, const ITransmission *transmission) override |
virtual const INoise * | getCachedNoise (const IRadio *receiver, const ITransmission *transmission) override |
virtual void | setCachedNoise (const IRadio *receiver, const ITransmission *transmission, const INoise *noise) override |
virtual void | removeCachedNoise (const IRadio *receiver, const ITransmission *transmission) override |
virtual const ISNIR * | getCachedSNIR (const IRadio *receiver, const ITransmission *transmission) override |
virtual void | setCachedSNIR (const IRadio *receiver, const ITransmission *transmission, const ISNIR *snir) override |
virtual void | removeCachedSNIR (const IRadio *receiver, const ITransmission *transmission) override |
virtual const IReceptionDecision * | getCachedReceptionDecision (const IRadio *receiver, const ITransmission *transmission, IRadioSignal::SignalPart part) override |
virtual void | setCachedReceptionDecision (const IRadio *receiver, const ITransmission *transmission, IRadioSignal::SignalPart part, const IReceptionDecision *receptionDecision) override |
virtual void | removeCachedReceptionDecision (const IRadio *receiver, const ITransmission *transmission, IRadioSignal::SignalPart part) override |
virtual const IReceptionResult * | getCachedReceptionResult (const IRadio *receiver, const ITransmission *transmission) override |
virtual void | setCachedReceptionResult (const IRadio *receiver, const ITransmission *transmission, const IReceptionResult *receptionResult) override |
virtual void | removeCachedReceptionResult (const IRadio *receiver, const ITransmission *transmission) override |
virtual const IRadioFrame * | getCachedFrame (const IRadio *receiver, const ITransmission *transmission) override |
virtual void | setCachedFrame (const IRadio *receiver, const ITransmission *transmission, const IRadioFrame *frame) override |
virtual void | removeCachedFrame (const IRadio *receiver, const ITransmission *transmission) override |
Medium state change notifications | |
Interference cache | |
Transmission cache | |
Reception Cache | |
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 | |
Cache data structures | |
virtual RadioCacheEntry * | getRadioCacheEntry (const IRadio *radio) override |
virtual TransmissionCacheEntry * | getTransmissionCacheEntry (const ITransmission *transmission) override |
virtual ReceptionCacheEntry * | getReceptionCacheEntry (const IRadio *radio, const ITransmission *transmission) override |
Cache data structures |
Protected Attributes | |
Cache | |
int | baseRadioId |
The smallest radio id of all radios on the medium. More... | |
int | baseTransmissionId |
The smallest transmission id of all ongoing transmissions on the medium. More... | |
std::vector< TransmissionCacheEntry > | transmissionCache |
Caches intermediate computation results for transmissions. More... | |
std::vector< RadioCacheEntry > | radioCache |
Caches intermediate computation results for radios. 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::VectorCommunicationCache::VectorCommunicationCache | ( | ) |
|
virtual |
|
overridevirtual |
Implements inet::physicallayer::ICommunicationCache.
|
overridevirtual |
Implements inet::physicallayer::ICommunicationCache.
|
overrideprotectedvirtual |
Implements inet::physicallayer::CommunicationCacheBase.
Referenced by addRadio(), and removeRadio().
|
overrideprotectedvirtual |
Implements inet::physicallayer::CommunicationCacheBase.
|
overrideprotectedvirtual |
Implements inet::physicallayer::CommunicationCacheBase.
Referenced by addTransmission(), and getReceptionCacheEntry().
|
inlineoverridevirtual |
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 |
Implements inet::physicallayer::ICommunicationCache.
|
overridevirtual |
Implements inet::physicallayer::ICommunicationCache.
|
overridevirtual |
Implements inet::physicallayer::ICommunicationCache.
|
protected |
The smallest radio id of all radios on the medium.
Referenced by addRadio(), getRadioCacheEntry(), getReceptionCacheEntry(), and removeRadio().
|
protected |
The smallest transmission id of all ongoing transmissions on the medium.
Referenced by addTransmission(), getTransmissionCacheEntry(), and removeNonInterferingTransmissions().
|
protected |
Caches intermediate computation results for radios.
The vector is indexed by radio id (offset with base transmission id).
Referenced by addRadio(), getRadioCacheEntry(), getTransmissionCacheEntry(), removeNonInterferingTransmissions(), and removeRadio().
|
protected |
Caches intermediate computation results for transmissions.
The outer vector is indexed by transmission id (offset with base transmission id) and the inner vector is indexed by radio id. Values that are no longer needed are removed from the beginning only. May contain nullptr values for not yet computed information.
Referenced by addTransmission(), getTransmissionCacheEntry(), removeNonInterferingTransmissions(), removeRadio(), and ~VectorCommunicationCache().