#include <SVivaldi.h>
Public Member Functions | |
virtual void | init (NeighborCache *neighborCache) |
Protected Member Functions | |
virtual double | calcError (const simtime_t &rtt, double dist, double weight) |
virtual double | calcDelta (const simtime_t &rtt, double dist, double weight) |
Private Attributes | |
double | lossC |
double | effectiveSample |
double | loss |
double | lossResetLimit |
Definition at line 34 of file SVivaldi.h.
double SVivaldi::calcDelta | ( | const simtime_t & | rtt, | |
double | dist, | |||
double | weight | |||
) | [protected, virtual] |
double SVivaldi::calcError | ( | const simtime_t & | rtt, | |
double | dist, | |||
double | weight | |||
) | [protected, virtual] |
Reimplemented from Vivaldi.
Definition at line 43 of file SVivaldi.cc.
00044 { 00045 // get avg absolute prediction error 00046 double sum = neighborCache->getAvgAbsPredictionError(); 00047 00048 // update weighted moving average of local error 00049 return (sum * errorC) + ownCoords->getError() * (1 - errorC); 00050 }
void SVivaldi::init | ( | NeighborCache * | neighborCache | ) | [virtual] |
Reimplemented from Vivaldi.
Definition at line 31 of file SVivaldi.cc.
00032 { 00033 Vivaldi::init(neighborCache); 00034 00035 lossC = neighborCache->par("vivaldiLossConst"); 00036 lossResetLimit = neighborCache->par("lossResetLimit"); 00037 00038 loss = 0; 00039 WATCH(loss); 00040 }
double SVivaldi::effectiveSample [private] |
Definition at line 38 of file SVivaldi.h.
double SVivaldi::loss [private] |
Definition at line 39 of file SVivaldi.h.
Referenced by calcDelta(), and init().
double SVivaldi::lossC [private] |
Definition at line 37 of file SVivaldi.h.
Referenced by calcDelta(), and init().
double SVivaldi::lossResetLimit [private] |
Definition at line 40 of file SVivaldi.h.
Referenced by calcDelta(), and init().