#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.
{
// get avg absolute prediction error
double sum = neighborCache->getAvgAbsPredictionError();
// update weighted moving average of local error
return (sum * errorC) + ownCoords->getError() * (1 - errorC);
}
| void SVivaldi::init | ( | NeighborCache * | neighborCache | ) | [virtual] |
Reimplemented from Vivaldi.
Definition at line 31 of file SVivaldi.cc.
{
Vivaldi::init(neighborCache);
lossC = neighborCache->par("svivaldiLossConst");
lossResetLimit = neighborCache->par("svivaldiLossResetLimit");
loss = 0;
WATCH(loss);
}
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().
1.7.1