BackupNodeData Class Reference

#include <BackupNodeData.h>

List of all members.

Public Member Functions

 BackupNodeData (SubSpace subSpace)
SubSpace getSubSpace ()
void setSubSpace (SubSpace subSpace)
int getId ()
bool operator< (const BackupNodeData backupNode) const
void addDelay (double delay, IPAddress ip)
Delay getMaxDelay ()
double getBackupDelay ()
void setBackupDelay (double delay)
void setTree (std::list< TreeNode > tree)
std::list< TreeNodegetTree ()
int getSize ()

Public Attributes

double lastMessage

Protected Attributes

SubSpace subSpace
Delay lastMaxDelay
double backupDelay
int size
std::list< double > lastBackupDelays
std::list< double >
::iterator 
lB
std::list< Delaydelays
std::list< TreeNodetree

Friends

std::ostream & operator<< (std::ostream &Stream, BackupNodeData b)


Constructor & Destructor Documentation

BackupNodeData::BackupNodeData ( SubSpace  subSpace  ) 

00020                                                 {
00021         this->subSpace = subSpace;
00022         this->backupDelay = 1;
00023         this->size=0;
00024 }


Member Function Documentation

SubSpace BackupNodeData::getSubSpace (  ) 

00046                                      {
00047         return this->subSpace;
00048 }

void BackupNodeData::setSubSpace ( SubSpace  subSpace  ) 

00049                                                   {
00050         this->subSpace = subSpace;
00051 }

int BackupNodeData::getId (  ) 

00026                           {
00027         return subSpace.getId();
00028 }

bool BackupNodeData::operator< ( const BackupNodeData  backupNode  )  const

00092                                                                     {
00093         if ( lastMessage < backupNode.lastMessage ) return true;
00094         return false;
00095 }

void BackupNodeData::addDelay ( double  delay,
IPAddress  ip 
)

00053                                                        {
00054         Delay delay;
00055         delay.delay = time;
00056         delay.ip = ip;
00057         delays.push_back(delay);
00058 }

Delay BackupNodeData::getMaxDelay (  ) 

00059                                   {
00060         if ( delays.size() > 0 ) {
00061                 delays.sort();
00062                 Delay returnDelay = delays.back();
00063                 lastMaxDelay = returnDelay;
00064                 delays.clear();
00065                 return returnDelay;
00066         }
00067         else {
00068                 Delay dummy;
00069                 dummy.delay = 0; //will never replaced
00070                 dummy.ip = (IPAddress) "127.0.0.1";
00071                 return dummy;
00072         }
00073 }

double BackupNodeData::getBackupDelay (  ) 

00074                                       {
00075         return backupDelay;
00076 }

void BackupNodeData::setBackupDelay ( double  delay  ) 

00077                                                 {
00078         lastBackupDelays.push_back( delay);
00079         if(lastBackupDelays.size() > 5 ) lastBackupDelays.pop_front();
00080         double avg=0;
00081         for(lB = lastBackupDelays.begin(); lB != lastBackupDelays.end(); ++lB) {
00082                 avg += *lB;
00083         }
00084         backupDelay = avg/lastBackupDelays.size();
00085 }

void BackupNodeData::setTree ( std::list< TreeNode tree  ) 

00033                                                    {
00034         this->tree = tree;
00035         size=0;
00036         std::list<TreeNode>::iterator t;
00037         for(t = tree.begin(); t != tree.end(); ++t) {
00038                 if( t->playerId > 0) {
00039                         ++size;
00040                 }
00041         }
00042 }

std::list< TreeNode > BackupNodeData::getTree (  ) 

00043                                           {
00044         return this->tree;
00045 }

int BackupNodeData::getSize (  ) 

00029                             {
00030         return size;
00031 }


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  Stream,
BackupNodeData  b 
) [friend]

00088 {
00089     return Stream << "SubSpaceId: " << b.getSubSpace().getId() << " PlayerListSize: " << b.tree.size() << " last received Message: " << b.lastMessage << " own Delay: " << b.backupDelay << " Last Max Delay: " << b.lastMaxDelay.delay << " " << b.lastMaxDelay.ip << " \n";
00090 }


Member Data Documentation

double BackupNodeData::lastMessage

SubSpace BackupNodeData::subSpace [protected]

Delay BackupNodeData::lastMaxDelay [protected]

double BackupNodeData::backupDelay [protected]

int BackupNodeData::size [protected]

std::list<double> BackupNodeData::lastBackupDelays [protected]

std::list<double>::iterator BackupNodeData::lB [protected]

std::list<Delay> BackupNodeData::delays [protected]

std::list<TreeNode> BackupNodeData::tree [protected]


The documentation for this class was generated from the following files:
Generated on Thu Apr 17 13:19:28 2008 for ITM OverSim by  doxygen 1.5.3