User Manual, Developers Guide and API Documentation

wimac::service::InterferenceCache Class Reference

The interference cache provides averaged carrier and interference values.

#include <services/InterferenceCache.hpp>

Inheritance diagram for wimac::service::InterferenceCache:

Inheritance graph
[legend]
Collaboration diagram for wimac::service::InterferenceCache:

Collaboration graph
[legend]

List of all members.

Public Types

typedef
wns::ldk::PyConfigCreator
< NotFoundStrategy
NotFoundStrategyCreator
typedef wns::StaticFactory
< NotFoundStrategyCreator
NotFoundStrategyFactory
enum  ValueOrigin { Local, Remote }

Public Member Functions

wns::Power getAveragedCarrier (wns::node::Interface *node, int subBand=0) const
 Returns the average carrier power measured so far.
wns::Power getAveragedInterference (wns::node::Interface *node, int subBand=0) const
 Returns the average interference measured so far.
wns::Ratio getAveragedPathloss (wns::node::Interface *node, int subBand=0) const
 Returns the average pathloss measured so far.
wns::Power getCarrierDeviation (wns::node::Interface *, int subBand=0) const
 Returns the deviation of the measured carrier power.
wns::Power getInterferenceDeviation (wns::node::Interface *, int subBand=0) const
 Returns the deviation of the measured interference power.
 InterferenceCache (wns::ldk::ManagementServiceRegistry *, const wns::pyconfig::View &config)
void storeCarrier (wns::node::Interface *node, const wns::Power &carrier, ValueOrigin origin, int subBand=0)
 Store the received carrier power of node in the InterferenceCache.
void storeInterference (wns::node::Interface *node, const wns::Power &interference, ValueOrigin origin, int subBand=0)
 Store the received interference power of node in the InterferenceCache.
void storePathloss (wns::node::Interface *node, const wns::Ratio &pathloss, ValueOrigin origin, int subBand=0)
 Store the estimated pathloss (including antenna gains) to a node in the InterferenceCache.
virtual ~InterferenceCache ()

Private Types

typedef std::map
< InterferenceCacheKey, double
Node2Double
typedef std::map
< InterferenceCacheKey,
wns::Power
Node2Power

Private Attributes

double alphaLocal_
double alphaRemote_
Node2Power node2CarrierAverage_
Node2Double node2CarrierSqExp_
Node2Power node2InterferenceAverage_
Node2Double node2InterferenceSqExp_
Node2Double node2pathloss
std::auto_ptr< NotFoundStrategynotFoundStrategy

Classes

class  Complain
 A NotFoundStrategy that throws an exception. More...
class  ConstantValue
 A NotFoundStrategy that returns constant values. More...
class  InterferenceCacheKey
 A key for the internal representation of the cache. More...
class  NotFoundStrategy
 Strategy that specifies the behaviour if the requested value is not found. More...


Detailed Description

Definition at line 51 of file InterferenceCache.hpp.


Member Typedef Documentation

Definition at line 299 of file InterferenceCache.hpp.

Definition at line 298 of file InterferenceCache.hpp.

Definition at line 95 of file InterferenceCache.hpp.

Definition at line 96 of file InterferenceCache.hpp.


Member Enumeration Documentation

Enumerator:
Local 
Remote 

Definition at line 188 of file InterferenceCache.hpp.


Constructor & Destructor Documentation

InterferenceCache::InterferenceCache ( wns::ldk::ManagementServiceRegistry msr,
const wns::pyconfig::View config 
)

Definition at line 60 of file InterferenceCache.cpp.

virtual wimac::service::InterferenceCache::~InterferenceCache (  )  [inline, virtual]

Definition at line 186 of file InterferenceCache.hpp.


Member Function Documentation

wns::Power InterferenceCache::getAveragedCarrier ( wns::node::Interface node,
int  subBand = 0 
) const

Definition at line 172 of file InterferenceCache.cpp.

wns::Power InterferenceCache::getAveragedInterference ( wns::node::Interface node,
int  subBand = 0 
) const

Definition at line 184 of file InterferenceCache.cpp.

wns::Ratio InterferenceCache::getAveragedPathloss ( wns::node::Interface node,
int  subBand = 0 
) const

Definition at line 198 of file InterferenceCache.cpp.

wns::Power InterferenceCache::getCarrierDeviation ( wns::node::Interface node,
int  subBand = 0 
) const

Definition at line 212 of file InterferenceCache.cpp.

wns::Power InterferenceCache::getInterferenceDeviation ( wns::node::Interface node,
int  subBand = 0 
) const

Definition at line 231 of file InterferenceCache.cpp.

void InterferenceCache::storeCarrier ( wns::node::Interface node,
const wns::Power carrier,
ValueOrigin  origin,
int  subBand = 0 
)

The received carrier power of node is stored in the InterferenceCache. The ValueOrigin tells whether the local node or a remote node writes into the cache.

See also:
storeInterference()

Definition at line 76 of file InterferenceCache.cpp.

void InterferenceCache::storeInterference ( wns::node::Interface node,
const wns::Power interference,
ValueOrigin  origin,
int  subBand = 0 
)

The received interference power of node is stored in the InterferenceCache. The ValueOrigin tells whether the local node or a remote node writes into the cache.

See also:
storeCarrier()

Definition at line 112 of file InterferenceCache.cpp.

void InterferenceCache::storePathloss ( wns::node::Interface node,
const wns::Ratio pathloss,
ValueOrigin  origin,
int  subBand = 0 
)

Definition at line 147 of file InterferenceCache.cpp.


Member Data Documentation

Definition at line 306 of file InterferenceCache.hpp.

Definition at line 307 of file InterferenceCache.hpp.

Definition at line 301 of file InterferenceCache.hpp.

Definition at line 303 of file InterferenceCache.hpp.

Definition at line 302 of file InterferenceCache.hpp.

Definition at line 304 of file InterferenceCache.hpp.

Definition at line 305 of file InterferenceCache.hpp.

Definition at line 309 of file InterferenceCache.hpp.


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

Generated on Sat May 26 03:32:46 2012 for openWNS by  doxygen 1.5.5