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) |
![]() | |
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) |
![]() | |
BaseRouter & | operator* () |
Additional Inherited Members | |
![]() | |
enum | CALLBACK_ACTION { ROUTE_CALLBACK_FORWARDED = 0, ROUTE_CALLBACK_ABORTED = 1, ROUTE_CALLBACK_REJECTED = 2, ROUTE_CALLBACK_DELETED = 3 } |
![]() | |
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().