ariba::overlay::OverlayMsg Class Reference

#include <source/ariba/overlay/messages/OverlayMsg.h>

Inherits ariba::utility::Message.

Collaboration diagram for ariba::overlay::OverlayMsg:

Collaboration graph
[legend]

List of all members.

Public Types

enum  type_ {
  typeInvalid = 0x00, maskTransfer = 0x10, typeData = 0x11, maskJoin = 0x20,
  typeJoinRequest = 0x21, typeJoinReply = 0x22, maskLink = 0x30, typeLinkRequest = 0x31,
  typeLinkReply = 0x32, typeLinkUpdate = 0x33, typeLinkDirect = 0x34, typeLinkAlive = 0x35,
  typeSignalingStart = 0x80, typeSignalingEnd = 0xFF
}
 message types, is: uint8_t More...

Public Member Functions

 OverlayMsg (uint8_t type=typeInvalid, const ServiceID &_service=ServiceID::UNSPECIFIED, const NodeID &_sourceNode=NodeID::UNSPECIFIED, const NodeID &_destinationNode=NodeID::UNSPECIFIED, const LinkID &_sourceLink=LinkID::UNSPECIFIED, const LinkID &_destinationLink=LinkID::UNSPECIFIED)
 default constructor
 OverlayMsg (const OverlayMsg &rhs)
 ~OverlayMsg ()
 destructor
type_ getType () const
 type -------------------------------------------------------------------
void setType (type_ type)
bool hasTypeMask (type_ mask) const
bool isRelayed () const
 flags ------------------------------------------------------------------
void setRelayed (bool relayed=true)
bool isRegisterRelay () const
void setRegisterRelay (bool relayed=true)
bool isRouteRecord () const
void setRouteRecord (bool route_record=true)
bool isAutoLink () const
void setAutoLink (bool auto_link=true)
bool isLinkMessage () const
void setLinkMessage (bool link_info=true)
bool containsSourceEndpoint () const
void setContainsSourceEndpoint (bool contains_endpoint)
uint8_t getNumHops () const
 number of hops and time to live ----------------------------------------
void setNumHops (uint8_t hops)
uint8_t increaseNumHops ()
uint8_t getTimeToLive () const
void setTimeToLive (uint8_t ttl)
const ServiceIDgetService () const
 addresses and links ----------------------------------------------------
void setService (const ServiceID &service)
const NodeIDgetSourceNode () const
void setSourceNode (const NodeID &node)
const NodeIDgetDestinationNode () const
void setDestinationNode (const NodeID &node)
const LinkIDgetSourceLink () const
void setSourceLink (const LinkID &link)
const LinkIDgetDestinationLink () const
void setDestinationLink (const LinkID &link)
void setSourceEndpoint (const EndpointDescriptor &endpoint)
const EndpointDescriptorgetSourceEndpoint () const
void swapRoles ()
 swaps source and destination
const vector< NodeIDgetRouteRecord () const
void addRouteRecord (const NodeID &node)

Private Attributes

 VSERIALIZEABLE
uint8_t type
uint8_t flags
uint8_t hops
uint8_t ttl
ServiceID service
NodeID sourceNode
NodeID destinationNode
LinkID sourceLink
LinkID destinationLink
EndpointDescriptor sourceEndpoint
vector< NodeIDrouteRecord


Detailed Description

A general purpose overlay message that is used to exchange messages between nodes.

Author:
Sebastian Mies <mies@tm.uka.de>

Definition at line 68 of file OverlayMsg.h.


Member Enumeration Documentation

message types, is: uint8_t

Enumerator:
typeInvalid  invalid, unspecified type
maskTransfer  bit mask for transfer messages
typeData  message contains data for higher layers
maskJoin  bit mask for join messages
typeJoinRequest  join request
typeJoinReply  join reply
maskLink  bit mask for link messages
typeLinkRequest  request a new link
typeLinkReply  link request reply
typeLinkUpdate  update message for link association
typeLinkDirect  direct connection has been established
typeLinkAlive  keep-alive message
typeSignalingStart  start of the signaling types
typeSignalingEnd  end of the signaling types

Definition at line 71 of file OverlayMsg.h.


Constructor & Destructor Documentation

ariba::overlay::OverlayMsg::OverlayMsg ( uint8_t  type = typeInvalid,
const ServiceID _service = ServiceID::UNSPECIFIED,
const NodeID _sourceNode = NodeID::UNSPECIFIED,
const NodeID _destinationNode = NodeID::UNSPECIFIED,
const LinkID _sourceLink = LinkID::UNSPECIFIED,
const LinkID _destinationLink = LinkID::UNSPECIFIED 
) [inline]

default constructor

Definition at line 97 of file OverlayMsg.h.

References setLinkMessage().

ariba::overlay::OverlayMsg::OverlayMsg ( const OverlayMsg rhs  )  [inline]

Definition at line 114 of file OverlayMsg.h.

ariba::overlay::OverlayMsg::~OverlayMsg (  ) 

destructor

Definition at line 46 of file OverlayMsg.cpp.


Member Function Documentation

void ariba::overlay::OverlayMsg::addRouteRecord ( const NodeID node  )  [inline]

Definition at line 280 of file OverlayMsg.h.

References isRouteRecord(), and routeRecord.

bool ariba::overlay::OverlayMsg::containsSourceEndpoint (  )  const [inline]

Definition at line 182 of file OverlayMsg.h.

References flags.

const LinkID& ariba::overlay::OverlayMsg::getDestinationLink (  )  const [inline]

const NodeID& ariba::overlay::OverlayMsg::getDestinationNode (  )  const [inline]

uint8_t ariba::overlay::OverlayMsg::getNumHops (  )  const [inline]

number of hops and time to live ----------------------------------------

Definition at line 192 of file OverlayMsg.h.

References hops.

Referenced by ariba::overlay::BaseOverlay::refreshRelayInformation(), and ariba::overlay::BaseOverlay::route().

const vector<NodeID> ariba::overlay::OverlayMsg::getRouteRecord (  )  const [inline]

Definition at line 276 of file OverlayMsg.h.

References routeRecord.

Referenced by ariba::overlay::BaseOverlay::handleLinkAlive().

const ServiceID& ariba::overlay::OverlayMsg::getService (  )  const [inline]

addresses and links ----------------------------------------------------

Definition at line 214 of file OverlayMsg.h.

References service.

Referenced by ariba::overlay::BaseOverlay::handleData(), ariba::overlay::BaseOverlay::handleLinkReply(), ariba::overlay::BaseOverlay::handleLinkRequest(), and ariba::overlay::BaseOverlay::handleLinkUpdate().

const EndpointDescriptor& ariba::overlay::OverlayMsg::getSourceEndpoint (  )  const [inline]

Definition at line 261 of file OverlayMsg.h.

References sourceEndpoint.

Referenced by ariba::overlay::BaseOverlay::handleLinkReply().

const LinkID& ariba::overlay::OverlayMsg::getSourceLink (  )  const [inline]

const NodeID& ariba::overlay::OverlayMsg::getSourceNode (  )  const [inline]

uint8_t ariba::overlay::OverlayMsg::getTimeToLive (  )  const [inline]

Definition at line 204 of file OverlayMsg.h.

References ttl.

Referenced by ariba::overlay::BaseOverlay::route().

type_ ariba::overlay::OverlayMsg::getType (  )  const [inline]

type -------------------------------------------------------------------

Definition at line 127 of file OverlayMsg.h.

References type.

Referenced by ariba::overlay::Chord::onMessage().

bool ariba::overlay::OverlayMsg::hasTypeMask ( type_  mask  )  const [inline]

Definition at line 135 of file OverlayMsg.h.

References type.

uint8_t ariba::overlay::OverlayMsg::increaseNumHops (  )  [inline]

Definition at line 200 of file OverlayMsg.h.

References hops.

bool ariba::overlay::OverlayMsg::isAutoLink (  )  const [inline]

Definition at line 165 of file OverlayMsg.h.

References flags.

Referenced by ariba::overlay::BaseOverlay::handleLinkUpdate().

bool ariba::overlay::OverlayMsg::isLinkMessage (  )  const [inline]

Definition at line 173 of file OverlayMsg.h.

References flags.

bool ariba::overlay::OverlayMsg::isRegisterRelay (  )  const [inline]

Definition at line 149 of file OverlayMsg.h.

References flags.

Referenced by ariba::overlay::BaseOverlay::refreshRelayInformation().

bool ariba::overlay::OverlayMsg::isRelayed (  )  const [inline]

flags ------------------------------------------------------------------

Definition at line 141 of file OverlayMsg.h.

References flags.

Referenced by ariba::overlay::BaseOverlay::refreshRelayInformation(), and ariba::overlay::BaseOverlay::send().

bool ariba::overlay::OverlayMsg::isRouteRecord (  )  const [inline]

Definition at line 157 of file OverlayMsg.h.

References flags.

Referenced by addRouteRecord(), and ariba::overlay::BaseOverlay::handleLinkAlive().

void ariba::overlay::OverlayMsg::setAutoLink ( bool  auto_link = true  )  [inline]

Definition at line 169 of file OverlayMsg.h.

References flags.

void ariba::overlay::OverlayMsg::setContainsSourceEndpoint ( bool  contains_endpoint  )  [inline]

Definition at line 186 of file OverlayMsg.h.

References flags.

Referenced by setSourceEndpoint().

void ariba::overlay::OverlayMsg::setDestinationLink ( const LinkID link  )  [inline]

void ariba::overlay::OverlayMsg::setDestinationNode ( const NodeID node  )  [inline]

void ariba::overlay::OverlayMsg::setLinkMessage ( bool  link_info = true  )  [inline]

Definition at line 177 of file OverlayMsg.h.

References flags.

Referenced by OverlayMsg(), setDestinationLink(), and setSourceLink().

void ariba::overlay::OverlayMsg::setNumHops ( uint8_t  hops  )  [inline]

Definition at line 196 of file OverlayMsg.h.

void ariba::overlay::OverlayMsg::setRegisterRelay ( bool  relayed = true  )  [inline]

void ariba::overlay::OverlayMsg::setRelayed ( bool  relayed = true  )  [inline]

void ariba::overlay::OverlayMsg::setRouteRecord ( bool  route_record = true  )  [inline]

Definition at line 161 of file OverlayMsg.h.

References flags.

Referenced by ariba::overlay::BaseOverlay::stabilizeLinks().

void ariba::overlay::OverlayMsg::setService ( const ServiceID service  )  [inline]

void ariba::overlay::OverlayMsg::setSourceEndpoint ( const EndpointDescriptor endpoint  )  [inline]

void ariba::overlay::OverlayMsg::setSourceLink ( const LinkID link  )  [inline]

void ariba::overlay::OverlayMsg::setSourceNode ( const NodeID node  )  [inline]

void ariba::overlay::OverlayMsg::setTimeToLive ( uint8_t  ttl  )  [inline]

Definition at line 208 of file OverlayMsg.h.

void ariba::overlay::OverlayMsg::setType ( type_  type  )  [inline]

Definition at line 131 of file OverlayMsg.h.

Referenced by ariba::overlay::BaseOverlay::handleLinkRequest().

void ariba::overlay::OverlayMsg::swapRoles (  )  [inline]


Member Data Documentation

Definition at line 291 of file OverlayMsg.h.

Referenced by getDestinationLink(), setDestinationLink(), and swapRoles().

Definition at line 289 of file OverlayMsg.h.

Referenced by getDestinationNode(), setDestinationNode(), and swapRoles().

Definition at line 286 of file OverlayMsg.h.

Referenced by getNumHops(), increaseNumHops(), and swapRoles().

Definition at line 293 of file OverlayMsg.h.

Referenced by addRouteRecord(), and getRouteRecord().

Definition at line 287 of file OverlayMsg.h.

Referenced by getService().

Definition at line 292 of file OverlayMsg.h.

Referenced by getSourceEndpoint(), and setSourceEndpoint().

Definition at line 290 of file OverlayMsg.h.

Referenced by getSourceLink(), setSourceLink(), and swapRoles().

Definition at line 288 of file OverlayMsg.h.

Referenced by getSourceNode(), setSourceNode(), and swapRoles().

Definition at line 286 of file OverlayMsg.h.

Referenced by getTimeToLive().

Definition at line 286 of file OverlayMsg.h.

Referenced by getType(), and hasTypeMask().

Definition at line 68 of file OverlayMsg.h.


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

Generated on Fri Aug 14 23:39:23 2009 for Ariba by  doxygen 1.5.8