Public Member Functions |
| virtual | ~PubSubMMOG () |
| virtual void | initializeOverlay (int stage) |
| | Initializes derived-class-attributes.
|
| virtual void | finishOverlay () |
| | collects statistical data in derived class
|
| virtual void | handleUDPMessage (BaseOverlayMessage *msg) |
| | Processes messages from underlay.
|
| virtual void | handleTimerEvent (cMessage *msg) |
| 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 bool | handleRpcCall (BaseCallMessage *msg) |
| | Processes Remote-Procedure-Call invocation messages.
|
| virtual void | handleRpcResponse (BaseResponseMessage *msg, cPolymorphic *context, int rpcId, simtime_t rtt) |
| | This method is called if an RPC response has been received.
|
| virtual void | handleRpcTimeout (BaseCallMessage *msg, const TransportAddress &dest, cPolymorphic *context, int rpcId, const OverlayKey &destKey) |
| | This method is called if an RPC timeout has been reached.
|
| | 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.
|
Protected Member Functions |
| void | setBootstrapedIcon () |
| void | handleMove (GameAPIPositionMessage *posMsg) |
| void | handleMoveMessage (PubSubMoveMessage *moveMsg) |
| void | handleMoveListMessage (PubSubMoveListMessage *moveMsg) |
| void | handleJoinResponse (PubSubJoinResponse *joinResp) |
| void | handleSubscriptionCall (PubSubSubscriptionCall *subCall) |
| void | handleSubscriptionResponse (PubSubSubscriptionResponse *subResp) |
| void | handleResponsibleNodeResponse (PubSubResponsibleNodeResponse *subResp) |
| void | handleTakeOver (PubSubTakeOverSubspaceCall *toCall) |
| void | handleHelpResponse (PubSubHelpResponse *helpResp) |
| void | handleBackupCall (PubSubBackupCall *backupCall) |
| void | handleBackupResponse (PubSubBackupResponse *backupResp) |
| void | handleIntermediateCall (PubSubIntermediateCall *intermediateCall) |
| void | handleIntermediateResponse (PubSubIntermediateResponse *intermediateResp) |
| void | handleAdoptChildCall (PubSubAdoptChildCall *adoptCall) |
| void | handleAdoptChildResponse (PubSubAdoptChildResponse *adoptResp) |
| void | handlePingCall (PubSubPingCall *hearbeatCall) |
| void | handlePingResponse (PubSubPingResponse *pingResp) |
| void | takeOverNewSubspace (PubSubSubspaceId subspaceId) |
| void | takeOverSubspace (PubSubSubspaceResponsible &subspaceId, bool isNew) |
| void | sendHearbeatToChildren () |
| void | sendPingToChildren () |
| void | handleParentTimeout (PubSubTimer *timer) |
| void | handleBackupCallTimeout (PubSubBackupCall *backupCall, const TransportAddress &oldNode) |
| void | handlePingCallTimeout (PubSubPingCall *pingCall, const TransportAddress &oldNode) |
| void | handleSubscriptionCallTimeout (PubSubSubscriptionCall *subscriptionCall, const TransportAddress &oldNode) |
| void | handleUnsubscriptionMessage (PubSubUnsubscriptionMessage *unsMsg) |
| void | handleNodeLeftMessage (PubSubNodeLeftMessage *leftMsg) |
| void | handleReplacementMessage (PubSubReplacementMessage *replaceMsg) |
| void | handleReleaseIntermediate (PubSubReleaseIntermediateMessage *releaseMsg) |
| void | handleIntermediateBackup (PubSubBackupIntermediateMessage *backupMsg) |
| void | handleSubscriptionBackup (PubSubBackupSubscriptionMessage *backupMsg) |
| void | handleUnsubscribeBackup (PubSubBackupUnsubscribeMessage *backupMsg) |
| void | unsubscribeChild (const NodeHandle &node, PubSubSubspaceResponsible &subspace) |
| void | sendMessageToChildren (PubSubSubspaceResponsible &subspace, BaseOverlayMessage *toIntermediates, BaseOverlayMessage *toBackup, BaseOverlayMessage *toPlayers) |
| void | publishEvents () |
| void | startTimer (PubSubTimer *timer) |
| int | numInitStages () const |
| | Sets init stage.
|
| 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 | 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.
|
| void | initRpcs () |
| | Initializes Remote-Procedure state.
|
| void | finishRpcs () |
| | Deinitializes Remote-Procedure state.
|
| virtual void | internalHandleRpcMessage (BaseRpcMessage *msg) |
| | Handles incoming rpc messages and delegates them to the corresponding listeners or handlers.
|
| uint32_t | sendRouteRpcCall (CompType destComp, const TransportAddress &dest, const OverlayKey &destKey, BaseCallMessage *msg, cPolymorphic *context=NULL, RoutingType routingType=DEFAULT_ROUTING, simtime_t timeout=-1, int retries=0, int rpcId=-1, RpcListener *rpcListener=NULL) |
| | Routes a Remote-Procedure-Call message to an OverlayKey.
|
| uint32_t | sendRouteRpcCall (CompType destComp, const OverlayKey &destKey, BaseCallMessage *msg, cPolymorphic *context=NULL, RoutingType routingType=DEFAULT_ROUTING, simtime_t timeout=-1, int retries=0, int rpcId=-1, RpcListener *rpcListener=NULL) |
| | Routes a Remote-Procedure-Call message to an OverlayKey.
|
| uint32_t | sendRouteRpcCall (CompType destComp, const TransportAddress &dest, BaseCallMessage *msg, cPolymorphic *context=NULL, RoutingType routingType=DEFAULT_ROUTING, simtime_t timeout=-1, int retries=0, int rpcId=-1, RpcListener *rpcListener=NULL) |
| | Sends a Remote-Procedure-Call message using the overlay's UDP port
This replaces ROUTE_DIRECT calls!
|
| uint32_t | sendUdpRpcCall (const TransportAddress &dest, BaseCallMessage *msg, cPolymorphic *context=NULL, simtime_t timeout=-1, int retries=0, int rpcId=-1, RpcListener *rpcListener=NULL) |
| | Sends a Remote-Procedure-Call message to the underlay
|
| uint32_t | sendInternalRpcCall (CompType destComp, BaseCallMessage *msg, cPolymorphic *context=NULL, simtime_t timeout=-1, int retries=0, int rpcId=-1, RpcListener *rpcListener=NULL) |
| | Sends an internal Remote-Procedure-Call between two tiers
|
| void | cancelRpcMessage (uint32_t nonce) |
| | Cancels a Remote-Procedure-Call.
|
| void | cancelAllRpcs () |
| | Cancels all RPCs.
|
| void | sendRpcResponse (TransportType transportType, CompType destComp, const TransportAddress &dest, const OverlayKey &destKey, BaseCallMessage *call, BaseResponseMessage *response) |
| | Send Remote-Procedure response message and deletes call message.
|
| void | sendRpcResponse (BaseCallMessage *call, BaseResponseMessage *response) |
| | Send Remote-Procedure response message to UDP and deletes call message.
|
| int | pingNode (const TransportAddress &dest, simtime_t timeout=-1, int retries=0, cPolymorphic *context=NULL, const char *caption="PING", RpcListener *rpcListener=NULL, int rpcId=-1, TransportType transportType=INVALID_TRANSPORT) |
| | ping a node by its TransportAddress
|
| virtual void | pingResponse (PingResponse *pingResponse, cPolymorphic *context, int rpcId, simtime_t rtt) |
| virtual void | pingTimeout (PingCall *pingCall, const TransportAddress &dest, cPolymorphic *context, int rpcId) |
| bool | internalHandleMessage (cMessage *msg) |
| virtual void | handleRpcResponse (BaseResponseMessage *msg, const RpcState &rpcState, simtime_t rtt) |
| | This method is called if an RPC response has been received.
|
| virtual void | handleRpcTimeout (const RpcState &rpcState) |
| | This method is called if an RPC timeout has been reached.
|
| void | handleTCPMessage (cMessage *msg) |
| | Member function to handle incoming TCP messages.
|
| void | bindAndListenTcp (int port) |
| | Member function to bind service to the specified port and listen afterwards.
|
| bool | isAlreadyConnected (TransportAddress address) |
| | Member function to check if the service is already connected.
|
| void | establishTcpConnection (TransportAddress address) |
| | Member function to establish a connection to the specified node.
|
| void | sendTcpData (cPacket *msg, TransportAddress address) |
| | Member function to send TCP data to the specified node.
|
| virtual void | handleConnectionEvent (EvCode code, TransportAddress address) |
| | Member function to handle passive connection events.
|
| virtual void | handleDataReceived (TransportAddress address, cPacket *msg, bool urgent) |
| | Member function to handle incoming data.
|
| virtual void | handleIncomingConnection (TransportAddress address) |
| | Member function to handle newly opened connections.
|
| void | closeTcpConnection (TransportAddress address) |
| | Member function to close an established connection.
|
| void | setTcpOut (cGate *gate) |
| | Member function to set local gate towards the TCP module during init phase.
|
| cGate * | getTcpOut () |
| | Member function to get local gate towards the TCP module.
|
| void | initVis (cModule *terminal) |
Protected Attributes |
| std::list< PubSubSubspace > | subscribedSubspaces |
std::map< PubSubSubspaceId,
PubSubSubspaceResponsible > | responsibleSubspaces |
std::map< PubSubSubspaceId,
PubSubSubspaceResponsible > | backupSubspaces |
std::map< PubSubSubspaceId,
PubSubSubspaceIntermediate > | intermediateSubspaces |
| int | subspaceSize |
| int | AOIWidth |
| int | numSubspaces |
| int | parentTimeout |
| int | maxChildren |
| bool | allowOldMoveMessages |
| unsigned int | currentRegionX |
| unsigned int | currentRegionY |
| int | movementRate |
| int | maxMoveDelay |
| PubSubTimer * | heartbeatTimer |
| PubSubTimer * | childPingTimer |
| PubSubTimer * | eventDeliveryTimer |
| cMessage * | joinTimer |
| TransportAddress | lobbyServer |
| int | numEventsWrongTimeslot |
| int | numEventsCorrectTimeslot |
| int | numPubSubSignalingMessages |
| int | pubSubSignalingMessagesSize |
| int | numMoveMessages |
| int | moveMessagesSize |
| int | numMoveListMessages |
| int | moveListMessagesSize |
| int | respMoveListMessagesSize |
| int | lostMovementLists |
| int | receivedMovementLists |
| 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
|
| NodeHandle | thisNode |
| | NodeHandle to this node.
|
| BaseOverlay * | overlay |
| bool | debugOutput |
| | debug output ?
|
| GlobalStatistics * | globalStatistics |
| | pointer to GlobalStatistics module in this node
|
| CompType | thisCompType |
| NeighborCache * | neighborCache |
| | pointer to the neighbor cache
|
| CryptoModule * | cryptoModule |
| | pointer to CryptoModule
|
| int | numPingSent |
| int | bytesPingSent |
| int | numPingResponseSent |
| int | bytesPingResponseSent |
| cModule * | thisTerminal |
| GlobalNodeList * | globalNodeList |
| | pointer to corresponding node
|