Base class for providing additional underlay specific information associated with a certain transport address. More...
#include <PeerInfo.h>
Public Member Functions | |
PeerInfo (uint32_t type, int moduleId, cObject **context) | |
constructor | |
virtual | ~PeerInfo () |
bool | isBootstrapped () |
has the peer bootstrapped yet? | |
int | getModuleID () |
returns the moduleId of the peer | |
int8_t | getNpsLayer () |
returns the NPS layer of the peer | |
void | setNpsLayer (int8_t layer) |
set the NPS layer of the peer | |
uint32_t | getTypeID () |
returns the type of the node | |
bool | isPreKilled () |
is the peer marked for deletion? | |
void | setPreKilled (bool killed=true) |
mark that the peer gets deleted soon | |
bool | isMalicious () |
is the peer malicious? | |
cObject ** | getContext () |
Private Member Functions | |
virtual void | dummy () |
dummy-function to make PeerInfo polymorphic | |
void | setMalicious (bool malic=true) |
set the maliciousness of the peer | |
void | setBootstrapped (bool bootstrap=true) |
sets or deletes the bootstrapped parameter | |
Private Attributes | |
bool | bootstrapped |
true if node has bootstrapped | |
bool | malicious |
true if the node is malicious | |
bool | preKilled |
true, if the node is marked for deletion | |
int | moduleId |
the moduleId of the peer | |
uint32_t | type |
ID of the node type. | |
int8_t | npsLayer |
NPS Layer of the node. | |
cObject ** | context |
context pointer | |
Friends | |
class | PeerStorage |
std::ostream & | operator<< (std::ostream &os, const PeerInfo info) |
standard output stream for PeerInfo, gives moduleID and true if peer has bootstrapped, false otherwise |
Base class for providing additional underlay specific information associated with a certain transport address.
Definition at line 39 of file PeerInfo.h.
PeerInfo::PeerInfo | ( | uint32_t | type, | |
int | moduleId, | |||
cObject ** | context | |||
) |
virtual PeerInfo::~PeerInfo | ( | ) | [inline, virtual] |
Definition at line 49 of file PeerInfo.h.
{};
void PeerInfo::dummy | ( | ) | [private, virtual] |
dummy-function to make PeerInfo polymorphic
Reimplemented in InetInfo, ReaSEInfo, and SimpleInfo.
Definition at line 36 of file PeerInfo.cc.
{}
cObject** PeerInfo::getContext | ( | ) | [inline] |
Definition at line 105 of file PeerInfo.h.
Referenced by GlobalNodeList::getContext().
{ return context; };
int PeerInfo::getModuleID | ( | ) | [inline] |
returns the moduleId of the peer
Definition at line 63 of file PeerInfo.h.
Referenced by TraceChurn::createNode(), TopologyVis::deleteOverlayNeighborArrow(), operator<<(), and GlobalNodeList::setOverlayReadyIcon().
{ return moduleId; };
int8_t PeerInfo::getNpsLayer | ( | ) | [inline] |
returns the NPS layer of the peer
Definition at line 70 of file PeerInfo.h.
Referenced by Nps::getLandmarks(), GlobalNodeList::killPeer(), operator<<(), SimpleUDP::processMsgFromApp(), and SimpleTCPConnection::sendToIP().
{ return npsLayer; };
uint32_t PeerInfo::getTypeID | ( | ) | [inline] |
returns the type of the node
Definition at line 82 of file PeerInfo.h.
Referenced by PeerStorage::insertMapIteratorIntoVector(), operator<<(), SimpleUnderlayConfigurator::preKillNode(), ReaSEUnderlayConfigurator::preKillNode(), InetUnderlayConfigurator::preKillNode(), SimpleUDP::processMsgFromApp(), PeerStorage::removeMapIteratorFromVector(), SimpleTCPConnection::sendToIP(), and Nps::setOwnLayer().
{ return type; };
bool PeerInfo::isBootstrapped | ( | ) | [inline] |
has the peer bootstrapped yet?
Definition at line 56 of file PeerInfo.h.
Referenced by PeerStorage::insertMapIteratorIntoVector(), operator<<(), and PeerStorage::removeMapIteratorFromVector().
{ return bootstrapped; };
bool PeerInfo::isMalicious | ( | ) | [inline] |
is the peer malicious?
Definition at line 103 of file PeerInfo.h.
Referenced by PeerStorage::insertMapIteratorIntoVector(), GlobalNodeList::isMalicious(), and PeerStorage::removeMapIteratorFromVector().
{ return malicious; };
bool PeerInfo::isPreKilled | ( | ) | [inline] |
is the peer marked for deletion?
Definition at line 89 of file PeerInfo.h.
Referenced by GlobalNodeList::setPreKilled().
{ return preKilled; };
void PeerInfo::setBootstrapped | ( | bool | bootstrap = true |
) | [inline, private] |
sets or deletes the bootstrapped parameter
bootstrap | true or () if peer has bootstrapped, false otherwise |
Definition at line 133 of file PeerInfo.h.
{ bootstrapped = bootstrap; };
void PeerInfo::setMalicious | ( | bool | malic = true |
) | [inline, private] |
set the maliciousness of the peer
malic | whether the peer is malicious or not |
Definition at line 126 of file PeerInfo.h.
{ malicious = malic; };
void PeerInfo::setNpsLayer | ( | int8_t | layer | ) | [inline] |
set the NPS layer of the peer
Definition at line 75 of file PeerInfo.h.
Referenced by Nps::setOwnLayer().
{ npsLayer = layer; }
void PeerInfo::setPreKilled | ( | bool | killed = true |
) | [inline] |
mark that the peer gets deleted soon
killed | true, if the peer gets deleted soon |
Definition at line 96 of file PeerInfo.h.
Referenced by GlobalNodeList::addPeer(), and GlobalNodeList::setPreKilled().
{ preKilled = killed; };
std::ostream& operator<< | ( | std::ostream & | os, | |
const PeerInfo | info | |||
) | [friend] |
standard output stream for PeerInfo, gives moduleID and true if peer has bootstrapped, false otherwise
os | the ostream | |
info | the PeerInfo |
Definition at line 40 of file PeerInfo.cc.
{ os << "ModuleId: " << info.moduleId << "Bootstrapped: " << (info.bootstrapped ? "true" : "false"); if (info.npsLayer >= 0) os << "; NPS Layer: " << info.npsLayer; return os; }
friend class PeerStorage [friend] |
Definition at line 41 of file PeerInfo.h.
bool PeerInfo::bootstrapped [private] |
true if node has bootstrapped
Definition at line 133 of file PeerInfo.h.
Referenced by isBootstrapped(), operator<<(), PeerInfo(), and setBootstrapped().
cObject** PeerInfo::context [private] |
bool PeerInfo::malicious [private] |
true if the node is malicious
Definition at line 136 of file PeerInfo.h.
Referenced by isMalicious(), PeerInfo(), and setMalicious().
int PeerInfo::moduleId [private] |
the moduleId of the peer
Definition at line 138 of file PeerInfo.h.
Referenced by getModuleID(), and operator<<().
int8_t PeerInfo::npsLayer [private] |
NPS Layer of the node.
Definition at line 140 of file PeerInfo.h.
Referenced by getNpsLayer(), operator<<(), PeerInfo(), and setNpsLayer().
bool PeerInfo::preKilled [private] |
true, if the node is marked for deletion
Definition at line 137 of file PeerInfo.h.
Referenced by isPreKilled(), and setPreKilled().
uint32_t PeerInfo::type [private] |