A Discrete-Event Network Simulator
API
ns3::PropagationCache< T > Class Template Reference

Constructs a cache of objects, where each object is responsible for a single propagation path loss calculations. More...

#include "propagation-cache.h"

+ Inheritance diagram for ns3::PropagationCache< T >:
+ Collaboration diagram for ns3::PropagationCache< T >:

Classes

struct  PropagationPathIdentifier
 Each path is identified by. More...
 

Public Member Functions

 PropagationCache ()
 
 ~PropagationCache ()
 
void AddPathData (Ptr< T > data, Ptr< const MobilityModel > a, Ptr< const MobilityModel > b, uint32_t modelUid)
 Add a model to the path. More...
 
void Cleanup ()
 Clean the cache. More...
 
Ptr< T > GetPathData (Ptr< const MobilityModel > a, Ptr< const MobilityModel > b, uint32_t modelUid)
 Get the model associated with the path. More...
 

Private Types

typedef std::map< PropagationPathIdentifier, Ptr< T > > PathCache
 Typedef: PropagationPathIdentifier, Ptr<T> More...
 

Private Attributes

PathCache m_pathCache
 Path cache. More...
 

Detailed Description

template<class T>
class ns3::PropagationCache< T >

Constructs a cache of objects, where each object is responsible for a single propagation path loss calculations.

Propagation path a-->b and b-->a is the same thing. Propagation path is identified by a couple of MobilityModels and a spectrum model UID

Definition at line 35 of file propagation-cache.h.

Member Typedef Documentation

◆ PathCache

template<class T >
typedef std::map<PropagationPathIdentifier, Ptr<T> > ns3::PropagationCache< T >::PathCache
private

Typedef: PropagationPathIdentifier, Ptr<T>

Definition at line 134 of file propagation-cache.h.

Constructor & Destructor Documentation

◆ PropagationCache()

template<class T >
ns3::PropagationCache< T >::PropagationCache ( )
inline

Definition at line 38 of file propagation-cache.h.

◆ ~PropagationCache()

template<class T >
ns3::PropagationCache< T >::~PropagationCache ( )
inline

Definition at line 39 of file propagation-cache.h.

Member Function Documentation

◆ AddPathData()

template<class T >
void ns3::PropagationCache< T >::AddPathData ( Ptr< T >  data,
Ptr< const MobilityModel a,
Ptr< const MobilityModel b,
uint32_t  modelUid 
)
inline

Add a model to the path.

Parameters
datathe model to associate to the path
a1st node mobility model
b2nd node mobility model
modelUidmodel UID

Definition at line 66 of file propagation-cache.h.

References data, ns3::PropagationCache< T >::m_pathCache, and NS_ASSERT.

◆ Cleanup()

template<class T >
void ns3::PropagationCache< T >::Cleanup ( void  )
inline

Clean the cache.

Definition at line 76 of file propagation-cache.h.

References ns3::PropagationCache< T >::m_pathCache.

◆ GetPathData()

template<class T >
Ptr< T > ns3::PropagationCache< T >::GetPathData ( Ptr< const MobilityModel a,
Ptr< const MobilityModel b,
uint32_t  modelUid 
)
inline

Get the model associated with the path.

Parameters
a1st node mobility model
b2nd node mobility model
modelUidmodel UID
Returns
the model

Definition at line 48 of file propagation-cache.h.

References ns3::PropagationCache< T >::m_pathCache.

Member Data Documentation

◆ m_pathCache

template<class T >
PathCache ns3::PropagationCache< T >::m_pathCache
private

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