Public Member Functions |
| MyOverlay () |
| ~MyOverlay () |
| BaseOverlay () |
virtual | ~BaseOverlay () |
| Virtual destructor.
|
States | getState () |
bool | isMalicious () |
| Returns true, if node is malicious.
|
bool | isInSimpleMultiOverlayHost () |
| Returns true if overlay is one in an array, inside a SimpleMultiOverlayHost.
|
const simtime_t & | getCreationTime () |
void | join (const OverlayKey &nodeID=OverlayKey::UNSPECIFIED_KEY) |
| Join the overlay with a given nodeID.
|
virtual NodeVector * | local_lookup (const OverlayKey &key, int num, bool safe) |
| finds nodes closest to the given OverlayKey
|
virtual NodeVector * | neighborSet (int num) |
virtual bool | isSiblingFor (const NodeHandle &node, const OverlayKey &key, int numSiblings, bool *err) |
| Query if a node is among the siblings for a given key.
|
virtual int | getMaxNumSiblings () |
| Query the maximum number of siblings (nodes close to a key) that are maintained by this overlay protocol.
|
virtual int | getMaxNumRedundantNodes () |
| Query the maximum number of redundant next hop nodes that are returned by findNode().
|
void | sendMessageToUDP (const TransportAddress &dest, cPacket *msg, simtime_t delay=SIMTIME_ZERO) |
| Sends message to underlay.
|
void | sendToKey (const OverlayKey &key, BaseOverlayMessage *message, int numSiblings=1, const std::vector< TransportAddress > &sourceRoute=TransportAddress::UNSPECIFIED_NODES, RoutingType routingType=DEFAULT_ROUTING) |
| Sends a message to an overlay node, with the generic routing algorithm.
|
virtual OverlayKey | distance (const OverlayKey &x, const OverlayKey &y, bool useAlternative=false) const |
| This method should implement the distance between two keys.
|
void | registerComp (CompType compType, cModule *module) |
cModule * | getCompModule (CompType compType) |
cGate * | getCompRpcGate (CompType compType) |
void | sendMessageToAllComp (cMessage *msg, CompType srcComp) |
bool | providesKbr () |
virtual uint8_t | getBitsPerDigit () |
bool | getMeasureAuthBlock () |
BootstrapList & | getBootstrapList () const |
virtual OverlayKey | estimateMeanDistance () |
| returns mean distance between OverlayKeys in the network
|
virtual uint32_t | estimateOverlaySize () |
| estimates the current number of nodes online
|
| BaseRpc () |
const NodeHandle & | getThisNode () |
| Returns the NodeHandle of this node.
|
simtime_t | getUdpTimeout () |
virtual | ~RpcListener () |
| destructor
|
virtual void | socketDataArrived (int connId, void *yourPtr, cPacket *msg, bool urgent) |
virtual void | socketEstablished (int connId, void *yourPtr) |
virtual void | socketPeerClosed (int connId, void *yourPtr) |
virtual void | socketFailure (int connId, void *yourPtr, int code) |
virtual void | socketStatusArrived (int connId, void *yourPtr, TCPStatusInfo *status) |
| TopologyVis () |
void | showOverlayNeighborArrow (const NodeHandle &neighbor, bool flush=true, const char *displayString=NULL) |
| Draws an arrow from this node to neighbor.
|
void | deleteOverlayNeighborArrow (const NodeHandle &neighbor) |
| Removes an arrow from this node to neighbor.
|
Additional Inherited Members |
enum | States {
INIT = 0,
BOOTSTRAP = 1,
DISCOVERY = 2,
PREJOIN = 3,
JOIN = 4,
POSTJOIN = 5,
READY = 6,
REFRESH = 7,
SHUTDOWN = 8,
FAILED = 9,
RSET = JOIN,
BSET = POSTJOIN
} |
typedef UNORDERED_SET
< AbstractLookup
*, lookupHashFcn,
lookupHashFcn > | LookupSet |
int | numInitStages () const |
| Sets init stage.
|
virtual void | initializeOverlay (int stage) |
| Initializes derived-class-attributes.
|
virtual void | finishOverlay () |
| collects statistical data in derived class
|
void | bindToPort (int port) |
| Tells UDP we want to get all packets arriving on the given port.
|
virtual void | route (const OverlayKey &key, CompType destComp, CompType srcComp, cPacket *msg, const std::vector< TransportAddress > &sourceRoute=TransportAddress::UNSPECIFIED_NODES, RoutingType routingType=DEFAULT_ROUTING) |
| Routes message through overlay.
|
void | callDeliver (BaseOverlayMessage *msg, const OverlayKey &destKey) |
| Calls deliver function in application.
|
void | callForward (const OverlayKey &key, BaseRouteMessage *msg, const NodeHandle &nextHopNode) |
| Calls forward function in application.
|
void | callUpdate (const NodeHandle &node, bool joined) |
| Informs application about state changes of nodes or newly joined nodes.
|
void | handleMessage (cMessage *msg) |
| Checks for message type and calls corresponding method.
|
void | handleBaseOverlayMessage (BaseOverlayMessage *msg, const OverlayKey &destKey=OverlayKey::UNSPECIFIED_KEY) |
| Handles a BaseOverlayMessage
|
virtual void | handleUDPMessage (BaseOverlayMessage *msg) |
| Processes messages from underlay.
|
virtual void | handleAppMessage (cMessage *msg) |
| Processes "timer" self-messages.
|
virtual void | receiveChangeNotification (int category, const cPolymorphic *details) |
| callback-method for events at the NotificationBoard
|
virtual void | handleTransportAddressChangedNotification () |
| This method gets call if the node has a new TransportAddress (IP address) because he changed his access network.
|
virtual void | handleNodeLeaveNotification () |
| This method gets call **.gracefulLeaveDelay seconds before it is killed.
|
virtual void | handleNodeGracefulLeaveNotification () |
| This method gets call **.gracefulLeaveDelay seconds before it is killed if this node is among the gracefulLeaveProbability nodes.
|
virtual void | recordOverlaySentStats (BaseOverlayMessage *msg) |
| Collect overlay specific sent messages statistics.
|
void | setOverlayReady (bool ready) |
| Sets the overlay ready icon and register/deregisters the node at the GlobalNodeList.
|
virtual AbstractLookup * | createLookup (RoutingType routingType=DEFAULT_ROUTING, const BaseOverlayMessage *msg=NULL, const cPacket *findNodeExt=NULL, bool appLookup=false) |
| Creates an abstract iterative lookup instance.
|
virtual void | removeLookup (AbstractLookup *lookup) |
| Removes the abstract lookup instance.
|
virtual NodeVector * | findNode (const OverlayKey &key, int numRedundantNodes, int numSiblings, BaseOverlayMessage *msg=NULL) |
| Implements the find node call.
|
virtual void | joinOverlay () |
| Join the overlay with a given nodeID in thisNode.key.
|
virtual void | joinForeignPartition (const NodeHandle &node) |
| Join another overlay partition with the given node as bootstrap node.
|
virtual bool | handleFailedNode (const TransportAddress &failed) |
| Handles a failed node.
|
virtual void | lookupRpc (LookupCall *call) |
virtual void | nextHopRpc (NextHopCall *call) |
void | countFindNodeCall (const FindNodeCall *call) |
void | countFailedNodeCall (const FailedNodeCall *call) |
bool | internalHandleRpcCall (BaseCallMessage *msg) |
| Handles internal rpc requests.
|
void | internalHandleRpcResponse (BaseResponseMessage *msg, cPolymorphic *context, int rpcId, simtime_t rtt) |
| Handles rpc responses internal in base classes
|
void | internalHandleRpcTimeout (BaseCallMessage *msg, const TransportAddress &dest, cPolymorphic *context, int rpcId, const OverlayKey &destKey) |
| Handles rpc timeouts internal in base classes
|
void | internalSendRouteRpc (BaseRpcMessage *message, const OverlayKey &destKey, const std::vector< TransportAddress > &sourceRoute, RoutingType routingType) |
CompType | getThisCompType () |
| Return the component type of this module.
|
int | numAppDataForwarded |
| number of forwarded app data packets
|
int | bytesAppDataForwarded |
| number of forwarded app data bytes at out-gate
|
int | numAppLookupForwarded |
| number of forwarded app lookup packets
|
int | bytesAppLookupForwarded |
| number of forwarded app lookup bytes at out-gate
|
int | numMaintenanceForwarded |
| number of forwarded maintenance packets
|
int | bytesMaintenanceForwarded |
| number of forwarded maintenance bytes at out-gate
|
int | numFindNodeSent |
int | bytesFindNodeSent |
int | numFindNodeResponseSent |
int | bytesFindNodeResponseSent |
int | numFailedNodeSent |
int | bytesFailedNodeSent |
int | numFailedNodeResponseSent |
int | bytesFailedNodeResponseSent |
std::vector< HopDelayRecord * > | singleHopDelays |
simtime_t | creationTime |
| simtime when the node has been created
|
GlobalNodeList * | globalNodeList |
| pointer to GlobalNodeList in this node
|
NotificationBoard * | notificationBoard |
| pointer to NotificationBoard in this node
|
UnderlayConfigurator * | underlayConfigurator |
| pointer to UnderlayConfigurator in this node
|
BootstrapList * | bootstrapList |
| pointer to the BootstrapList module
|
GlobalParameters * | globalParameters |
| pointer to the GlobalParameters module
|
uint32_t | overlayId |
| identifies the overlay this node belongs to (used for multiple overlays)
|
bool | debugOutput |
| debug output ?
|
RoutingType | defaultRoutingType |
bool | useCommonAPIforward |
| forward messages to applications?
|
bool | collectPerHopDelay |
| collect delay for single hops
|
bool | routeMsgAcks |
| send ACK when receiving route message
|
uint32_t | recNumRedundantNodes |
| numRedundantNodes for recursive routing
|
bool | recordRoute |
| record visited hops on route
|
bool | drawOverlayTopology |
bool | rejoinOnFailure |
bool | sendRpcResponseToLastHop |
| needed by KBR protocols for NAT support
|
bool | dropFindNodeAttack |
| if node is malicious, it tries a findNode attack
|
bool | isSiblingAttack |
| if node is malicious, it tries a isSibling attack
|
bool | invalidNodesAttack |
| if node is malicious, it tries a invalidNode attack
|
bool | dropRouteMessageAttack |
| if node is malicious, it drops all received BaseRouteMessages
|
int | localPort |
| used UDP-port
|
int | hopCountMax |
| maximum hop count
|
bool | measureAuthBlock |
| if true, measure the overhead of signatures in rpc messages
|
bool | restoreContext |
| if true, a node rejoins with its old nodeId and malicious state
|
int | numDropped |
| number of dropped packets
|
int | bytesDropped |
| number of dropped bytes
|
cOutVector | delayVector |
| statistical output vector for packet-delays
|
cOutVector | hopCountVector |
| statistical output vector for hop-counts
|
States | state |
IterativeLookupConfiguration | iterativeLookupConfig |
RecursiveLookupConfiguration | recursiveLookupConfig |
LookupSet | lookups |
bool | kbr |
| set this to true, if the overlay provides KBR services
|
- Author
- Antonio Zea
Definition at line 28 of file MyOverlay.h.