#include <NiceCluster.h>
Public Member Functions | |
| NiceCluster () | |
| void | add (const TransportAddress &member) |
| void | clear () |
| bool | contains (const TransportAddress &member) |
| int | getSize () |
| const TransportAddress & | get (int i) |
| void | remove (const TransportAddress &member) |
| void | setLeader (const TransportAddress &leader) |
| const TransportAddress & | getLeader () |
| simtime_t | get_Last_LT () |
| void | set_Last_LT () |
Private Types | |
| typedef std::set < TransportAddress > ::const_iterator | ConstClusterIterator |
| typedef std::set < TransportAddress >::iterator | ClusterIterator |
Private Attributes | |
| std::set< TransportAddress > | cluster |
| TransportAddress | leader |
| simtime_t | last_LT |
Definition at line 30 of file NiceCluster.h.
typedef std::set<TransportAddress>::iterator NiceCluster::ClusterIterator [private] |
Definition at line 42 of file NiceCluster.h.
typedef std::set<TransportAddress>::const_iterator NiceCluster::ConstClusterIterator [private] |
Definition at line 41 of file NiceCluster.h.
| NiceCluster::NiceCluster | ( | ) |
Definition at line 28 of file NiceCluster.cc.
00029 { 00030 WATCH_SET(cluster); 00031 WATCH(leader); 00032 00033 setLeader(TransportAddress::UNSPECIFIED_NODE); 00034 00035 last_LT = 0.0; 00036 00037 } // NICECluster
| void NiceCluster::add | ( | const TransportAddress & | member | ) |
Definition at line 40 of file NiceCluster.cc.
Referenced by oversim::Nice::changeState(), oversim::Nice::ClusterSplit(), oversim::Nice::handleHeartbeat(), oversim::Nice::handleJoinCluster(), oversim::Nice::handleQueryResponse(), oversim::Nice::handleUDPMessage(), oversim::Nice::JoinCluster(), and oversim::Nice::maintenance().
00041 { 00042 00043 cluster.insert(member); 00044 00045 } // add
| void NiceCluster::clear | ( | ) |
Definition at line 48 of file NiceCluster.cc.
Referenced by oversim::Nice::ClusterSplit(), oversim::Nice::handleHeartbeat(), oversim::Nice::handleUDPMessage(), and oversim::Nice::initializeOverlay().
00049 { 00050 00051 cluster.clear(); 00052 setLeader(TransportAddress::UNSPECIFIED_NODE); 00053 00054 last_LT = 0.0; 00055 00056 } // clear
| bool NiceCluster::contains | ( | const TransportAddress & | member | ) |
Definition at line 59 of file NiceCluster.cc.
Referenced by oversim::Nice::handleHeartbeat(), oversim::Nice::handleUDPMessage(), oversim::Nice::sendDataToOverlay(), and oversim::Nice::updateVisualization().
00060 { 00061 00062 ConstClusterIterator it = cluster.find(member); 00063 00064 if (it != cluster.end()) 00065 return true; 00066 00067 return false; 00068 00069 } // contains
| const TransportAddress & NiceCluster::get | ( | int | i | ) |
Definition at line 80 of file NiceCluster.cc.
Referenced by oversim::Nice::ClusterMerge(), oversim::Nice::ClusterSplit(), oversim::Nice::findClusterLeader(), oversim::Nice::gracefulLeave(), oversim::Nice::handleHeartbeat(), oversim::Nice::handleQuery(), oversim::Nice::maintenance(), oversim::Nice::sendDataToOverlay(), oversim::Nice::sendHeartbeats(), and oversim::Nice::updateVisualization().
00081 { 00082 00083 ConstClusterIterator it = cluster.begin(); 00084 00085 for (int j = 0; j < i; j++) 00086 it++; 00087 00088 return *it; 00089 00090 } // get
| simtime_t NiceCluster::get_Last_LT | ( | ) |
Definition at line 118 of file NiceCluster.cc.
Referenced by oversim::Nice::handleHeartbeat().
00119 { 00120 00121 return last_LT; 00122 00123 }
| const TransportAddress & NiceCluster::getLeader | ( | ) |
Definition at line 110 of file NiceCluster.cc.
Referenced by oversim::Nice::handleHeartbeat(), oversim::Nice::handleUDPMessage(), oversim::Nice::maintenance(), and oversim::Nice::sendHeartbeats().
00111 { 00112 00113 return leader; 00114 00115 } // getLeader
| int NiceCluster::getSize | ( | ) |
Definition at line 72 of file NiceCluster.cc.
Referenced by oversim::Nice::ClusterMerge(), oversim::Nice::ClusterMergeRequest(), oversim::Nice::ClusterSplit(), oversim::Nice::findClusterLeader(), oversim::Nice::gracefulLeave(), oversim::Nice::handleHeartbeat(), oversim::Nice::handleQuery(), oversim::Nice::handleUDPMessage(), oversim::Nice::LeaderTransfer(), oversim::Nice::maintenance(), oversim::Nice::sendDataToOverlay(), oversim::Nice::sendHeartbeats(), oversim::Nice::sendHeartbeatTo(), and oversim::Nice::updateVisualization().
00073 { 00074 00075 return cluster.size(); 00076 00077 } // getSize
| void NiceCluster::remove | ( | const TransportAddress & | member | ) |
Definition at line 92 of file NiceCluster.cc.
Referenced by oversim::Nice::ClusterMerge(), oversim::Nice::gracefulLeave(), oversim::Nice::handleUDPMessage(), oversim::Nice::maintenance(), and oversim::Nice::Remove().
00093 { 00094 00095 cluster.erase(member); 00096 00097 } // remove
| void NiceCluster::set_Last_LT | ( | ) |
Definition at line 125 of file NiceCluster.cc.
Referenced by oversim::Nice::handleHeartbeat().
00126 { 00127 00128 last_LT = simTime(); 00129 00130 }
| void NiceCluster::setLeader | ( | const TransportAddress & | leader | ) |
Definition at line 100 of file NiceCluster.cc.
Referenced by oversim::Nice::becomeRendevouzPoint(), oversim::Nice::changeState(), clear(), oversim::Nice::ClusterMerge(), oversim::Nice::ClusterMergeRequest(), oversim::Nice::ClusterSplit(), oversim::Nice::gracefulLeave(), oversim::Nice::handleHeartbeat(), oversim::Nice::JoinCluster(), oversim::Nice::maintenance(), and NiceCluster().
00101 { 00102 00103 this->leader = leader; 00104 00105 // //cout << "Leader set to " << leader << endl; 00106 00107 } // setLeader
std::set<TransportAddress> NiceCluster::cluster [private] |
Definition at line 36 of file NiceCluster.h.
Referenced by add(), clear(), contains(), get(), getSize(), NiceCluster(), and remove().
simtime_t NiceCluster::last_LT [private] |
Definition at line 39 of file NiceCluster.h.
Referenced by clear(), get_Last_LT(), NiceCluster(), and set_Last_LT().
TransportAddress NiceCluster::leader [private] |
1.5.8