IBR-DTN
1.0.0
|
#include <NodeHandshakeExtension.h>
Protected Member Functions | |
void | processHandshake (const dtn::data::Bundle &bundle) |
![]() | |
void | transferTo (const dtn::data::EID &destination, const dtn::data::MetaBundle &meta, const dtn::core::Node::Protocol) |
BaseRouter & | operator* () |
Definition at line 38 of file NodeHandshakeExtension.h.
dtn::routing::NodeHandshakeExtension::NodeHandshakeExtension | ( | ) |
Definition at line 45 of file NodeHandshakeExtension.cpp.
|
virtual |
Definition at line 50 of file NodeHandshakeExtension.cpp.
|
virtual |
Implements dtn::routing::RoutingExtension.
Definition at line 192 of file NodeHandshakeExtension.cpp.
References dtn::core::EventDispatcher< E >::remove().
Referenced by dtn::routing::BaseRouter::extensionsDown().
|
virtual |
Implements dtn::routing::RoutingExtension.
Definition at line 187 of file NodeHandshakeExtension.cpp.
References dtn::core::EventDispatcher< E >::add().
Referenced by dtn::routing::BaseRouter::extensionsUp().
void dtn::routing::NodeHandshakeExtension::doHandshake | ( | const dtn::data::EID & | eid | ) |
Definition at line 177 of file NodeHandshakeExtension.cpp.
Referenced by dtn::routing::BaseRouter::doHandshake().
|
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 86 of file NodeHandshakeExtension.cpp.
References dtn::core::BUNDLE_DELETED, dtn::data::MetaBundle::destination, dtn::data::PrimaryBlock::DESTINATION_IS_SINGLETON, dtn::data::MetaBundle::get(), dtn::storage::BundleStorage::get(), dtn::routing::NodeHandshake::get(), dtn::routing::NeighborDatabase::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(), dtn::data::BundleID::isIn(), 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 341 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::routing::NodeHandshake::getRequests(), dtn::data::EID::getString(), dtn::routing::NodeHandshake::getType(), dtn::routing::NodeHandshakeEvent::HANDSHAKE_COMPLETED, dtn::routing::NodeHandshake::HANDSHAKE_NOTIFICATION, dtn::routing::NodeHandshakeEvent::HANDSHAKE_REPLIED, dtn::routing::NodeHandshake::HANDSHAKE_REQUEST, dtn::routing::NodeHandshake::HANDSHAKE_RESPONSE, dtn::routing::NodeHandshake::hasRequest(), dtn::data::PrimaryBlock::IBRDTN_REQUEST_COMPRESSION, 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::BundleID::source, and dtn::routing::NodeHandshake::toString().
void dtn::routing::NodeHandshakeExtension::pushHandshakeUpdated | ( | const NodeHandshakeItem::IDENTIFIER | id | ) |
Definition at line 182 of file NodeHandshakeExtension.cpp.
Referenced by dtn::routing::BaseRouter::pushHandshakeUpdated().
|
virtual |
Implements dtn::core::EventReceiver< dtn::core::NodeEvent >.
Definition at line 197 of file NodeHandshakeExtension.cpp.
References dtn::core::Node::getEID(), and dtn::core::NODE_UNAVAILABLE.
|
virtual |
Reimplemented from dtn::routing::RoutingExtension.
Definition at line 54 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 59 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().