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,
  maskDHT = 0x40, typeDHTPut = 0x41, typeDHTGet = 0x42, typeDHTRemove = 0x43,
  maskDHTResponse = 0x50, typeDHTData = 0x51, 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)
bool isDHTMessage () const
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

maskDHT 

bit mask for dht messages

typeDHTPut 

DHT put operation.

typeDHTGet 

DHT get operation.

typeDHTRemove 

DHT remove operation.

maskDHTResponse 

DHT response messages.

bit mask for dht responses

typeDHTData 

DHT get data.

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 107 of file OverlayMsg.h.

References setLinkMessage().

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

Definition at line 124 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 294 of file OverlayMsg.h.

References isRouteRecord(), and routeRecord.

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

Definition at line 191 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 205 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 290 of file OverlayMsg.h.

References routeRecord.

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

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

Definition at line 275 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 218 of file OverlayMsg.h.

References ttl.

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

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

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

Definition at line 137 of file OverlayMsg.h.

References type.

Referenced by ariba::overlay::BaseOverlay::handleDHTMessage(), and ariba::overlay::Chord::onMessage().

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

Definition at line 145 of file OverlayMsg.h.

References type.

Referenced by isDHTMessage().

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

Definition at line 213 of file OverlayMsg.h.

References hops.

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

Definition at line 175 of file OverlayMsg.h.

References flags.

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

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

Definition at line 199 of file OverlayMsg.h.

References hasTypeMask(), and maskDHT.

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

Definition at line 183 of file OverlayMsg.h.

References flags.

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

Definition at line 159 of file OverlayMsg.h.

References flags.

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

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

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

Definition at line 151 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 167 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 179 of file OverlayMsg.h.

References flags.

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

Definition at line 195 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 187 of file OverlayMsg.h.

References flags.

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

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

Definition at line 209 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 171 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 222 of file OverlayMsg.h.

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

Member Data Documentation

Definition at line 305 of file OverlayMsg.h.

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

Definition at line 303 of file OverlayMsg.h.

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

Definition at line 300 of file OverlayMsg.h.

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

Definition at line 307 of file OverlayMsg.h.

Referenced by addRouteRecord(), and getRouteRecord().

Definition at line 301 of file OverlayMsg.h.

Referenced by getService().

Definition at line 306 of file OverlayMsg.h.

Referenced by getSourceEndpoint(), and setSourceEndpoint().

Definition at line 304 of file OverlayMsg.h.

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

Definition at line 302 of file OverlayMsg.h.

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

Definition at line 300 of file OverlayMsg.h.

Referenced by getTimeToLive().

Definition at line 300 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 Dec 10 11:09:25 2010 for Ariba by  doxygen 1.6.1