IBR-DTNSuite
0.10
|
#include <NodeHandshakeExtension.h>
Public Member Functions | |
NodeHandshakeExtension () | |
virtual | ~NodeHandshakeExtension () |
void | notify (const dtn::core::Event *evt) throw () |
void | componentUp () throw () |
void | componentDown () throw () |
void | doHandshake (const dtn::data::EID &eid) |
void | requestHandshake (const dtn::data::EID &destination, NodeHandshake &request) const |
void | responseHandshake (const dtn::data::EID &source, const NodeHandshake &request, NodeHandshake &answer) |
void | processHandshake (const dtn::data::EID &source, NodeHandshake &answer) |
Public Member Functions inherited from dtn::routing::RoutingExtension | |
RoutingExtension () | |
virtual | ~RoutingExtension ()=0 |
void | transferTo (const dtn::data::EID &destination, const dtn::data::MetaBundle &meta) |
Protected Member Functions | |
void | processHandshake (const dtn::data::Bundle &bundle) |
Protected Member Functions inherited from dtn::routing::RoutingExtension | |
BaseRouter & | operator* () |
Additional Inherited Members | |
Public Types inherited from dtn::routing::RoutingExtension | |
enum | CALLBACK_ACTION { ROUTE_CALLBACK_FORWARDED = 0, ROUTE_CALLBACK_ABORTED = 1, ROUTE_CALLBACK_REJECTED = 2, ROUTE_CALLBACK_DELETED = 3 } |
Static Public Member Functions inherited from dtn::routing::RoutingExtension | |
static bool | isRouting (const dtn::data::EID &eid) |
Definition at line 36 of file NodeHandshakeExtension.h.
dtn::routing::NodeHandshakeExtension::NodeHandshakeExtension | ( | ) |
Definition at line 44 of file NodeHandshakeExtension.cpp.
|
virtual |
Definition at line 49 of file NodeHandshakeExtension.cpp.
|
inlinevirtual |
Implements dtn::routing::RoutingExtension.
Definition at line 46 of file NodeHandshakeExtension.h.
Referenced by dtn::routing::BaseRouter::extensionsDown().
|
inlinevirtual |
Implements dtn::routing::RoutingExtension.
Definition at line 45 of file NodeHandshakeExtension.h.
Referenced by dtn::routing::BaseRouter::extensionsUp().
void dtn::routing::NodeHandshakeExtension::doHandshake | ( | const dtn::data::EID & | eid | ) |
Definition at line 176 of file NodeHandshakeExtension.cpp.
Referenced by dtn::routing::BaseRouter::doHandshake().
|
virtual |
Implements dtn::routing::RoutingExtension.
Definition at line 181 of file NodeHandshakeExtension.cpp.
References dtn::core::NodeEvent::getAction(), dtn::core::Node::getEID(), dtn::core::NodeEvent::getNode(), and dtn::core::NODE_UNAVAILABLE.
|
virtual |
Update the neighbor database with the received filter. The filter was sent by the owner, so we assign the contained summary vector to the EID of the sender of this bundle.
Reimplemented from dtn::routing::RoutingExtension.
Definition at line 85 of file NodeHandshakeExtension.cpp.
References dtn::core::BUNDLE_DELETED, dtn::routing::NeighborDatabase::create(), dtn::data::MetaBundle::destination, dtn::data::PrimaryBlock::DESTINATION_IS_SINGLETON, dtn::data::MetaBundle::get(), dtn::storage::BundleStorage::get(), dtn::routing::NodeHandshake::get(), dtn::data::BundleSet::getBloomFilter(), dtn::routing::NodeHandshake::getLifetime(), dtn::data::EID::getNode(), dtn::data::EID::getString(), dtn::routing::BloomFilterSummaryVector::getVector(), dtn::routing::BloomFilterPurgeVector::getVector(), IBRCOMMON_LOGGER_DEBUG_TAG, IBRCOMMON_LOGGER_ENDL, dtn::core::BundleCore::local, dtn::core::BundleEvent::raise(), dtn::storage::BundleStorage::remove(), and dtn::data::BundleID::toString().
Referenced by dtn::routing::BaseRouter::processHandshake().
|
protected |
Definition at line 283 of file NodeHandshakeExtension.cpp.
References dtn::data::PrimaryBlock::destination, dtn::data::PrimaryBlock::DESTINATION_IS_SINGLETON, dtn::data::Bundle::find(), dtn::data::PayloadBlock::getBLOB(), dtn::data::EID::getNode(), dtn::data::EID::getString(), dtn::routing::NodeHandshake::getType(), dtn::routing::NodeHandshakeEvent::HANDSHAKE_COMPLETED, dtn::routing::NodeHandshakeEvent::HANDSHAKE_REPLIED, dtn::routing::NodeHandshake::HANDSHAKE_REQUEST, dtn::routing::NodeHandshake::HANDSHAKE_RESPONSE, IBRCOMMON_LOGGER_DEBUG_TAG, IBRCOMMON_LOGGER_ENDL, ibrcommon::BLOB::iostream::iostream(), dtn::data::PrimaryBlock::lifetime, dtn::data::PrimaryBlock::PRIORITY_BIT1, dtn::data::PrimaryBlock::PRIORITY_BIT2, dtn::data::Bundle::push_back(), dtn::data::Bundle::push_front(), dtn::routing::NodeHandshakeEvent::raiseEvent(), dtn::data::PrimaryBlock::set(), dtn::data::ScopeControlHopLimitBlock::setLimit(), dtn::data::PrimaryBlock::source, and dtn::routing::NodeHandshake::toString().
|
virtual |
Reimplemented from dtn::routing::RoutingExtension.
Definition at line 53 of file NodeHandshakeExtension.cpp.
References dtn::routing::NodeHandshake::addRequest(), and dtn::routing::BloomFilterPurgeVector::identifier.
Referenced by dtn::routing::BaseRouter::requestHandshake().
|
virtual |
Reimplemented from dtn::routing::RoutingExtension.
Definition at line 58 of file NodeHandshakeExtension.cpp.
References dtn::routing::NodeHandshake::addItem(), dtn::routing::NodeHandshake::hasRequest(), dtn::routing::BloomFilterSummaryVector::identifier, and dtn::routing::BloomFilterPurgeVector::identifier.
Referenced by dtn::routing::BaseRouter::responseHandshake().