ariba::overlay::BaseOverlay Class Reference

#include <source/ariba/overlay/BaseOverlay.h>

Inherits ariba::utility::MessageReceiver, ariba::communication::CommunicationEvents, ariba::overlay::OverlayStructureEvents, and ariba::utility::Timer.

Collaboration diagram for ariba::overlay::BaseOverlay:
Collaboration graph
[legend]

List of all members.

Classes

class  relay_route
 relay route definitions More...

Public Member Functions

 BaseOverlay ()
virtual ~BaseOverlay ()
void start (BaseCommunication &_basecomm, const NodeID &_nodeid)
void stop ()
bool isStarted ()
const LinkID establishLink (const EndpointDescriptor &ep, const NodeID &node, const ServiceID &service)
 Tries to establish a direct or overlay link.
const LinkID establishLink (const NodeID &remote, const ServiceID &service=OverlayInterface::OVERLAY_SERVICE_ID)
 establishes a link between two arbitrary nodes
const LinkID establishDirectLink (const EndpointDescriptor &endpoint, const ServiceID &service=OverlayInterface::OVERLAY_SERVICE_ID)
 call base communication's establish link and add link mapping
void dropLink (const LinkID &link)
 drops a link
seqnum_t sendMessage (const Message *message, const LinkID &link)
 sends a message over an existing link
seqnum_t sendMessage (const Message *message, const NodeID &remote, const ServiceID &service=OverlayInterface::OVERLAY_SERVICE_ID)
 sends a message to a node and a specific service
void broadcastMessage (Message *message, const ServiceID &service)
const EndpointDescriptorgetEndpointDescriptor (const LinkID &link=LinkID::UNSPECIFIED) const
vector< NodeIDgetOverlayNeighbors (bool deep=true) const
 return the overlay neighbors
const EndpointDescriptorgetEndpointDescriptor (const NodeID &node) const
bool bind (CommunicationListener *listener, const ServiceID &sid)
bool unbind (CommunicationListener *listener, const ServiceID &sid)
bool bind (NodeListener *listener)
bool unbind (NodeListener *listener)
bool registerSidePort (SideportListener *_sideport)
bool unregisterSidePort (SideportListener *_sideport)
const NodeIDgetNodeID (const LinkID &lid=LinkID::UNSPECIFIED) const
vector< LinkIDgetLinkIDs (const NodeID &nid=NodeID::UNSPECIFIED) const
void joinSpoVNet (const SpoVNetID &id, const EndpointDescriptor &boot=EndpointDescriptor::UNSPECIFIED())
void createSpoVNet (const SpoVNetID &id, const OverlayParameterSet &param=OverlayParameterSet::DEFAULT, const SecurityParameterSet &sec=SecurityParameterSet::DEFAULT, const QoSParameterSet &qos=QoSParameterSet::DEFAULT)
void startBootstrapModules (vector< pair< BootstrapManager::BootstrapType, string > > modules)
void stopBootstrapModules ()
void leaveSpoVNet ()
void dhtPut (const Data &key, const Data &value, int ttl=0, bool replace=false, bool no_local_refresh=false)
 put a value to the DHT with a ttl given in seconds
void dhtRemove (const Data &key, const Data &value)
 removes a key value pair from the DHT
void dhtRemove (const Data &key)
 removes all data stored at the given key
void dhtGet (const Data &key, const ServiceID &service)
 requests data stored using key

Protected Member Functions

virtual void onLinkUp (const LinkID &id, const address_v *local, const address_v *remote)
virtual void onLinkDown (const LinkID &id, const address_v *local, const address_v *remote)
virtual void onLinkChanged (const LinkID &id, const address_v *oldlocal, const address_v *newlocal, const address_v *oldremote, const address_v *newremote)
virtual void onLinkFail (const LinkID &id, const address_v *local, const address_v *remote)
virtual void onLinkQoSChanged (const LinkID &id, const address_v *local, const address_v *remote, const QoSParameterSet &qos)
virtual bool onLinkRequest (const LinkID &id, const address_v *local, const address_v *remote)
virtual bool receiveMessage (const Message *message, const LinkID &link, const NodeID &)
 handles a message from base communication
virtual void onNodeJoin (const NodeID &node)
virtual void eventFunction ()
std::string getLinkHTMLInfo ()

Private Types

enum  _BaseOverlayState { BaseOverlayStateInvalid = 0, BaseOverlayStateCompleted = 1 }
 

The state of the BaseOverlay.

More...
typedef enum
ariba::overlay::BaseOverlay::_BaseOverlayState 
BaseOverlayState
 The state of the BaseOverlay.
typedef vector< NodeListener * > NodeListenerVector
 the node listeners
typedef vector< NodeIDJoiningNodes

Private Member Functions

 use_logging_h (BaseOverlay)
CommunicationListenergetListener (const ServiceID &id)
bool handleMessage (const Message *message, LinkDescriptor *ld, const LinkID bcLink=LinkID::UNSPECIFIED)
 demultiplexes a incoming message with link descriptor
bool handleData (OverlayMsg *msg, LinkDescriptor *ld)
bool handleSignaling (OverlayMsg *msg, LinkDescriptor *ld)
bool handleJoinRequest (OverlayMsg *msg, const LinkID &bcLink)
 Handle spovnet instance join requests.
bool handleJoinReply (OverlayMsg *msg, const LinkID &bcLink)
 Handle replies to spovnet instance join requests.
bool handleDHTMessage (OverlayMsg *msg)
bool handleLinkRequest (OverlayMsg *msg, LinkDescriptor *ld)
 handle a link request and reply
bool handleLinkReply (OverlayMsg *msg, LinkDescriptor *ld)
bool handleLinkUpdate (OverlayMsg *msg, LinkDescriptor *ld)
bool handleLinkDirect (OverlayMsg *msg, LinkDescriptor *ld)
 handle a direct link message
bool handleLinkAlive (OverlayMsg *msg, LinkDescriptor *ld)
 handle a keep-alive message for a link
void eraseDescriptor (const LinkID &link, bool communication=false)
 erases a link descriptor
LinkDescriptorgetDescriptor (const LinkID &link, bool communication=false)
 returns a link descriptor for the given id
const LinkDescriptorgetDescriptor (const LinkID &link, bool communication=false) const
 returns a link descriptor for the given id
LinkDescriptorgetAutoDescriptor (const NodeID &node, const ServiceID &service)
 returns a auto-link descriptor for the given node and service id
LinkDescriptoraddDescriptor (const LinkID &link=LinkID::UNSPECIFIED)
 adds a new link descriptor or uses an existing one
void stabilizeLinks ()
 stabilizes link information
void showLinks ()
 print the currently known links
int compare (const LinkID &lhs, const LinkID &rhs)
 compares two arbitrary links to the same node
void stabilizeRelays ()
 stabilize relay information
void refreshRelayInformation (const OverlayMsg *message, LinkDescriptor *ld)
 refreshes relay information
LinkDescriptorgetRelayLinkTo (const NodeID &remote)
 returns a known relay link
void removeRelayLink (const LinkID &link)
 removes relay link information
void removeRelayNode (const NodeID &link)
 removes relay node information
void route (OverlayMsg *message)
 routes a message to its destination node
seqnum_t send (OverlayMsg *message, const NodeID &destination)
 sends a raw message to another node, delivers it to the base overlay class
seqnum_t send (OverlayMsg *message, LinkDescriptor *ld, bool ignore_down=false)
 send a raw message using a link descriptor, delivers it to the base overlay class
seqnum_t send_node (OverlayMsg *message, const NodeID &remote, const ServiceID &service=OverlayInterface::OVERLAY_SERVICE_ID)
seqnum_t send_link (OverlayMsg *message, const LinkID &link, bool ignore_down=false)
void initDHT ()
void destroyDHT ()
void stabilizeDHT ()
 stabilize DHT state
void dhtSend (OverlayMsg *msg, const NodeID &dest)
std::string debugInformation ()
void updateVisual ()

Private Attributes

bool started
 is the base overlay started yet
BaseOverlayState state
 Current Base-Overlay state.
BaseCommunicationbc
 reference to the base communication
NodeID nodeId
 the node id of this node
SpoVNetID spovnetId
 the spovnet id of the currently joined overlay
vector< LinkIDbootstrapLinks
 the link id of the link to the initiator node
NodeID spovnetInitiator
 The initiator node.
Demultiplexer
< CommunicationListener
*, ServiceID
communicationListeners
 the service id communication listeners
NodeListenerVector nodeListeners
SideportListenersideport
 the sideport listener
OverlayInterfaceoverlayInterface
 the used overlay structure
OverlayBootstrap overlayBootstrap
 Bootstrapper for our spovnet.
int counter
 link state information counter
vector< LinkDescriptor * > links
 The link mapping of the node.
vector< relay_routerelay_routes
DHTdht
DHTlocalDHT
int republishCounter
JoiningNodes joiningNodes

Friends

class OneHop
class Chord
class ariba::SideportListener

Detailed Description

Definition at line 119 of file BaseOverlay.h.


Member Typedef Documentation

The state of the BaseOverlay.

nodes with pending joines. TODO: should be cleaned every some seconds, add timestamps to each, and check on occasion

Definition at line 527 of file BaseOverlay.h.

the node listeners

Definition at line 388 of file BaseOverlay.h.


Member Enumeration Documentation

The state of the BaseOverlay.

Enumerator:
BaseOverlayStateInvalid 
BaseOverlayStateCompleted 

Definition at line 371 of file BaseOverlay.h.


Constructor & Destructor Documentation

ariba::overlay::BaseOverlay::BaseOverlay (  ) 

Constructs an empty non-functional base overlay instance

Definition at line 758 of file BaseOverlay.cpp.

References initDHT().

ariba::overlay::BaseOverlay::~BaseOverlay (  )  [virtual]

Destructs a base overlay instance

Definition at line 767 of file BaseOverlay.cpp.

References destroyDHT().


Member Function Documentation

LinkDescriptor * ariba::overlay::BaseOverlay::addDescriptor ( const LinkID link = LinkID::UNSPECIFIED  )  [private]

adds a new link descriptor or uses an existing one

adds a link descriptor

Definition at line 307 of file BaseOverlay.cpp.

References getDescriptor(), ariba::utility::Identifier::isUnspecified(), links, and ariba::overlay::LinkDescriptor::overlayId.

Referenced by establishDirectLink(), establishLink(), handleLinkRequest(), and onLinkUp().

bool ariba::overlay::BaseOverlay::bind ( NodeListener listener  ) 

Definition at line 1224 of file BaseOverlay.cpp.

References logging_debug, logging_warn, and nodeListeners.

bool ariba::overlay::BaseOverlay::bind ( CommunicationListener listener,
const ServiceID sid 
)
void ariba::overlay::BaseOverlay::broadcastMessage ( Message message,
const ServiceID service 
)

Send out a message to all nodes that are known in the overlay structure. Depending on the structure of the overlay, this can be very different.

Definition at line 1910 of file BaseOverlay.cpp.

References ariba::overlay::OverlayInterface::getKnownNodes(), logging_debug, nodeId, overlayInterface, sendMessage(), and ariba::utility::ServiceID::toString().

Referenced by ariba::Node::sendBroadcastMessage().

int ariba::overlay::BaseOverlay::compare ( const LinkID lhs,
const LinkID rhs 
) [private]
void ariba::overlay::BaseOverlay::createSpoVNet ( const SpoVNetID id,
const OverlayParameterSet param = OverlayParameterSet::DEFAULT,
const SecurityParameterSet sec = SecurityParameterSet::DEFAULT,
const QoSParameterSet qos = QoSParameterSet::DEFAULT 
)

Initiates a new spontaneous virtual network. This makes this BaseOverlay to the SpoVNet-Initiator.

Parameters:
id The spovnet identifier

Definition at line 912 of file BaseOverlay.cpp.

References BaseOverlayStateInvalid, ariba::overlay::OverlayFactory::create(), logging_fatal, logging_info, nodeId, nodeListeners, ariba::NodeListener::onJoinFailed(), overlayInterface, spovnetId, state, ariba::utility::Identifier::toString(), visual, visualIdBase, and visualIdOverlay.

Referenced by ariba::Node::initiate().

std::string ariba::overlay::BaseOverlay::debugInformation (  )  [private]
void ariba::overlay::BaseOverlay::destroyDHT (  )  [private]

Definition at line 2119 of file BaseOverlay.cpp.

References dht, and localDHT.

Referenced by ~BaseOverlay().

void ariba::overlay::BaseOverlay::dhtGet ( const Data key,
const ServiceID service 
)
void ariba::overlay::BaseOverlay::dhtPut ( const Data key,
const Data value,
int  ttl = 0,
bool  replace = false,
bool  no_local_refresh = false 
)
void ariba::overlay::BaseOverlay::dhtRemove ( const Data key  ) 
void ariba::overlay::BaseOverlay::dhtRemove ( const Data key,
const Data value 
)
void ariba::overlay::BaseOverlay::dhtSend ( OverlayMsg msg,
const NodeID dest 
) [private]
void ariba::overlay::BaseOverlay::dropLink ( const LinkID link  ) 
void ariba::overlay::BaseOverlay::eraseDescriptor ( const LinkID link,
bool  communication = false 
) [private]

erases a link descriptor

Definition at line 295 of file BaseOverlay.cpp.

References ariba::overlay::LinkDescriptor::communicationId, links, and ariba::overlay::LinkDescriptor::overlayId.

Referenced by dropLink(), handleLinkDirect(), and onLinkDown().

const LinkID ariba::overlay::BaseOverlay::establishDirectLink ( const EndpointDescriptor endpoint,
const ServiceID service = OverlayInterface::OVERLAY_SERVICE_ID 
)
const LinkID ariba::overlay::BaseOverlay::establishLink ( const NodeID remote,
const ServiceID service = OverlayInterface::OVERLAY_SERVICE_ID 
)
const LinkID ariba::overlay::BaseOverlay::establishLink ( const EndpointDescriptor ep,
const NodeID node,
const ServiceID service 
)

Tries to establish a direct or overlay link.

Definition at line 941 of file BaseOverlay.cpp.

References establishDirectLink(), and ariba::utility::Identifier::isUnspecified().

Referenced by ariba::Node::establishLink(), sendMessage(), and ariba::overlay::Chord::setup().

void ariba::overlay::BaseOverlay::eventFunction (  )  [protected, virtual]

Timer Event method

Reimplemented from ariba::utility::Timer.

Definition at line 1964 of file BaseOverlay.cpp.

References stabilizeDHT(), stabilizeLinks(), stabilizeRelays(), and updateVisual().

LinkDescriptor * ariba::overlay::BaseOverlay::getAutoDescriptor ( const NodeID node,
const ServiceID service 
) [private]

returns a auto-link descriptor for the given node and service id

returns a auto-link descriptor

Definition at line 318 of file BaseOverlay.cpp.

References ariba::overlay::LinkDescriptor::autolink, ariba::overlay::LinkDescriptor::keepAliveMissed, links, ariba::overlay::LinkDescriptor::remoteNode, ariba::overlay::LinkDescriptor::service, and ariba::overlay::LinkDescriptor::up.

Referenced by sendMessage().

const LinkDescriptor * ariba::overlay::BaseOverlay::getDescriptor ( const LinkID link,
bool  communication = false 
) const [private]

returns a link descriptor for the given id

Definition at line 287 of file BaseOverlay.cpp.

References ariba::overlay::LinkDescriptor::communicationId, links, and ariba::overlay::LinkDescriptor::overlayId.

LinkDescriptor * ariba::overlay::BaseOverlay::getDescriptor ( const LinkID link,
bool  communication = false 
) [private]
const EndpointDescriptor & ariba::overlay::BaseOverlay::getEndpointDescriptor ( const NodeID node  )  const

Returns a end-endpoint descriptor of a overlay neighbor. If the node is not known -- an unspecified endpoint descriptor is returned.

Parameters:
node The node identifer of a overlay neighbor.
Returns:
The end-point descriptor of the node or unspecified.

Definition at line 1137 of file BaseOverlay.cpp.

References bc, ariba::overlay::LinkDescriptor::communicationId, ariba::overlay::LinkDescriptor::communicationUp, debugInformation(), ariba::communication::BaseCommunication::getEndpointDescriptor(), ariba::utility::Identifier::isUnspecified(), links, logging_error, logging_warn, nodeId, overlayInterface, ariba::overlay::LinkDescriptor::remoteNode, and ariba::communication::EndpointDescriptor::UNSPECIFIED().

const EndpointDescriptor & ariba::overlay::BaseOverlay::getEndpointDescriptor ( const LinkID link = LinkID::UNSPECIFIED  )  const
std::string ariba::overlay::BaseOverlay::getLinkHTMLInfo (  )  [protected]
vector< LinkID > ariba::overlay::BaseOverlay::getLinkIDs ( const NodeID nid = NodeID::UNSPECIFIED  )  const

Return all Links for the specified remote nodeid, or all links when the node id given is set to unspecified

Parameters:
nid The node id to request links for, or unspecified for all links
Returns:
a vector that contains all the link ids requested

Definition at line 1943 of file BaseOverlay.cpp.

References links, ariba::overlay::LinkDescriptor::overlayId, ariba::overlay::LinkDescriptor::remoteNode, and ariba::utility::NodeID::UNSPECIFIED.

Referenced by ariba::SideportListener::getLinkIDs().

CommunicationListener * ariba::overlay::BaseOverlay::getListener ( const ServiceID id  )  [private]
const NodeID & ariba::overlay::BaseOverlay::getNodeID ( const LinkID lid = LinkID::UNSPECIFIED  )  const

Returns the own nodeID or the NodeID of the specified link

Parameters:
lid The link identifier
Returns:
The NodeID of the link

Definition at line 1936 of file BaseOverlay.cpp.

References getDescriptor(), nodeId, ariba::overlay::LinkDescriptor::remoteNode, ariba::utility::NodeID::UNSPECIFIED, and ariba::utility::LinkID::UNSPECIFIED.

Referenced by ariba::SideportListener::getNodeID(), and ariba::Node::getNodeId().

vector< NodeID > ariba::overlay::BaseOverlay::getOverlayNeighbors ( bool  deep = true  )  const
LinkDescriptor * ariba::overlay::BaseOverlay::getRelayLinkTo ( const NodeID remote  )  [private]

returns a known relay link

returns a known "vital" relay link which is up and running

Definition at line 736 of file BaseOverlay.cpp.

References getDescriptor(), ariba::overlay::LinkDescriptor::isDirectVital(), ariba::overlay::BaseOverlay::relay_route::link, ariba::overlay::BaseOverlay::relay_route::node, relay_routes, route(), and ariba::overlay::BaseOverlay::relay_route::used.

Referenced by send().

bool ariba::overlay::BaseOverlay::handleData ( OverlayMsg msg,
LinkDescriptor ld 
) [private]
bool ariba::overlay::BaseOverlay::handleDHTMessage ( OverlayMsg msg  )  [private]
bool ariba::overlay::BaseOverlay::handleJoinReply ( OverlayMsg msg,
const LinkID bcLink 
) [private]
bool ariba::overlay::BaseOverlay::handleJoinRequest ( OverlayMsg msg,
const LinkID bcLink 
) [private]
bool ariba::overlay::BaseOverlay::handleLinkAlive ( OverlayMsg msg,
LinkDescriptor ld 
) [private]
bool ariba::overlay::BaseOverlay::handleLinkDirect ( OverlayMsg msg,
LinkDescriptor ld 
) [private]
bool ariba::overlay::BaseOverlay::handleLinkReply ( OverlayMsg msg,
LinkDescriptor ld 
) [private]
bool ariba::overlay::BaseOverlay::handleLinkRequest ( OverlayMsg msg,
LinkDescriptor ld 
) [private]
bool ariba::overlay::BaseOverlay::handleLinkUpdate ( OverlayMsg msg,
LinkDescriptor ld 
) [private]
bool ariba::overlay::BaseOverlay::handleMessage ( const Message message,
LinkDescriptor ld,
const LinkID  bcLink = LinkID::UNSPECIFIED 
) [private]
bool ariba::overlay::BaseOverlay::handleSignaling ( OverlayMsg msg,
LinkDescriptor ld 
) [private]
void ariba::overlay::BaseOverlay::initDHT (  )  [private]

Definition at line 2113 of file BaseOverlay.cpp.

References dht, localDHT, and republishCounter.

Referenced by BaseOverlay().

bool ariba::overlay::BaseOverlay::isStarted (  ) 

Is the BaseOverlay instance started up yet

Definition at line 812 of file BaseOverlay.cpp.

References started.

Referenced by ariba::Node::initiate(), and ariba::Node::join().

void ariba::overlay::BaseOverlay::joinSpoVNet ( const SpoVNetID id,
const EndpointDescriptor boot = EndpointDescriptor::UNSPECIFIED() 
)
void ariba::overlay::BaseOverlay::leaveSpoVNet (  ) 
void ariba::overlay::BaseOverlay::onLinkChanged ( const LinkID id,
const address_v oldlocal,
const address_v newlocal,
const address_v oldremote,
const address_v newremote 
) [protected, virtual]
void ariba::overlay::BaseOverlay::onLinkDown ( const LinkID id,
const address_v local,
const address_v remote 
) [protected, virtual]
void ariba::overlay::BaseOverlay::onLinkFail ( const LinkID id,
const address_v local,
const address_v remote 
) [protected, virtual]
void ariba::overlay::BaseOverlay::onLinkQoSChanged ( const LinkID id,
const address_v local,
const address_v remote,
const QoSParameterSet qos 
) [protected, virtual]
See also:
ariba::communication::CommunicationEvents.h

Reimplemented from ariba::communication::CommunicationEvents.

Definition at line 1399 of file BaseOverlay.cpp.

References getDescriptor(), logging_debug, ariba::overlay::LinkDescriptor::overlayId, and ariba::utility::Identifier::toString().

bool ariba::overlay::BaseOverlay::onLinkRequest ( const LinkID id,
const address_v local,
const address_v remote 
) [protected, virtual]
See also:
ariba::communication::CommunicationEvents.h

Reimplemented from ariba::communication::CommunicationEvents.

Definition at line 1409 of file BaseOverlay.cpp.

References logging_debug, and ariba::addressing::address_v::to_string().

void ariba::overlay::BaseOverlay::onLinkUp ( const LinkID id,
const address_v local,
const address_v remote 
) [protected, virtual]
void ariba::overlay::BaseOverlay::onNodeJoin ( const NodeID node  )  [protected, virtual]

This method is called, when a new node joined the network

See also:
OverlayStructureEvents.h

Reimplemented from ariba::overlay::OverlayStructureEvents.

Definition at line 1954 of file BaseOverlay.cpp.

References joiningNodes, logging_info, and ariba::utility::Identifier::toString().

bool ariba::overlay::BaseOverlay::receiveMessage ( const Message message,
const LinkID link,
const NodeID  
) [protected, virtual]

handles a message from base communication

Processes a received message from BaseCommunication

In case of a message routed by the overlay the source identifies the node the message came from!

Definition at line 1416 of file BaseOverlay.cpp.

References getDescriptor(), and handleMessage().

void ariba::overlay::BaseOverlay::refreshRelayInformation ( const OverlayMsg message,
LinkDescriptor ld 
) [private]
bool ariba::overlay::BaseOverlay::registerSidePort ( SideportListener _sideport  ) 

Definition at line 1176 of file BaseOverlay.cpp.

References ariba::SideportListener::configure(), and sideport.

Referenced by ariba::Node::bind().

void ariba::overlay::BaseOverlay::removeRelayLink ( const LinkID link  )  [private]

removes relay link information

Definition at line 657 of file BaseOverlay.cpp.

References ariba::overlay::BaseOverlay::relay_route::link, relay_routes, and route().

Referenced by onLinkDown().

void ariba::overlay::BaseOverlay::removeRelayNode ( const NodeID link  )  [private]

removes relay node information

Definition at line 665 of file BaseOverlay.cpp.

References ariba::overlay::BaseOverlay::relay_route::node, relay_routes, and route().

Referenced by route().

void ariba::overlay::BaseOverlay::route ( OverlayMsg message  )  [private]
seqnum_t ariba::overlay::BaseOverlay::send ( OverlayMsg message,
LinkDescriptor ld,
bool  ignore_down = false 
) [private]
seqnum_t ariba::overlay::BaseOverlay::send ( OverlayMsg message,
const NodeID destination 
) [private]
seqnum_t ariba::overlay::BaseOverlay::send_link ( OverlayMsg message,
const LinkID link,
bool  ignore_down = false 
) [private]
seqnum_t ariba::overlay::BaseOverlay::send_node ( OverlayMsg message,
const NodeID remote,
const ServiceID service = OverlayInterface::OVERLAY_SERVICE_ID 
) [private]

send a message using a node id using overlay routing sets necessary fields in the overlay message!

Definition at line 611 of file BaseOverlay.cpp.

References nodeId, send(), ariba::overlay::OverlayMsg::setDestinationNode(), ariba::overlay::OverlayMsg::setService(), and ariba::overlay::OverlayMsg::setSourceNode().

Referenced by establishLink(), and ariba::overlay::Chord::send_discovery_to().

seqnum_t ariba::overlay::BaseOverlay::sendMessage ( const Message message,
const NodeID remote,
const ServiceID service = OverlayInterface::OVERLAY_SERVICE_ID 
)
seqnum_t ariba::overlay::BaseOverlay::sendMessage ( const Message message,
const LinkID link 
)
void ariba::overlay::BaseOverlay::showLinks (  )  [private]
void ariba::overlay::BaseOverlay::stabilizeDHT (  )  [private]
void ariba::overlay::BaseOverlay::stabilizeLinks (  )  [private]
void ariba::overlay::BaseOverlay::stabilizeRelays (  )  [private]
void ariba::overlay::BaseOverlay::start ( BaseCommunication _basecomm,
const NodeID _nodeid 
)
void ariba::overlay::BaseOverlay::startBootstrapModules ( vector< pair< BootstrapManager::BootstrapType, string > >  modules  ) 
void ariba::overlay::BaseOverlay::stop (  ) 
void ariba::overlay::BaseOverlay::stopBootstrapModules (  ) 
bool ariba::overlay::BaseOverlay::unbind ( NodeListener listener  ) 

Definition at line 1240 of file BaseOverlay.cpp.

References logging_debug, logging_warn, and nodeListeners.

bool ariba::overlay::BaseOverlay::unbind ( CommunicationListener listener,
const ServiceID sid 
)
bool ariba::overlay::BaseOverlay::unregisterSidePort ( SideportListener _sideport  ) 

Definition at line 1182 of file BaseOverlay.cpp.

References ariba::SideportListener::DEFAULT, and sideport.

void ariba::overlay::BaseOverlay::updateVisual (  )  [private]
ariba::overlay::BaseOverlay::use_logging_h ( BaseOverlay   )  [private]

Reimplemented from ariba::utility::Timer.


Friends And Related Function Documentation

friend class ariba::SideportListener [friend]

Definition at line 126 of file BaseOverlay.h.

friend class Chord [friend]

Definition at line 125 of file BaseOverlay.h.

friend class OneHop [friend]

Definition at line 124 of file BaseOverlay.h.


Member Data Documentation

the link id of the link to the initiator node

Definition at line 380 of file BaseOverlay.h.

Referenced by handleJoinReply(), joinSpoVNet(), leaveSpoVNet(), onLinkDown(), onLinkFail(), and onLinkUp().

the service id communication listeners

Definition at line 384 of file BaseOverlay.h.

Referenced by bind(), establishDirectLink(), getListener(), handleLinkUpdate(), and unbind().

link state information counter

Definition at line 428 of file BaseOverlay.h.

Referenced by stabilizeLinks().

Definition at line 510 of file BaseOverlay.h.

Referenced by destroyDHT(), handleDHTMessage(), initDHT(), and stabilizeDHT().

Definition at line 528 of file BaseOverlay.h.

Referenced by handleJoinRequest(), and onNodeJoin().

Definition at line 511 of file BaseOverlay.h.

Referenced by destroyDHT(), dhtPut(), dhtRemove(), initDHT(), and stabilizeDHT().

Definition at line 389 of file BaseOverlay.h.

Referenced by bind(), createSpoVNet(), handleJoinReply(), joinSpoVNet(), leaveSpoVNet(), and unbind().

Bootstrapper for our spovnet.

Definition at line 398 of file BaseOverlay.h.

Referenced by handleJoinReply(), startBootstrapModules(), and stopBootstrapModules().

Definition at line 512 of file BaseOverlay.h.

Referenced by initDHT(), and stabilizeDHT().

the sideport listener

Definition at line 392 of file BaseOverlay.h.

Referenced by dropLink(), handleLinkUpdate(), onLinkChanged(), onLinkDown(), onLinkFail(), registerSidePort(), and unregisterSidePort().

the spovnet id of the currently joined overlay

Definition at line 379 of file BaseOverlay.h.

Referenced by createSpoVNet(), handleJoinReply(), handleJoinRequest(), joinSpoVNet(), leaveSpoVNet(), onLinkUp(), and startBootstrapModules().

The initiator node.

Definition at line 381 of file BaseOverlay.h.

is the base overlay started yet

Definition at line 368 of file BaseOverlay.h.

Referenced by isStarted(), start(), and stop().

Current Base-Overlay state.

Definition at line 376 of file BaseOverlay.h.

Referenced by createSpoVNet(), handleJoinReply(), joinSpoVNet(), leaveSpoVNet(), start(), and stop().


The documentation for this class was generated from the following files:

Generated on Fri Dec 10 11:09:25 2010 for Ariba by  doxygen 1.6.1