Loading...
Searching...
No Matches
ns3::SatInterference Class Referenceabstract

Abstract class defining interface for interference calculations objects. More...

#include "satellite-interference.h"

Inheritance diagram for ns3::SatInterference:
Collaboration diagram for ns3::SatInterference:

Classes

class  InterferenceChangeEvent
 Event for identifying interference change events (receiving). More...

Public Member Functions

 SatInterference ()
 Constructor for Satellite interference base class.
 ~SatInterference ()
 Destructor for Satellite interference base class.
Ptr< SatInterference::InterferenceChangeEventAdd (Time rxDuration, double rxPower, Address rxAddress)
 Adds interference power to interference object.
std::vector< std::pair< double, double > > Calculate (Ptr< SatInterference::InterferenceChangeEvent > event)
 Calculates interference power for the given reference.
virtual bool HasCollision (Ptr< SatInterference::InterferenceChangeEvent > event)
 Checks whether the packet has collided.
virtual void NotifyRxEnd (Ptr< SatInterference::InterferenceChangeEvent > event)
 Notifies that RX is ended by a receiver.
virtual void NotifyRxStart (Ptr< SatInterference::InterferenceChangeEvent > event)
 Notifies that RX is started by a receiver.
void Reset (void)
 Resets current interference.

Static Public Member Functions

static TypeId GetTypeId (void)
 Derived from Object.

Private Member Functions

 SatInterference (const SatInterference &o)
virtual Ptr< SatInterference::InterferenceChangeEventDoAdd (Time rxDuration, double rxPower, Address rxAddress)=0
 Adds interference power to interference object.
virtual std::vector< std::pair< double, double > > DoCalculate (Ptr< SatInterference::InterferenceChangeEvent > event)=0
 Calculates interference power for the given reference Sets final power at end time to finalPower.
virtual void DoNotifyRxEnd (Ptr< SatInterference::InterferenceChangeEvent > event)=0
 Notifies that RX is ended by a receiver.
virtual void DoNotifyRxStart (Ptr< SatInterference::InterferenceChangeEvent > event)=0
 Notifies that RX is started by a receiver.
virtual void DoReset (void)=0
 Resets current interference.
SatInterferenceoperator= (const SatInterference &o)

Private Attributes

uint32_t m_currentlyReceiving
std::map< Ptr< SatInterference::InterferenceChangeEvent >, bool > m_packetCollisions

Detailed Description

Abstract class defining interface for interference calculations objects.

Definition at line 41 of file satellite-interference.h.

Constructor & Destructor Documentation

◆ SatInterference() [1/2]

ns3::SatInterference::SatInterference ( )

Constructor for Satellite interference base class.

Definition at line 113 of file satellite-interference.cc.

References m_currentlyReceiving.

Referenced by SatInterference(), ns3::SatConstantInterference::GetTypeId(), ns3::SatPerPacketInterference::GetTypeId(), ns3::SatTracedInterference::GetTypeId(), and operator=().

Here is the caller graph for this function:

◆ ~SatInterference()

ns3::SatInterference::~SatInterference ( )

Destructor for Satellite interference base class.

Definition at line 118 of file satellite-interference.cc.

◆ SatInterference() [2/2]

ns3::SatInterference::SatInterference ( const SatInterference & o)
private

References SatInterference().

Here is the call graph for this function:

Member Function Documentation

◆ Add()

Ptr< SatInterference::InterferenceChangeEvent > ns3::SatInterference::Add ( Time rxDuration,
double rxPower,
Address rxAddress )

Adds interference power to interference object.

Behavior depends on class actually implementing interference.

Parameters
rxDurationDuration of the receiving.
rxPowerReceiving power.
rxAddressMAC address.
Returns
the pointer to interference event as a reference of the addition

Definition at line 123 of file satellite-interference.cc.

References DoAdd().

Here is the call graph for this function:

◆ Calculate()

std::vector< std::pair< double, double > > ns3::SatInterference::Calculate ( Ptr< SatInterference::InterferenceChangeEvent > event)

Calculates interference power for the given reference.

Parameters
eventReference event which for interference is calculated.
Returns
Calculated power value at end of receiving

Definition at line 131 of file satellite-interference.cc.

References DoCalculate(), m_currentlyReceiving, and m_packetCollisions.

Here is the call graph for this function:

◆ DoAdd()

virtual Ptr< SatInterference::InterferenceChangeEvent > ns3::SatInterference::DoAdd ( Time rxDuration,
double rxPower,
Address rxAddress )
privatepure virtual

Adds interference power to interference object.

Parameters
rxDurationDuration of the receiving.
rxPowerReceiving power.
rxAddressMAC address.
Returns
the pointer to interference event as a reference of the addition

Concrete subclasses of this base class must implement this method.

Implemented in ns3::SatConstantInterference, ns3::SatPerPacketInterference, and ns3::SatTracedInterference.

Referenced by Add().

Here is the caller graph for this function:

◆ DoCalculate()

virtual std::vector< std::pair< double, double > > ns3::SatInterference::DoCalculate ( Ptr< SatInterference::InterferenceChangeEvent > event)
privatepure virtual

Calculates interference power for the given reference Sets final power at end time to finalPower.

Parameters
eventReference event which for interference is calculated.
Returns
Final power value at end of receiving

Concrete subclasses of this base class must implement this method.

Implemented in ns3::SatConstantInterference, ns3::SatPerFragmentInterference, ns3::SatPerPacketInterference, and ns3::SatTracedInterference.

Referenced by Calculate().

Here is the caller graph for this function:

◆ DoNotifyRxEnd()

virtual void ns3::SatInterference::DoNotifyRxEnd ( Ptr< SatInterference::InterferenceChangeEvent > event)
privatepure virtual

Notifies that RX is ended by a receiver.

Concrete subclasses of this base class must implement this method.

Parameters
eventInterference reference event of receiver

Implemented in ns3::SatConstantInterference, ns3::SatPerPacketInterference, and ns3::SatTracedInterference.

Referenced by NotifyRxEnd().

Here is the caller graph for this function:

◆ DoNotifyRxStart()

virtual void ns3::SatInterference::DoNotifyRxStart ( Ptr< SatInterference::InterferenceChangeEvent > event)
privatepure virtual

Notifies that RX is started by a receiver.

Concrete subclasses of this base class must implement this method.

Parameters
eventInterference reference event of receiver

Implemented in ns3::SatConstantInterference, ns3::SatPerPacketInterference, and ns3::SatTracedInterference.

Referenced by NotifyRxStart().

Here is the caller graph for this function:

◆ DoReset()

virtual void ns3::SatInterference::DoReset ( void )
privatepure virtual

Resets current interference.

Concrete subclasses of this base class must implement this method.

Implemented in ns3::SatConstantInterference, ns3::SatPerPacketInterference, and ns3::SatTracedInterference.

Referenced by Reset().

Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::SatInterference::GetTypeId ( void )
static

Derived from Object.

Definition at line 106 of file satellite-interference.cc.

◆ HasCollision()

bool ns3::SatInterference::HasCollision ( Ptr< SatInterference::InterferenceChangeEvent > event)
virtual

Checks whether the packet has collided.

Used by random access

Parameters
eventInterference reference event of receiver
Returns
has the packet collided

Definition at line 202 of file satellite-interference.cc.

References m_packetCollisions.

◆ NotifyRxEnd()

void ns3::SatInterference::NotifyRxEnd ( Ptr< SatInterference::InterferenceChangeEvent > event)
virtual

Notifies that RX is ended by a receiver.

Parameters
eventInterference reference event of receiver

Definition at line 187 of file satellite-interference.cc.

References DoNotifyRxEnd(), m_currentlyReceiving, and m_packetCollisions.

Here is the call graph for this function:

◆ NotifyRxStart()

void ns3::SatInterference::NotifyRxStart ( Ptr< SatInterference::InterferenceChangeEvent > event)
virtual

Notifies that RX is started by a receiver.

Parameters
eventInterference reference event of receiver

Definition at line 169 of file satellite-interference.cc.

References DoNotifyRxStart(), m_currentlyReceiving, and m_packetCollisions.

Here is the call graph for this function:

◆ operator=()

SatInterference & ns3::SatInterference::operator= ( const SatInterference & o)
private

References SatInterference().

Here is the call graph for this function:

◆ Reset()

void ns3::SatInterference::Reset ( void )

Resets current interference.

Definition at line 158 of file satellite-interference.cc.

References DoReset(), m_currentlyReceiving, and m_packetCollisions.

Referenced by ns3::SatConstantInterference::~SatConstantInterference(), ns3::SatPerPacketInterference::~SatPerPacketInterference(), and ns3::SatTracedInterference::~SatTracedInterference().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_currentlyReceiving

uint32_t ns3::SatInterference::m_currentlyReceiving
private

◆ m_packetCollisions

std::map<Ptr<SatInterference::InterferenceChangeEvent>, bool> ns3::SatInterference::m_packetCollisions
private

Definition at line 226 of file satellite-interference.h.

Referenced by Calculate(), HasCollision(), NotifyRxEnd(), NotifyRxStart(), and Reset().


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