#include <source/ariba/overlay/messages/OverlayMsg.h>
Inherits ariba::utility::Message.
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 ServiceID & | getService () const |
addresses and links ---------------------------------------------------- | |
void | setService (const ServiceID &service) |
const NodeID & | getSourceNode () const |
void | setSourceNode (const NodeID &node) |
const NodeID & | getDestinationNode () const |
void | setDestinationNode (const NodeID &node) |
const LinkID & | getSourceLink () const |
void | setSourceLink (const LinkID &link) |
const LinkID & | getDestinationLink () const |
void | setDestinationLink (const LinkID &link) |
void | setSourceEndpoint (const EndpointDescriptor &endpoint) |
const EndpointDescriptor & | getSourceEndpoint () const |
void | swapRoles () |
swaps source and destination | |
const vector< NodeID > | getRouteRecord () 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< NodeID > | routeRecord |
Definition at line 68 of file OverlayMsg.h.
message types, is: uint8_t
Definition at line 71 of file OverlayMsg.h.
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] |
ariba::overlay::OverlayMsg::OverlayMsg | ( | const OverlayMsg & | rhs | ) | [inline] |
Definition at line 114 of file OverlayMsg.h.
ariba::overlay::OverlayMsg::~OverlayMsg | ( | ) |
void ariba::overlay::OverlayMsg::addRouteRecord | ( | const NodeID & | node | ) | [inline] |
bool ariba::overlay::OverlayMsg::containsSourceEndpoint | ( | ) | const [inline] |
const LinkID& ariba::overlay::OverlayMsg::getDestinationLink | ( | ) | const [inline] |
Definition at line 247 of file OverlayMsg.h.
References destinationLink.
Referenced by ariba::overlay::BaseOverlay::handleData(), ariba::overlay::BaseOverlay::handleLinkAlive(), ariba::overlay::BaseOverlay::handleLinkDirect(), and ariba::overlay::BaseOverlay::handleLinkReply().
const NodeID& ariba::overlay::OverlayMsg::getDestinationNode | ( | ) | const [inline] |
Definition at line 230 of file OverlayMsg.h.
References destinationNode.
Referenced by ariba::overlay::Chord::onMessage(), ariba::overlay::BaseOverlay::refreshRelayInformation(), and ariba::overlay::BaseOverlay::route().
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] |
Definition at line 238 of file OverlayMsg.h.
References sourceLink.
Referenced by ariba::overlay::BaseOverlay::handleLinkReply(), ariba::overlay::BaseOverlay::handleLinkRequest(), and ariba::overlay::BaseOverlay::handleLinkUpdate().
const NodeID& ariba::overlay::OverlayMsg::getSourceNode | ( | ) | const [inline] |
Definition at line 222 of file OverlayMsg.h.
References sourceNode.
Referenced by ariba::overlay::BaseOverlay::handleData(), ariba::overlay::BaseOverlay::handleJoinRequest(), ariba::overlay::BaseOverlay::handleLinkReply(), ariba::overlay::BaseOverlay::handleLinkRequest(), ariba::overlay::BaseOverlay::handleLinkUpdate(), ariba::overlay::Chord::onMessage(), and ariba::overlay::BaseOverlay::refreshRelayInformation().
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] |
uint8_t ariba::overlay::OverlayMsg::increaseNumHops | ( | ) | [inline] |
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] |
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] |
void ariba::overlay::OverlayMsg::setContainsSourceEndpoint | ( | bool | contains_endpoint | ) | [inline] |
void ariba::overlay::OverlayMsg::setDestinationLink | ( | const LinkID & | link | ) | [inline] |
Definition at line 251 of file OverlayMsg.h.
References destinationLink, and setLinkMessage().
Referenced by ariba::overlay::BaseOverlay::onLinkUp(), and ariba::overlay::BaseOverlay::send_link().
void ariba::overlay::OverlayMsg::setDestinationNode | ( | const NodeID & | node | ) | [inline] |
Definition at line 234 of file OverlayMsg.h.
References destinationNode.
Referenced by ariba::overlay::BaseOverlay::send_link(), and ariba::overlay::BaseOverlay::send_node().
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] |
Definition at line 153 of file OverlayMsg.h.
References flags.
Referenced by ariba::overlay::Chord::discover_neighbors(), and ariba::overlay::Chord::send_discovery_to().
void ariba::overlay::OverlayMsg::setRelayed | ( | bool | relayed = true |
) | [inline] |
Definition at line 145 of file OverlayMsg.h.
References flags.
Referenced by ariba::overlay::BaseOverlay::establishLink(), ariba::overlay::BaseOverlay::handleLinkRequest(), ariba::overlay::BaseOverlay::send(), and ariba::overlay::BaseOverlay::send_link().
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] |
Definition at line 218 of file OverlayMsg.h.
Referenced by ariba::overlay::BaseOverlay::handleLinkUpdate(), ariba::overlay::Chord::onMessage(), ariba::overlay::BaseOverlay::send_link(), and ariba::overlay::BaseOverlay::send_node().
void ariba::overlay::OverlayMsg::setSourceEndpoint | ( | const EndpointDescriptor & | endpoint | ) | [inline] |
Definition at line 256 of file OverlayMsg.h.
References setContainsSourceEndpoint(), and sourceEndpoint.
Referenced by ariba::overlay::Chord::discover_neighbors(), and ariba::overlay::BaseOverlay::handleLinkRequest().
void ariba::overlay::OverlayMsg::setSourceLink | ( | const LinkID & | link | ) | [inline] |
Definition at line 242 of file OverlayMsg.h.
References setLinkMessage(), and sourceLink.
Referenced by ariba::overlay::BaseOverlay::establishLink(), ariba::overlay::BaseOverlay::handleLinkRequest(), ariba::overlay::BaseOverlay::handleLinkUpdate(), ariba::overlay::BaseOverlay::onLinkUp(), and ariba::overlay::BaseOverlay::send_link().
void ariba::overlay::OverlayMsg::setSourceNode | ( | const NodeID & | node | ) | [inline] |
Definition at line 226 of file OverlayMsg.h.
References sourceNode.
Referenced by ariba::overlay::BaseOverlay::handleLinkUpdate(), ariba::overlay::BaseOverlay::send_link(), and ariba::overlay::BaseOverlay::send_node().
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] |
swaps source and destination
Definition at line 266 of file OverlayMsg.h.
References destinationLink, destinationNode, hops, sourceLink, and sourceNode.
Referenced by ariba::overlay::BaseOverlay::handleLinkRequest(), and ariba::overlay::BaseOverlay::handleLinkUpdate().
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().
uint8_t ariba::overlay::OverlayMsg::flags [private] |
Definition at line 286 of file OverlayMsg.h.
Referenced by containsSourceEndpoint(), isAutoLink(), isLinkMessage(), isRegisterRelay(), isRelayed(), isRouteRecord(), setAutoLink(), setContainsSourceEndpoint(), setLinkMessage(), setRegisterRelay(), setRelayed(), and setRouteRecord().
uint8_t ariba::overlay::OverlayMsg::hops [private] |
Definition at line 286 of file OverlayMsg.h.
Referenced by getNumHops(), increaseNumHops(), and swapRoles().
vector<NodeID> ariba::overlay::OverlayMsg::routeRecord [private] |
ServiceID ariba::overlay::OverlayMsg::service [private] |
Definition at line 292 of file OverlayMsg.h.
Referenced by getSourceEndpoint(), and setSourceEndpoint().
LinkID ariba::overlay::OverlayMsg::sourceLink [private] |
Definition at line 290 of file OverlayMsg.h.
Referenced by getSourceLink(), setSourceLink(), and swapRoles().
NodeID ariba::overlay::OverlayMsg::sourceNode [private] |
Definition at line 288 of file OverlayMsg.h.
Referenced by getSourceNode(), setSourceNode(), and swapRoles().
uint8_t ariba::overlay::OverlayMsg::ttl [private] |
uint8_t ariba::overlay::OverlayMsg::type [private] |
Definition at line 68 of file OverlayMsg.h.